Файлы
-
cat — вывести файл целиком
Команда cat печатает содержимое файла в терминал и склеивает несколько файлов в один поток.
4 минcatcat -ncat -A -
mkfs — создать файловую систему
Команда mkfs создаёт на разделе пустую файловую систему ext4 или xfs; прежние данные на разделе становятся недоступны.
6 минlsblk -fmkfs.ext4mkfs.ext4 -L -
/proc: процессы и ядро в виде файлов
/proc — файловая система, в которой ядро показывает процессы (/proc/<pid>) и себя: память, load, параметры.
10 минlsgrep -Els -l -
Базовые команды с файлами
Навигация и файлы — ls, cd, cp, mv, rm, cat, less, head, tail, копипаст в терминале.
6 минls -lahcd dirpwd -
Монтирование и fstab
Подключение файловых систем, постоянное монтирование через /etc/fstab, UUID.
6 минlsblk -ffindmntblkid -
Права доступа
Модель прав Unix — чтение/запись/исполнение, владелец/группа/другие, спецбиты.
5 минls -lnamei -lchmod -
cd — смена каталога
Перемещение по файловой системе: cd, cd -, cd ~, cd .., pushd/popd, CDPATH.
3 минcd dircdpushd dir -
ls — содержимое каталога
Команда ls показывает файлы и каталоги: права, владельца, размер и время изменения, в том числе скрытые.
5 минlsls -lls -la -
mkdir — создание каталогов
Создание каталогов: -p (с родителями), -m (права сразу), вложенные {скобки}, rmdir.
3 минmkdir -pmkdir -mrmdir empty -
mc — файловый менеджер в терминале4 мин
Двухпанельный файловый менеджер в терминале: навигация, копирование, редактор, SFTP.
-
stat — метаданные файла
Полная информация о файле: размер, права, владелец, времена (atime/mtime/ctime), inode.
3 минstat filestat -cls -lc -
Loop-устройство — файл вместо диска
Loop-устройство показывает обычный файл системе как диск: его размечают, форматируют и монтируют.
4 минtruncate -slosetup -flosetup -fP -
file — тип файла
Определить, что внутри файла (текст, ELF, архив, картинка) по содержимому, а не по расширению.
3 минfile ffile -ifile -b -
namei — права на каждом шаге пути
Команда namei разбирает путь по частям и показывает тип, права и владельца каждого каталога до самого файла.
5 минnamei -lnamei -mnamei -o -
cp — копирование файлов и каталогов
Команда cp копирует файлы и каталоги: с подтверждением перезаписи, с сохранением прав и времени, рекурсивно.
5 минcpcp -rcp -a -
mv — переместить или переименовать
Команда mv переименовывает файл или каталог и переносит его в другое место; поверх существующего пишет молча.
5 минmvmv projectmv -i -
rm — удаление файлов и каталогов
Команда rm удаляет файлы и каталоги сразу и без корзины; ключи -i и -I спрашивают, -r удаляет дерево.
5 минrmrm -irm -I -
ln — символические и жёсткие ссылки
Симлинки (ln -s) и жёсткие ссылки: чем отличаются, когда что, типичные ошибки с относительными путями.
4 минln -sln -sfreadlink -f -
test, [ ] и [[ ]] — проверка условий6 мин
test и [ ] проверяют файл, строку или число и отвечают кодом: 0 — да, 1 — нет; [[ ]] — их версия в bash.
-
grep — поиск по тексту
Команда grep ищет строки по шаблону в файлах и выводе команд: регулярки, рекурсия, контекст.
3 минgrep -igrep -rngrep -v -
Место на диске: df, du, inode
Куда делось место и inode: df по разделам, du по каталогам, поиск крупных файлов и ловушки.
3 минdf -hdf -idu -xh -
Пути — basename, dirname, realpath
Разобрать путь на имя и каталог, получить абсолютный путь; устойчивый каталог скрипта.
3 минbasenamedirnamerealpath -
Шаблоны имён glob и фигурные скобки
Шаблоны имён * ? [] {}: как оболочка раскрывает их до запуска команды и чем они отличаются от регулярок.
4 минmkdir -pcpecho -
find — поиск файлов
Поиск файлов по имени, размеру, времени, правам; действия над найденным.
4 минfind -
lsof — открытые файлы и порты процессов
lsof показывает, какой процесс держит файл, порт или удалённый, но ещё открытый файл.
5 минlsof -ilsoflsof -p -
Символические и жёсткие ссылки
Разница между symlink и hard link, когда что использовать, битые ссылки.
3 минln -sln -sfnreadlink -f -
chmod / chown — права и владелец файлов
Смена прав (chmod) и владельца/группы (chown) — числовой и символьный синтаксис, umask, chgrp.
6 минchmodchownchown -R -
Файловые системы: ext4, xfs, fsck
Файловые системы: создание через mkfs, метки и UUID, проверка fsck, выбор между ext4 и xfs.
6 минlsblk -fmkfs.ext4 -Ltune2fs -m -
umask — маска новых файлов и каталогов
umask — маска процесса: какие права снять с нового файла (из 666) и каталога (из 777) при создании.
5 минumaskumask -Stouch -
Особые биты прав: setuid, setgid, sticky
Особые биты прав: setuid и setgid запускают программу с правами владельца, setgid и sticky — для общих каталогов.
6 минls -ldchmodstat -c -
tar — архивирование и распаковка файлов
Собирает файлы в архив со сжатием; архив без верхнего каталога при распаковке засыпает файлами текущую директорию.
4 минtar czftar xzftar tvzf -
Расширенные права ACL
Гибкие права сверх rwx — getfacl/setfacl, права для нескольких пользователей.
3 минgetfacl filesetfacl -msetfacl -d -
Сетевая файловая система NFS
Сетевые каталоги по NFS — экспорт на сервере, монтирование на клиенте, права.
4 минexportfs -raexportfs -vshowmount -e -
rsync — синхронизация и копирование файлов
Копирует только различия между деревьями файлов; --delete делает приёмник копией источника и удаляет в нём лишнее.
4 минrsync -avzPrsync -avznrsync -avz -
xargs — построение аргументов из потока
Превращает строки stdin в аргументы команды; без -0 имена файлов с пробелами и переводами строк ломают разбор.
3 минfind -
qemu-img — образы дисков виртуальных машин
Создание и обслуживание дисков qcow2 — overlay, конвертация, изменение размера.
5 минqemu-img infoqemu-img createqemu-img convert -
restic — резервные копии с дедупликацией
Инкрементальные шифрованные бэкапы со снимками; без пароля репозиторий не расшифровать, другого пути нет.
4 минrestic initrestic backuprestic snapshots -
diff и patch — сравнение и применение изменений
Сравнение файлов и применение патчей; сравнить конфиги, увидеть изменения.
4 минdiff -udiff -qrdiff -
wget — загрузка файлов по сети
Скачивает файлы с докачкой и рекурсией; -r без -np и -l не имеет тормозов и может зеркалить сайт целиком.
4 минwgetwget -Owget -c -
Дисковые квоты
Лимиты места и числа файлов на пользователя/группу — включение, настройка, отчёты.
3 минsetquota -uedquota -uedquota -t -
git: история правок, откат и удалённый репозиторий
Система контроля версий: кто и что поменял в файлах, как вернуть рабочую версию и обменяться правками.
13 минgit statusgit diffgit add -
GPG — шифрование и подписи
GnuPG: ключи GPG, шифрование файлов, подпись и её проверка, симметричный режим с паролем.
4 минgpg -cgpg -dgpg -e -
Dockerfile — рецепт образа и docker build
Dockerfile — рецепт образа: основа, файлы, команды сборки и запуска; docker build собирает по нему образ.
12 минdocker builddocker historydocker image -
Samba — общий доступ к файлам по SMB
SMB-сервер для общих папок, совместимых с Windows; SMB-пароль отдельный от системного, его легко забыть завести.
5 минsmbpasswd -atestparmsmbstatus