1Файлы и директории
| Команда | Что делает |
| ls -lah | Список файлов с правами, размерами и скрытыми |
| cd /var/www | Перейти в директорию |
| cd .. | На уровень выше |
| pwd | Показать текущий путь |
| cp -r src/ dst/ | Копировать директорию рекурсивно |
| mv old.txt new.txt | Переместить или переименовать |
| rm -rf dir/ | Удалить директорию со всем содержимым |
| mkdir -p a/b/c | Создать вложенные директории |
| find / -name "*.log" | Найти файлы по имени |
| find . -type f -size +100M | Файлы больше 100 МБ |
| du -sh * | Размер каждого элемента в текущей папке |
| df -h | Свободное место на дисках |
| ln -s /path/to/target link | Создать символическую ссылку |
| tar -czf archive.tar.gz dir/ | Запаковать в tar.gz |
| tar -xzf archive.tar.gz | Распаковать tar.gz |
Осторожно: rm -rf не спрашивает подтверждения и не отправляет файлы в корзину. Дважды проверьте путь, особенно если используете переменные.
2Просмотр и обработка текста
| Команда | Что делает |
| cat file.txt | Показать содержимое файла |
| less file.txt | Постраничный просмотр (выход — q) |
| tail -f /var/log/syslog | Следить за изменениями в реальном времени |
| head -n 20 file.txt | Первые 20 строк |
| grep -rn "error" /var/log/ | Рекурсивный поиск строки с номерами строк |
| grep -i "timeout" file | Поиск без учёта регистра |
| grep -v "DEBUG" file | Исключить строки, содержащие шаблон |
| sed 's/old/new/g' file | Заменить все вхождения (вывод в stdout) |
| sed -i 's/old/new/g' file | Заменить в файле «на месте» |
| awk '{print $1}' file | Вывести первое поле каждой строки |
| sort file | uniq -c | Подсчитать количество уникальных строк |
| wc -l file.txt | Количество строк в файле |
3Процессы и ресурсы
| Команда | Что делает |
| ps aux | grep nginx | Найти процессы по имени |
| top | Монитор процессов (выход — q) |
| htop | Улучшенный монитор (если установлен) |
| kill -9 1234 | Жёстко убить процесс по PID |
| kill -15 1234 | Вежливо попросить процесс завершиться (SIGTERM) |
| pkill -f "python app.py" | Убить процессы по шаблону командной строки |
| pgrep -af nginx | Показать PID и команды процессов по имени |
| free -h | Использование памяти |
| uptime | Аптайм и load average |
| lsof -i :443 | Кто занимает порт 443 |
4Сеть
| Команда | Что делает |
| ip a | Список интерфейсов и IP-адресов |
| ip r | Таблица маршрутизации |
| ss -tlnp | Слушающие TCP-порты с процессами |
| ss -tlnp | grep :443 | Кто слушает порт 443 |
| ping -c 4 1.1.1.1 | Проверить доступность (4 пакета) |
| curl -I https://example.com | Заголовки ответа по HTTPS |
| curl -v https://example.com | Полный обмен, включая TLS-рукопожатие |
| dig +short example.com | Только IP из DNS-ответа |
| traceroute 8.8.8.8 | Маршрут до узла (если установлен) |
| nc -zv host 443 | Проверить открыт ли порт 443 |
| tcpdump -i any port 443 | Сниффинг трафика на порту (нужен root) |
Совет: ss — современная замена устаревшему netstat. Флаг -p показывает процесс, -n — без резолва имён, -l — только слушающие.
5Пакеты (APT)
| Команда | Что делает |
| apt update | Обновить индексы пакетов |
| apt upgrade -y | Обновить установленные пакеты |
| apt install nginx | Установить пакет |
| apt remove nginx | Удалить пакет (конфиги остаются) |
| apt purge nginx | Удалить вместе с конфигами |
| apt autoremove -y | Удалить ненужные зависимости |
| apt search nginx | Поиск пакета по имени |
| apt show nginx | Информация о пакете |
| dpkg -l | grep nginx | Установлен ли пакет |
| dpkg -L nginx | Файлы, которые установил пакет |
6Права и владельцы
| Команда | Что делает |
| ls -l file | Права, владелец и группа файла |
| chmod 755 script.sh | Права в числовой форме (rwxr-xr-x) |
| chmod +x script.sh | Сделать файл исполняемым |
| chmod -R 750 dir/ | Рекурсивно сменить права |
| chown user:group file | Сменить владельца и группу |
| chown -R www-data:www-data /var/www | Рекурсивно сменить владельца сайта |
| umask | Текущая маска прав для новых файлов |
| sudo -i | Получить root-шелл |
| sudo -u www-data ls | Выполнить команду от другого пользователя |
| passwd user | Сменить пароль пользователя |
Кратко о цифрах: 4 — чтение (r), 2 — запись (w), 1 — выполнение (x). Сумма по разрядам: 7 = rwx, 6 = rw-, 5 = r-x, 4 = r--. Порядок: владелец → группа → остальные. Пример: 755 = rwxr-xr-x.
7Система и службы (systemd)
| Команда | Что делает |
| systemctl status nginx | Статус службы |
| systemctl restart nginx | Перезапустить службу |
| systemctl reload nginx | Перечитать конфиг без разрыва соединений |
| systemctl enable nginx | Автозапуск при загрузке |
| systemctl disable nginx | Отключить автозапуск |
| journalctl -u nginx -n 50 | Последние 50 строк лога службы |
| journalctl -u nginx -f | Следить за логом в реальном времени |
| journalctl -xe | Последние ошибки системного журнала |
| df -h | Занятое место на дисках |
| uname -a | Версия ядра и архитектура |
| lsb_release -a | Версия дистрибутива |
| timedatectl | Часовой пояс и синхронизация времени |
| reboot | Перезагрузить сервер |
| shutdown -h now | Выключить сервер |
8SSH и файрвол
| Команда | Что делает |
| ssh user@host | Подключиться по SSH |
| ssh -p 2222 user@host | Подключиться на нестандартный порт |
| ssh-keygen -t ed25519 | Сгенерировать пару ключей Ed25519 |
| ssh-copy-id user@host | Скопировать публичный ключ на сервер |
| ssh -L 8080:localhost:80 user@host | Локальный порт-форвардинг (туннель) |
| ufw status verbose | Текущие правила UFW |
| ufw allow 22/tcp | Разрешить порт |
| ufw delete allow 22/tcp | Удалить правило |
| ufw enable | Включить файрвол |
Осторожно: перед включением ufw enable убедитесь, что SSH-порт разрешён, иначе потеряете доступ к серверу.