🗃️ Работа с файлами в Linux

Структура каталогов, создание, копирование, поиск, архивы, диски, ссылки, rsync.

Шпаргалки · Администрирование · #linux #files #filesystem #terminal

Структура каталогов

Путь Назначение
/ корень
/home домашние папки пользователей
/root домашняя папка root
/etc конфигурация
/var изменяемые данные: логи (/var/log), кэши, БД
/usr программы и библиотеки
/bin, /sbin основные команды
/tmp временные файлы
/opt сторонние приложения
/dev, /proc, /sys устройства и информация о ядре
/mnt, /media точки монтирования

Базовые операции

ls -lah               pwd                cd /path
mkdir -p a/b/c        touch f.txt        cp -a src dst
mv old new            rm -i f            rm -rf dir      # осторожно
cat f; less f; head -20 f; tail -f log
file f; stat f; wc -l f

Поиск

find /var -name "*.log" -size +50M -mtime +30
find . -type f -name "*.tmp" -delete
find . -type f -exec chmod 644 {} +
locate name          # быстрый поиск по индексу (updatedb)
grep -rIn "text" /etc

Ссылки

ln -s /path/target link        # символическая (как ярлык)
ln file hard                   # жёсткая ссылка (тот же inode)
readlink -f link

Архивы и сжатие

tar -czf a.tar.gz dir/         tar -xzf a.tar.gz -C /dest
tar -cJf a.tar.xz dir/         tar -tf a.tar.gz       # содержимое
gzip f; gunzip f.gz; zip -r a.zip d; unzip a.zip; 7z a a.7z d

Копирование и синхронизация

rsync -avh --progress src/ user@host:/dst/
rsync -avh --delete src/ dst/              # зеркало: удалит лишнее в dst
scp file user@host:/path
dd if=/dev/zero of=big.img bs=1M count=100

Слэш в src/ важен: с ним копируется содержимое, без него сама папка.

Диски и монтирование

lsblk -f; df -hT; du -sh /var/* | sort -h
sudo mount /dev/sdb1 /mnt;  sudo umount /mnt
sudo fdisk -l;  sudo mkfs.ext4 /dev/sdb1
blkid                                      # UUID разделов

Автомонтирование: /etc/fstab (UUID=… /data ext4 defaults 0 2), проверка sudo mount -a.

Просмотр использования места

du -h --max-depth=1 / 2>/dev/null | sort -h
ncdu /var                                   # интерактивно
lsof +D /dir                                # кто держит файлы

Текст в файлах

sed -i 's/old/new/g' f, awk -F, '{print $2}' f, sort -u, diff a b, cmp a b, tee, xargs.

Внимание: rm -rf и dd необратимы. Проверяйте путь и диск (lsblk) перед выполнением.