Главная / Блог / Команды Linux: шпаргалка и справочник по терминалу

Команды Linux: шпаргалка и справочник по терминалу

Команды Linux: шпаргалка и справочник по терминалу

Кратко: Linux чувствителен к регистру, а аргументы разделяются пробелами. Базовый минимум для работы: навигация – cd, pwd, ls -la; создание и удаление – mkdir -p, rm -rf, cp -r; фильтрация и поиск – grep -rn и find. Права доступа настраиваются через chmod (644 для файлов, 755 для скриптов и папок) и chown. Мониторинг ресурсов: занятый диск – df -h, свободная память – free -h, нагрузка и службы – top и systemctl restart. Проверка открытых портов – ss -tulpn. Встроенная справка: man <команда> или <команда> --help.

Мы подготовили справочник по основным командам, синтаксису и флагам терминала Linux для повседневного администрирования, работы с файлами, мониторинга ресурсов и настройки сети.

Содержание

1. Навигация и работа с файлами

Перемещение и просмотр

КомандаНазначениеКлючевые параметрыПример
pwdТекущий каталогpwd
cdСмена директории.. (вверх), ~ (домой), - (назад)cd /etc/nginx
lsСписок файлов-l (подробно), -a (скрытые), -h (читаемый размер), -t (по времени)ls -laht

Создание, копирование и удаление

touch config.txt                     # Создать пустой файл

mkdir -p /var/www/site/logs          # Создать цепочку каталогов

cp -r source_dir/ backup_dir/        # Скопировать каталог рекурсивно

mv old.txt new.txt                   # Переименовать или переместить (mv file.txt /tmp/)

rm file.txt                          # Удалить файл

rmdir empty_dir/                     # Удалить пустой каталог

rm -rf /path/to/folder/              # Удалить каталог без подтверждения (необратимо!)

Совет по безопасности: перед запуском rm -rf всегда проверяйте путь командой ls -lah /path/to/folder/.

2. Поиск данных, grep и конвейеры

Поиск файлов (find и locate)

Bash

find /var/log -name "*.log"          # Поиск по маске имени

find /var/log -type f -size +100M    # Поиск файлов крупнее 100 МБ

find /home -type f                   # Найти только файлы (-type d для каталогов)

find /tmp -mtime -7                  # Объекты, измененные за последние 7 суток

Утилита locate <имя> ищет быстрее по локальной индексной базе (updatedb), но не отображает недавно созданные файлы.

Просмотр файлов и фильтрация вывода

cat file.txt                         # Быстрый вывод содержимого файла

less /var/log/syslog                 # Постраничный просмотр с удобной навигацией

head -n 20 file.log                  # Первые 20 строк файла

tail -f file.log                     # Отслеживание новых записей в реальном времени

grep -rn "ERROR" /var/log/nginx/     # Рекурсивный поиск текста с номерами строк

grep -i "warning" app.log            # Поиск без учета регистра

grep -v "DEBUG" app.log              # Исключить строки с шаблоном

Перенаправление потоков

ОператорДействиеПример
>Запись в файл с перезаписьюls > files.txt
>>Дозапись в конец файлаecho "ok" >> status.log
<Передача содержимого на stdinsort < names.txt
|Передача вывода одной команды на вход другойps aux | grep nginx
3 уровня доступа к файловой системе

3. Права доступа и суперпользователь

Категории пользователей: владелец (user), группа (group), остальные (others).

Базовые права: чтение (r = 4), запись (w = 2), запуск/переход (x = 1).

КодСимволыДоступ для файловДоступ для каталогов
7rwxЧтение, запись, запускПолный доступ (чтение, переход внутрь, создание/удаление файлов)
6rw-Чтение и записьЧтение списка имен (без права входа cd создание файлов невозможно)
5r-xЧтение и выполнениеПросмотр списка файлов и переход внутрь (cd)
4r—Только чтениеТолько просмотр имен файлов (без атрибутов и без права cd)

chmod 755 script.sh                  # rwxr-xr-x (полные владельцу, чтение/запуск остальным)

chmod 644 config.txt                 # rw-r--r-- (чтение/запись владельцу, чтение остальным)

chmod +x script.sh                   # Добавить флаг исполнения

chown user:group file.txt            # Сменить владельца и группу

chown -R user:group /var/www/site    # Рекурсивная смена владельца

sudo <команда>                       # Выполнить команду с правами root

su -                                 # Переключиться на интерактивную сессию root

Активация за 15 минут

Виртуальные серверы VPS Linux в Москве

Изолированные ресурсы на виртуализации KVM без оверселлинга в надежном дата-центре Tier-3 с гарантированным аптаймом 99,98% и бесплатным переносом проектов.

  • Готовые образы Ubuntu, Debian, CentOS и AlmaLinux
  • Выбор дисков: быстрые NVMe, SSD или емкие HDD
  • Выделенный публичный IPv4 и порт до 200 Мбит/с
  • Базовый пакет администрирования и поддержка 24/7
Стоимость тарифов: от 391 ₽ / мес
Настроить сервер в конфигураторе

