Must Have
pwd # текущая директория
ls -lh # подробный список файлов с размером в читаемом виде
ls -a # список всех файлов, включая скрытые
ls -R # рекурсивный вывод каталогов
cd /path # перейти в каталог
cd .. # на уровень вверх
cd - # назад в предыдущий каталог
tree # дерево каталогов (если установлено)
# требует установки: fd-find / tree / ripgrep / fzf
touch file.txt # создать пустой файл
mkdir -p a/b/c # создать вложенные каталоги
install -m 644 file.txt /path/ # скопировать/создать файл с заданными правами
nano file.txt # простой текстовый редактор
vim file.txt # продвинутый текстовый редактор
cat file.txt # вывести весь файл в терминал
less file.txt # удобный постраничный просмотр
head -n 20 file.txt # первые 20 строк файла
tail -n 20 file.txt # последние 20 строк файла
tail -f file.log # live просмотр логов в реальном времени
cp file1 file2 # копировать файл
cp -a dir1 dir2 # копировать каталог с сохранением прав и времени
mv file1 file2 # переместить или переименовать
rm file.txt # удалить файл
rm -rf dir # принудительно удалить каталог со всем содержимым (ОСТОРОЖНО)
rmdir empty_dir # удалить пустой каталог
ln file link # создать жесткую ссылку
ln -s file symlink # создать символическую ссылку
stat file.txt # подробная информация о файле
whoami # имя текущего пользователя
id user # UID, GID и группы конкретного пользователя
w # активные пользователи и их процессы
last # история входов в систему
adduser user # интерактивное создание пользователя (Debian/Ubuntu)
useradd -m -s /bin/bash -G sudo,devs user # создать пользователя с home, shell и добавить в группы
userdel -r user # удалить пользователя вместе с home-директорией
passwd user # сменить пароль пользователю
passwd -l user # заблокировать пароль (заморозить аккаунт)
usermod -aG devs user # добавить пользователя в дополнительную группу
usermod -s /bin/zsh user # сменить shell пользователя
groups user # группы пользователя
groupadd devs # создать группу
groupdel devs # удалить группу
gpasswd -d user devs # удалить пользователя из группы
chown user:group file.txt # сменить владельца и группу файла
chmod 644 file.txt # задать права чтения/записи (rw-r--r--)
chmod +x script.sh # сделать файл исполняемым
umask 022 # дефолтные права при создании (файлы 644 / папки 755)
cat /etc/passwd # база данных пользователей
cat /etc/group # база данных групп
getent passwd # системный источник пользователей (включая сетевые)
sudo command # выполнить команду от root
sudo -i # интерактивный root shell
visudo # безопасное редактирование файла /etc/sudoers
find /var -type f -name "*.log" -size +100M # поиск файлов по маске и размеру
find . -mtime -1 # файлы, измененные за последние сутки
find . -perm 644 # поиск по правам доступа
fd nginx /etc # быстрый современный поиск файлов (замена find)
locate file.txt # мгновенный поиск по базе (требует updatedb)
grep -rn -i "error" /var/log/ # рекурсивный поиск текста без учета регистра с номерами строк
grep -v "DEBUG" app.log # исключить строки, содержащие "DEBUG"
rg -i "error" . # ripgrep: максимально быстрый рекурсивный поиск
pgrep -l nginx # найти PID процессов по имени
lsof -i :80 # показать, кто занял 80-й порт v.1
ss -tulpn | grep :80 # показать, кто занял 80-й порт v.2
lsof file.txt # показать, какой процесс держит файл открытым
ss -ltnp # список всех слушающих TCP-портов с именами процессов
which nginx # путь к исполняемому файлу команды
type ls # показать тип команды (alias, встроенная или бинарник)
history | grep ssh # поиск команд в истории терминала
find . | fzf # интерактивный выбор файла
history | fzf # интерактивный поиск по истории команд
stat -c "%a %U %G %n" file.txt # вывести права в октальном виде, юзера и группу
namei -l /path/to/file # проверить права на всех уровнях вложенности каталогов
ls -ld /path/to/dir # проверить права только на сам каталог
sudo -u user test -r file.txt # проверить, может ли конкретный user читать файл
systemctl status nginx -l # подробный статус сервиса
systemctl is-active nginx # проверка, запущен ли сервис в данный момент
systemctl is-enabled nginx # проверка, добавлен ли сервис в автозагрузку
systemctl restart nginx # перезапуск сервиса
systemctl reload nginx # перечит конфигурации без остановки. Не все сервисы поддерживают reload, зависит от unit-файла
journalctl -u nginx -f # live-просмотр логов конкретного сервиса
journalctl -u nginx -xe # вывод последних логов сервиса с разбором ошибок
journalctl -xe # общие системные ошибки в реальном времени
dmesg -T | tail # логи ядра с человеческим временем
df -h # свободное место на дисках в понятном виде
df -i # использование inode (кол-ва файлов) на файловых системах
du -sh * # оценка размера каталогов в текущей директории
lsblk # древовидный список блочных устройств (диски, разделы)
mount | column -t # табличный вывод смонтированных файловых систем
apt install acl # Debian/Ubuntu. Иначе команды getfacl/setfacl могут не работать
getfacl file.txt # посмотреть расширенные права доступа
setfacl -m u:user:rw file.txt # дать конкретному пользователю права на файл
setfacl -b file.txt # полностью удалить все ACL-права с файла
tar -czvf archive.tar.gz folder/ # создать tar.gz архив tar -xzvf archive.tar.gz # распаковать tar.gz
tar -cvf archive.tar folder/ # создать tar (без сжатия) tar -xvf archive.tar # распаковка tar
gzip file.txt # сжать файл (заменит на file.txt.gz) gunzip file.txt.gz # распаковать gzip
zip -r archive.zip folder/ # создать zip архив unzip archive.zip # распаковать zip
xz file.txt # сильное сжатие (медленнее gzip) unxz file.txt.xz # распаковка xz
ps aux # все процессы ps aux –sort=-%mem # сортировка по памяти ps aux –sort=-%cpu # сортировка по CPU
top # базовый мониторинг процессов htop # улучшенный top (нужна установка)
kill PID # завершить процесс kill -9 PID # принудительное завершение
pkill nginx # убить процесс по имени killall nginx # убить все процессы с именем
nice -n 10 command # запуск с низким приоритетом renice 10 -p PID # изменить приоритет процесса
ip a # IP-адреса интерфейсов ip r # таблица маршрутизации ip link # сетевые интерфейсы
ping google.com # проверка доступности хоста traceroute google.com # маршрут до хоста (может требовать установки)
curl https://example.com # HTTP-запрос wget https://example.com/file # скачать файл
ss -tulpn # открытые порты и процессы netstat -tulpn # старый аналог ss (устаревший)
nslookup google.com # DNS-запрос dig google.com # расширенный DNS-анализ (bind-tools/dnsutils)
scp file user@host:/path/ # копирование по SSH ssh user@host # подключение к серверу