4. Мониторинг ресурсов и управление процессами

Диагностика системы

КомандаНазначениеПример использования
dfМесто на дисковых разделахdf -h
duРазмеры файлов и каталоговdu -sh * | sort -h (поиск тяжелых папок)
freeОперативная память и Swapfree -h
top / htopИнтерактивный монитор CPU/RAMtop (или htop при наличии)
uptimeВремя непрерывной работы и Load Averageuptime
unameВерсия ядра и архитектураuname -a
lscpuХарактеристики процессораlscpu

Управление процессами и службами (systemd)

pgrep nginx                          # Найти PID процесса по имени

kill 1234                            # Завершить процесс корректно (SIGTERM / 15)

kill -9 1234                         # Принудительное завершение (SIGKILL / 9)

pkill -f "python app.py"             # Завершить по названию скрипта

systemctl status nginx               # Проверить статус службы

systemctl restart nginx              # Перезапустить службу

systemctl enable --now nginx         # Добавить в автозапуск и сразу включить

journalctl -u nginx -n 50 --no-pager # Последние 50 строк лога службы при ошибке

Мониторинг ресурсов и процессы (htop / telemetry)

5. Сетевые команды и SSH

Устаревшая утилитаСовременный аналогНазначениеПример
ifconfigip aСетевые интерфейсы и IPip a
routeip rТаблица маршрутизацииip r
netstatssОткрытые порты и сокетыsudo ss -tulpn

ping -c 4 8.8.8.8                    # Проверка доступности хоста

tracepath example.com                # Трассировка сетевого маршрута

sudo ss -tulpn | grep :8080          # Узнать, какой процесс слушает порт 8080

curl -I https://example.com          # Получить HTTP-заголовки ответа

wget -c https://example.com/file.zip # Скачать файл с поддержкой докачки

ssh -p 22 user@host                  # Подключение по SSH

scp file.txt user@host:/path/        # Отправить файл на сервер

scp user@host:/path/file.txt .       # Скачать файл с сервера в текущую папку

6. Горячие клавиши терминала

ШорткатНазначениеШорткатНазначение
TabАвтодополнение путей и командCtrl + AКурсор в начало строки
Ctrl + LОчистить экран (аналог clear)Ctrl + EКурсор в конец строки
Ctrl + CПрервать выполнение (SIGINT)Ctrl + WУдалить слово перед курсором
Ctrl + ZПриостановить процесс (фоновый режим)Ctrl + UОчистить строку от курсора до начала
Ctrl + RПоиск по истории командAlt + .Вставить последний аргумент прошлой команды

7. Пакетные менеджеры и архивация

Установка ПО

sudo apt update && sudo apt install nginx   # Debian / Ubuntu

sudo dnf install nginx                      # RHEL / Rocky Linux / AlmaLinux

Работа с tar.gz

tar -czvf archive.tar.gz ./folder/          # Создать сжатый архив

tar -xzvf archive.tar.gz                    # Распаковать архив в текущую папку

Работа с zip

zip -r archive.zip folder/                  # Создать zip-архив

unzip archive.zip                           # Распаковать zip-архив


Ответы на частые вопросы

Как узнать, какой процесс занял порт?

Выполните команду sudo ss -tulpn | grep :8080. Флаг -p покажет имя процесса и его идентификатор (PID).

Как отсортировать процессы по потреблению RAM?

В утилите top нажмите Shift + M. Если установлен htop, нажмите клавишу F6 → выберите пункт MEM% и нажмите Enter.

Как найти файл по всей системе без вывода ошибок доступа?

Используйте перенаправление потока ошибок stderr в псевдоустройство:

sudo find / -name "filename.conf" 2>/dev/null.

Как посмотреть журнал сбоя службы systemd?

Выполните команду journalctl -u <имя_службы> -n 50 --no-pager или отслеживайте логи сервиса в реальном времени с помощью флага непрерывного вывода: journalctl -u <имя_службы> -f.

Почему при выполнении sudo echo … > /path/file возникает ошибка «Permission denied» и как ее обойти?

Оператор перенаправления > выполняется текущей командной оболочкой пользователя, у которой нет прав суперпользователя, даже если в начале строки стоит sudo. Чтобы записать строку в системный файл, используйте утилиту tee:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf (или sudo tee -a для дозаписи в конец файла).

Как запустить длительную команду так, чтобы она не прервалась при закрытии терминала или разрыве SSH?

Простой способ – использовать утилиту nohup, которая перехватывает сигнал отключения терминала (SIGHUP):

nohup python3 script.py > output.log 2>&1 &

Для полноценной работы с возможностью повторного подключения к сессии лучше использовать терминальный мультиплексор tmux (команда tmux, затем комбинация Ctrl + B, затем D для отключения от сессии).

loader
Продолжая пользоваться нашим веб-сайтом, Вы соглашаетесь с тем, что дата-центр Contell использует файлы "cookie" в целях хранения ваших учетных данных, параметров и предпочтений, оптимизации работы веб-сайта.