Основные команды в Linux
Назначение
Команды, пути, службы и параметры Linux — для администрирования и работы в терминале. Учебный курс: раздел.
Краткое пояснение
Справочник по повседневным командам Linux в интерактивном терминале — файлы, текст, процессы, сеть, пакеты, права, systemd. Такой набор закрывает большинство задач в shell на сервере и в WSL. На Windows те же утилиты (ls, grep, find, …) можно получить нативно через Microsoft Coreutils (Preview, winget install Microsoft.Coreutils) — альтернатива WSL/Git Bash только для команд, без полноценного Linux; см. Windows (102) и grep на Windows. Предполагается базовое знакомство с терминалом и оболочкой; синтаксис |, >, && — в статье про знаки препинания. Примеры ориентированы на Debian/Ubuntu (apt); для Fedora/Arch смотрите таблицу менеджеров пакетов ниже.
Напоминалка — повседневные команды
Краткая шпаргалка по двенадцати блокам (как на популярных mind map по Linux). Ниже в статье — те же команды с примерами вывода. Удалённый доступ — PuTTY и SSH; углублённая диагностика сети — Сетевые подключения и диагностика; тормоза CPU, памяти и диска — Диагностика производительности Linux; разбор FHS и монтирования — Администрирование Linux; таблица rwx и восьмеричного кода — расчёт прав в Linux.
Play ITЗагрузка интерактивного демо…
Структура каталогов (FHS)
В Linux всё — одно дерево от / (корень). Перед правкой конфигов, просмотром логов или деплоем на сервер полезно помнить, где что лежит по соглашению FHS (Filesystem Hierarchy Standard).
В /bin и /sbin — исполняемые файлы, нужные системе при загрузке и администрировании (ls, cp, ip, reboot). В /etc — текстовые конфигурации служб; именно они задают поведение nginx, SSH, сети и монтирования. В /home — личные файлы пользователей; каталог /root — домашний каталог учётной записи root, отдельно от /home. Каталоги /proc, /sys и /dev — виртуальные — в них нет обычных файлов на диске, а интерфейс к процессам, железу и устройствам.
| Каталог | Назначение |
|---|---|
/ | Корень дерева |
/boot | Загрузчик, ядро, initramfs |
/bin | Базовые команды (ls, cp, cat) |
/sbin | Системные команды (ip, reboot) |
/lib, /lib64 | Библиотеки для /bin и /sbin |
/usr | Основная масса программ и библиотек (см. таблицу ниже) |
/etc | Системные конфигурации |
/var | Логи, кэши, данные служб (см. таблицу ниже) |
/tmp | Временные файлы |
/run | PID-файлы и сокеты текущей сессии |
/home | Домашние каталоги пользователей |
/root | Домашний каталог суперпользователя |
/dev | Устройства как файлы |
/proc | Виртуальная ФС — процессы и ядро |
/sys | Виртуальная ФС — железо и драйверы |
/srv | Данные сетевых служб (сайты, FTP, git-зеркала) |
/media | Автомонтирование съёмных носителей |
/mnt | Ручное временное монтирование |
/opt | Стороннее ПО вне пакетного менеджера |
Частые подкаталоги /usr и /var
| Путь | Назначение |
|---|---|
/usr/bin | Команды из пакетов дистрибутива |
/usr/sbin | Системные команды из пакетов |
/usr/lib | Библиотеки для программ в /usr |
/usr/local | ПО, установленное администратором вручную |
/usr/share | Архивы данных, документация, локали |
/var/log | Журналы (syslog, nginx, auth.log) |
/var/lib | Состояние служб (БД, Docker, кэш пакетов) |
/var/tmp | Временные файлы, переживающие перезагрузку дольше, чем /tmp |
/var/lock | Файлы блокировок (чтобы две копии службы не мешали друг другу) |
Типичные задачи: править nginx — /etc/nginx/; смотреть ошибки — tail -f /var/log/...; проект разработчика — ~/ или /home/user/. Схема иерархии и монтирование — в разделе иерархия файловой системы.
Файлы и каталоги
| Команда | Назначение |
|---|---|
ls | Список содержимого каталога |
pwd | Текущий путь |
cd путь | Переход (cd ~, cd .., cd -) |
touch файл | Пустой файл или обновление метки времени |
mkdir dir | Создать каталог (mkdir -p a/b/c) |
rmdir dir | Удалить пустой каталог |
cp src dest | Копирование (cp -r для папок) |
mv src dest | Перемещение или переименование |
rm файл | Удаление (rm -r для дерева; осторожно с -rf) |
ln -s цель ссылка | Символическая ссылка |
clear | Очистить экран терминала (Ctrl+L) |
Просмотр файлов
| Команда | Назначение |
|---|---|
cat файл | Вывести файл целиком |
less файл | Прокрутка (q — выход, /шаблон — поиск) |
head -n 10 файл | Первые строки |
tail -n 10 файл | Последние строки (tail -f — "хвост" лога) |
echo "текст" | Вывод строки (и в скриптах) |
nano файл | Простой редактор в терминале |
vim файл | Расширенный редактор (vimtutor — обучение) |
Текст и поиск
| Команда | Назначение |
|---|---|
grep "шаблон" файл | Поиск строк по шаблону |
grep -R "шаблон" . | Рекурсивно по каталогу |
rg "шаблон" . | То же, с учётом .gitignore — подробнее |
awk '{print $1}' файл | Поля по разделителю (часто пробел) |
sort файл | Сортировка строк |
diff file1 file2 | Сравнение двух файлов (diff -u — unified) |
Поиск информации
| Команда | Назначение |
|---|---|
find . -name "*.log" | Файлы по имени, типу, дате, правам |
locate имя | Быстрый поиск по индексу (sudo updatedb) |
which команда | Путь к программе в PATH |
whereis команда | Бинарник, исходники, man |
fd шаблон | Удобная альтернатива find |
fzf | Интерактивный fuzzy-поиск |
bfs | find с обходом в ширину |
Права доступа
| Команда | Назначение |
|---|---|
chmod 755 файл | Права в восьмеричном виде; rwx = 7 — таблица |
chown user:group файл | Владелец и группа (часто через sudo) |
Сеть
| Команда | Назначение |
|---|---|
ssh user@host | Удалённый вход по SSH |
scp file user@host:/path | Копирование файла по SSH |
curl URL | HTTP-запрос, заголовки, API — примеры с разбором |
wget URL | Скачать файл по URL |
ping host | Проверка доступности (ICMP) |
traceroute host | Маршрут до хоста (на Windows — tracert) |
mtr host | Маршрут и потери во времени (pathping в Windows) |
dig host +short | DNS (на Windows — nslookup) |
ip a | Адреса интерфейсов (пакет iproute2) |
ss -tulpn | Слушающие порты и процессы |
netstat -tulpn | То же (legacy, пакет net-tools) |
ifconfig | Интерфейсы (legacy; предпочтительнее ip a) |
ufw status / ufw allow 22 | Простой firewall (Ubuntu) |
iptables -L | Правила netfilter (нужен root) |
Кроссплатформенная таблица (задача → Linux/macOS → Windows → пример) — Сетевые подключения и диагностика.
Архивация
| Команда | Назначение |
|---|---|
tar -czf a.tgz dir/ | Создать .tar.gz |
tar -xzf a.tgz | Распаковать |
zip -r a.zip dir/ | ZIP-архив |
unzip a.zip | Распаковать ZIP |
Пакеты (по семейству дистрибутива)
| Менеджер | Дистрибутив |
|---|---|
apt | Debian, Ubuntu |
dnf | Fedora, RHEL 8+ |
yum | Старые RHEL/CentOS |
zypper | openSUSE, SUSE |
snap | Универсальные snap-пакеты |
Пример: sudo apt update && sudo apt install htop.
Пользователи и сессия
| Команда | Назначение |
|---|---|
whoami | Текущий пользователь |
sudo команда | Выполнить с правами root |
su - user | Сменить пользователя (login-shell) |
passwd | Сменить пароль |
useradd user | Создать учётную запись (минимально) |
adduser user | Интерактивное создание (Debian/Ubuntu) |
exit | Завершить сессию shell |
Диск и сведения о системе
| Команда | Назначение |
|---|---|
df -h | Занятость файловых систем |
du -sh dir | Размер каталога |
free -h | ОЗУ и swap |
uname -a | Ядро и архитектура |
cal | Календарь в терминале |
neofetch | Краткая "визитка" системы (пакет) |
Процессы
| Команда | Назначение |
|---|---|
ps aux | Снимок процессов |
top | Мониторинг в реальном времени |
htop | Удобнее top (отдельный пакет) |
kill PID | Сигнал процессу (kill -9 — жёстко) |
pkill имя | Завершить по имени процесса |
Управление системой (systemd)
| Команда | Назначение |
|---|---|
systemctl status svc | Статус службы |
systemctl start svc и др. | Запуск, остановка, перезапуск службы |
reboot | Перезагрузка |
shutdown -h now | Выключение сейчас |
Справка
| Команда | Назначение |
|---|---|
man команда | Руководство (manual) |
whatis команда | Однострочное описание |
which команда | Путь к исполняемому файлу в PATH |
whereis команда | Бинарник, исходники, man |
history | История команд (!N — повтор по номеру) |
rm -rf, массовый chmod и pipe в bash из интернета или от ИИ-агента — в стоп-листе Опасные скрипты.
Быстрый старт
man ls
ls --help
chmod +x script.sh
grep -r "pattern" .
ps aux
kill <pid>
Справочные таблицы
Содержание справочника
- Напоминалка — повседневные команды
- Структура каталогов Linux (FHS)
- Примеры работы с файловой системой
- Работа с текстом и поиском
- Поиск информации
- Управление процессами
- Сетевые команды
- Переменные окружения и пользователи
- Управление пакетами (на примере Debian/Ubuntu)
- Архивация
- Справка и поиск
- Алиасы
- Управление правами доступа
- Работа со службами (systemd)
- Состояние системы и дисков
- Переменные окружения
- История команд
- Архивация и распаковка
- Установка программ
- Прочие полезные команды
Важнейшие команды терминала
| Команда | Назначение |
|---|---|
ls | Список файлов |
cd | Переход по папкам |
pwd | Показать текущую директорию |
mkdir | Создать папку |
rm | Удалить файл или папку |
cp | Копировать файлы |
mv | Переместить или переименовать |
cat | Просмотреть содержимое файла |
nano, vim | Редактирование файлов |
grep | Поиск по тексту |
chmod | Изменить права доступа |
chown | Изменить владельца |
df | Состояние диска |
du | Размер папок |
top, htop | Мониторинг процессов |
ps | Список процессов |
kill | Остановка процесса |
ping | Проверить соединение с хостом |
curl, wget | HTTP/загрузка файлов |
shutdown | Выключение системы |
reboot | Перезагрузка системы |
env, printenv | Просмотр переменных окружения |
export | Установить переменную окружения |
history | История введённых команд |
man | Справка по команде |
which, find, locate | Поиск программ и файлов |
alias, unalias | Псевдонимы команд |
tar, zip, unzip | Архивация |
apt, dnf, pacman… | Установка программ |
sudo | Команда от имени root |
su | Смена пользователя |
clear | Очистить терминал |
touch | Создать пустой файл |
ln | Символическая или жёсткая ссылка |
date, timedatectl | Дата и время |
whoami, id, groups | Пользователь и группы |
passwd | Смена пароля |
systemctl | Управление службами (systemd) |
journalctl | Логи systemd |
Примеры работы с файловой системой
ls — просмотр содержимого каталога
$ ls
Documents Downloads Music Pictures Videos
lsвыводит список файлов и папок в текущем каталоге.- Флаг
-lпоказывает подробную информацию:
$ ls -l
total 20
drwxr-xr-x 2 user user 4096 Mar 10 10:00 Documents
drwxr-xr-x 3 user user 4096 Mar 11 14:22 Downloads
-rw-r--r-- 1 user user 128 Mar 12 09:15 notes.txt
Здесь:
dозначает директорию;rwx— права на чтение, запись и выполнение;user user— владелец и группа;notes.txt— обычный файл.
tree — структура каталогов с правами и владельцами
tree строит дерево каталогов, то есть показывает вложенность папок в виде иерархии. Команда полезна, когда нужно сразу увидеть не только структуру, но и параметры доступа к файлам.
$ tree -pugh -L 3 /var/www
Что показывает команда:
-p— права доступа (rwx) для каждого объекта;-u— владелец файла или каталога;-g— группа;-h— размер в человекочитаемом формате (K,M,G);-L 3— ограничение глубины дерева тремя уровнями.
Термины в этом выводе:
- владелец — пользователь, который создал файл или получил на него право владения;
- группа — набор пользователей с общими правами доступа;
- права
rwx— чтение, запись и выполнение; - глубина дерева — сколько уровней вложенности отображается в выводе.
Практические сценарии:
- проверка прав после деплоя;
- диагностика ошибки
Permission denied; - фиксация структуры проекта в документации.
Про права и chmod подробнее в разделе про права доступа, про каталоги Linux в блоке FHS.
cd — переход между каталогами
$ pwd
/home/user
$ cd Documents
$ pwd
/home/user/Documents
cd ..поднимается на уровень выше.cd ~возвращает в домашний каталог.cd /переходит в корень файловой системы.
pwd — отображение текущего пути
$ pwd
/home/user/Projects
Команда всегда выводит абсолютный путь к текущей рабочей директории.
mkdir — создание новой папки
$ mkdir my_project
$ ls
my_project
Можно создать вложенные каталоги сразу:
$ mkdir -p project/src/utils
Флаг -p позволяет создавать всю цепочку каталогов, даже если родительские не существуют.
touch — создание пустого файла
$ touch README.md
$ ls
README.md
Если файл уже существует, touch обновляет его временную метку доступа и изменения.
cp — копирование файлов и папок
$ cp notes.txt backup_notes.txt
$ ls
notes.txt backup_notes.txt
Копирование папки рекурсивно:
$ cp -r my_project my_project_backup
Флаг -r указывает на рекурсивное копирование содержимого.
mv — перемещение или переименование
$ mv old_name.txt new_name.txt
$ mv report.pdf ~/Documents/
Первая команда переименовывает файл, вторая — перемещает его в другую директорию.
rm — удаление файлов и каталогов
$ rm temp_file.txt
Удаление папки со всем содержимым:
$ rm -rf old_project/
-r— рекурсивное удаление;-f— принудительное, без запросов подтверждения.
rm -rf необратима
в WSL путь /mnt/c/... бьёт по диску Windows. Полный список ловушек (pipe в bash, Git, агент в IDE) — Опасные скрипты.
cat — вывод содержимого файла
$ cat config.json
{
"port": 8080,
"debug": true
}
Для длинных файлов удобнее использовать less или more, но cat идеален для коротких текстов.
less, head, tail — фрагменты и логи
$ head -n 5 app.log
$ tail -n 20 app.log
$ tail -f /var/log/nginx/access.log # новые строки по мере записи
$ less /var/log/syslog # прокрутка; q — выход
echo — вывод в терминал и скрипты
$ echo "Hello"
$ echo $PATH
Работа с текстом и поиском
grep — поиск по шаблону
grep сопоставляет строки с регулярным выражением (по умолчанию базовый синтаксис BRE; расширенный — флаг -E, как в egrep). Вводная статья с примерами и связью с Windows — поиск текста в файлах. Таблица ., *, ^, $, классов [...] — в справочнике RegEx; готовые команды для логов и фильтров — Regex — готовые паттерны; однострочник grep -RIn и фильтр ERROR — Bash — галерея Lab.
$ grep "error" app.log
2026-03-10 14:22:01 ERROR Connection timeout
2026-03-11 09:15:33 ERROR Invalid token
Поиск с игнорированием регистра:
$ grep -i "warning" System.log
Флаг -i делает поиск регистронезависимым.
awk, sort, diff — поля, порядок, отличия
$ awk -F: '{print $1}' /etc/passwd # первое поле, разделитель :
$ sort names.txt
$ diff -u old.conf new.conf
awk удобен в конвейерах; sort часто комбинируют с uniq (см. знаки препинания).
nano — простой текстовый редактор
$ nano script.sh
Открывается интерфейс в терминале. Управление — через нижние подсказки:
^O— сохранить (Ctrl+O);^X— выйти (Ctrl+X).
vim — мощный редактор
$ vim config.yaml
Режимы:
- обычный (normal) — навигация и команды;
- вставка (insert) — нажать
i; - выход —
Esc, затем:wqдля сохранения и выхода.
Поиск информации
Девять команд, которые закрывают большинство задач поиска в терминале: по файлам и каталогам (find, locate, fd, bfs, fzf) и по содержимому (grep, ripgrep). Обзор с таблицей — в главе Linux; поиск текста в IDE и на Windows — grep, findstr и Select-String.
| Команда | Назначение |
|---|---|
find | Поиск файлов и каталогов по имени, типу, времени изменения, правам доступа и другим параметрам |
locate | Быстрый поиск по заранее построенной базе файловой системы |
which | Путь к исполняемому файлу, который запустится из текущего PATH |
whereis | Расположение бинарника, исходников и man-страниц для команды |
grep | Поиск строк в файлах по текстовому шаблону или регулярному выражению |
fzf | Интерактивный поиск файлов и каталогов с нечётким совпадением (fuzzy search) |
fd | Быстрая альтернатива find для поиска по имени или шаблону |
bfs | Версия find с обходом в ширину (breadth-first), удобна на больших деревьях |
ripgrep (rg) | Рекурсивный поиск текста с учётом правил из .gitignore |
which, whereis, locate, find — встроенные утилиты
Где лежит исполняемый файл в PATH:
$ which python3
/usr/bin/python3
Бинарник, исходники и man-страницы пакета:
$ whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/man/man8/nginx.8.gz
Быстрый поиск по индексу (может быть устаревшим до sudo updatedb):
$ locate my_script.sh
/home/timur/scripts/my_script.sh
Точный обход дерева каталогов (медленнее, но актуально):
$ find /home -name "*.log" -type f
/home/timur/app.log
/home/timur/project/debug.log
По дате и размеру:
$ find /var/log -name "*.log" -mtime -7 # изменены за 7 дней
$ find . -type f -size +100M # файлы больше 100 МБ
fd — быстрый поиск по имени
Современная замена find для типичных сценариев. В Ubuntu пакет fd-find, команда — fdfind (или симлинк fd):
$ fd -e md . # все .md в текущем дереве
$ fd config /etc # пути, содержащие "config"
По умолчанию игнорирует скрытые каталоги и .gitignore.
bfs — find с обходом в ширину
На очень больших дисках первые совпадения появляются раньше, чем при глубинном обходе классического find:
$ bfs /home -name "*.pdf"
fzf — интерактивный выбор
Нечёткий поиск в TUI; часто подключают к списку файлов из fd или find:
$ fd . | fzf # выбрать файл из списка
$ vim "$(fd -e conf | fzf)" # открыть выбранный конфиг
ripgrep — поиск текста в проекте
$ rg "TODO" src/
$ rg -i "error" /var/log/nginx/
Уважает .gitignore, многопоточный; для одного файла или скрипта на сервере достаточно grep — см. раздел выше.
fd, fzf, bfs и ripgrep обычно ставят из репозитория (sudo apt install fd-find fzf ripgrep; bfs — пакет bfs в Debian/Ubuntu).
Управление процессами
ps — список запущенных процессов
$ ps aux | grep python
user 1234 0.1 1.2 123456 7890 ? Ssl 10:00 0:05 python3 app.py
a— все процессы;u— в формате пользователя;x— включая те, что без терминала.
top и htop — мониторинг в реальном времени
$ top
Отображает:
- загрузку CPU;
- использование памяти;
- активные процессы.
htop — улучшенная версия с цветом и возможностью управления через клавиши.
kill — завершение процесса
$ kill 1234
Если процесс не реагирует:
$ kill -9 1234
Сигнал -9 (SIGKILL) принудительно завершает процесс.
pkill — завершение по имени
$ pkill nginx
$ pkill -f "python app.py"
Сетевые команды
ping — проверка доступности хоста
$ ping -c 4 google.com
PING google.com (142.250.180.78): 56 data bytes
64 bytes from 142.250.180.78: icmp_seq=0 ttl=117 time=24.3 ms
...
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss
Флаг -c 4 ограничивает количество запросов до четырёх.
curl — получение данных из сети
$ curl https://httpbin.org/ip
{
"origin": "192.0.2.1"
}
Полезно для тестирования API, скачивания файлов, отправки запросов. Подробный разбор флагов, POST, аутентификации и скриптов — утилита curl, curl / fetch — примеры.
wget — загрузка файлов
$ wget https://example.com/document.pdf
--2026-03-12 10:30:00-- https://example.com/document.pdf
Resolving example.com... 93.184.216.34
Connecting to example.com|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 123456 (120K)
Saving to: ‘document.pdf’
ssh и scp — удалённый вход и копирование
$ ssh user@203.0.113.10
$ scp report.pdf user@203.0.113.10:/home/user/
Подробнее о клиенте на Windows — PuTTY и SSH.
ip, ss, traceroute — адреса, порты, маршрут
$ ip a
$ ss -tulpn
$ traceroute example.com
Устаревшие аналоги — ifconfig, netstat (пакет net-tools). В Windows для тех же задач — ipconfig /all, netstat -ano, tracert. Сводная таблица — справочник команд при сбоях сети.
ufw и iptables — firewall
$ sudo ufw status
$ sudo ufw allow 22/tcp
$ sudo iptables -L
На продакшене правила firewall согласуют с политикой ИБ.
Переменные окружения и пользователи
echo $HOME — вывод значения переменной
$ echo $USER
timur
$ echo $HOME
/home/timur
Имена переменных пишутся заглавными буквами по соглашению.
export — установка переменной
$ export API_KEY="secret123"
$ echo $API_KEY
secret123
Такая переменная будет доступна во всех дочерних процессах текущей сессии.
whoami, id, groups
$ whoami
timur
$ id
uid=1000(timur) gid=1000(timur) groups=1000(timur),4(adm),24(cdrom),27(sudo)
$ groups
timur adm cdrom sudo
Эти команды полезны при диагностике прав доступа.
sudo, su, useradd, passwd, exit
$ sudo apt update
$ su - deploy
$ sudo useradd -m -s /bin/bash devops
$ passwd
$ exit
На Debian/Ubuntu для интерактивного создания пользователя часто используют adduser.
Управление пакетами (на примере Debian/Ubuntu)
apt — установка программ
$ sudo apt update
$ sudo apt install git
update— обновляет список доступных пакетов;install— устанавливает указанный пакет.
Архивация
tar — создание и распаковка архивов
Создать архив:
$ tar -czvf project.tar.gz project/
c— создать;z— сжать через gzip;v— подробный вывод;f— указать имя файла.
Распаковать:
$ tar -xzvf project.tar.gz
Справка
man — справочная страница
$ man grep
Навигация — стрелками или PgUp/PgDn. Выход — q. Краткая справка в терминале: команда --help (не у всех утилит).
whatis — краткое описание из man-db
$ whatis grep
grep (1) - print lines that match patterns
Алиасы
alias / unalias — сокращения для частых команд
$ alias ll='ls -lh'
$ ll
total 12K
-rw-r--r-- 1 timur timur 128 Mar 12 11:00 notes.txt
drwxr-xr-x 2 timur timur 4.0K Mar 12 11:05 docs/
$ unalias ll
Алиас действует только в текущей сессии, пока не прописан в ~/.bashrc (или ~/.zshrc для Zsh):
echo "alias ll='ls -lh'" >> ~/.bashrc
source ~/.bashrc
Список всех алиасов: alias без аргументов.
Управление правами доступа
chmod — изменение прав на файл или каталог
$ ls -l script.sh
-rw-r--r-- 1 timur timur 0 Mar 12 11:00 script.sh
$ chmod +x script.sh
$ ls -l script.sh
-rwxr-xr-x 1 timur timur 0 Mar 12 11:00 script.sh
+x— добавляет право на выполнение для всех (владельца, группы, остальных).- Можно указывать права в числовом виде:
$ chmod 755 script.sh # rwxr-xr-x
$ chmod 644 notes.txt # rw-r--r--
Права одной тройки складываются из весов:
| Бит | Символ | Значение |
|---|---|---|
| 4 | r | чтение |
| 2 | w | запись |
| 1 | x | выполнение |
Сумма даёт цифру от 0 до 7 (7 = rwx, 5 = r-x, 6 = rw-). Три цифры — владелец, группа, остальные: chmod 765 соответствует rwxrw-r-x. Полная таблица всех восьми комбинаций, разбор строки ls -l и типичные режимы (644, 600, 700) — в разделе rwx и восьмеричный код.
Символьный режим — chmod u+x (владелец), chmod g+w (группа), chmod a+r (все), chmod o-r (убрать у остальных).
chown — смена владельца файла
$ ls -l report.pdf
-rw-r--r-- 1 timur timur 12345 Mar 12 11:05 report.pdf
$ sudo chown admin:staff report.pdf
$ ls -l report.pdf
-rw-r--r-- 1 admin staff 12345 Mar 12 11:05 report.pdf
Формат: chown пользователь:группа файл.
Работа со службами (systemd)
systemctl — управление службами
Проверить статус службы:
$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-03-12 10:00:00 MSK; 1h 5min ago
Запустить, остановить или перезапустить:
$ sudo systemctl start nginx
$ sudo systemctl stop nginx
$ sudo systemctl restart nginx
После правки /etc/nginx/ — sudo nginx -t, затем reload. Готовые фрагменты конфигов — Nginx — конфиги под задачу.
Включить автозапуск при старте системы:
$ sudo systemctl enable nginx
Отключить:
$ sudo systemctl disable nginx
journalctl — просмотр системных логов
Последние записи:
$ journalctl -n 20
Логи конкретной службы:
$ journalctl -u nginx
Следить за логами в реальном времени:
$ journalctl -u nginx -f
Состояние системы и дисков
df — информация о дисковом пространстве
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 28G 42% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
Флаг -h делает вывод "человекочитаемым" (в гигабайтах, мегабайтах).
du — размер папок и файлов
du считает, сколько места на диске занимают файлы и каталоги.
Размер текущего каталога:
$ du -sh .
2.3G .
-s— сводка (summary);-h— человекочитаемый формат.
Быстрый поиск самых больших каталогов в текущей папке:
$ du -sh * | sort -hr
Как это работает:
du -sh *выводит размер каждого элемента в текущем каталоге;sort -hrсортирует строки по размеру в обратном порядке;- самые "тяжёлые" папки оказываются вверху списка.
Если нужно учесть скрытые каталоги (.cache, .git, .local), используйте:
$ du -sh .[!.]* * 2>/dev/null | sort -hr
Что означает 2>/dev/null:
2— поток ошибок;/dev/null— специальный "пустой" файл;- конструкция убирает служебные ошибки из вывода, чтобы список размеров было проще читать.
Для проверки заполнения разделов по файловым системам используйте df -h, а для детализации внутри конкретного пути возвращайтесь к du. Подробная диагностика диска и хоста есть в диагностике производительности Linux.
free и uname — память и ядро
$ free -h
$ uname -a
Размер всех подкаталогов первого уровня:
$ du -h --max-depth=1
Переменные окружения (расширенно)
env, printenv — просмотр всех переменных
$ printenv | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Переменная PATH — список каталогов, где оболочка ищет исполняемые файлы после встроенных команд. Если "команда не найдена", проверьте echo $PATH и наличие бинарника (which имя).
export — установка переменной
$ export DB_HOST=localhost
$ echo $DB_HOST
localhost
Такие переменные видны в текущей сессии и дочерних процессах. Для постоянной настройки добавьте строки в ~/.bashrc или ~/.profile.
История команд
history — просмотр истории
$ history | tail -5
1024 ls -la
1025 cd ~/Projects
1026 git status
1027 nano README.md
1028 history
Выполнить команду по номеру:
$ !1026
Очистить историю:
$ history -c
Архивация и установка
Разделы выше уже показывали tar и apt. Здесь — zip и удаление пакетов с конфигами.
zip / unzip
$ sudo apt install zip unzip # если пакетов нет
$ zip -r project.zip project/
$ unzip project.zip
apt — удаление
$ sudo apt remove htop # пакет
$ sudo apt purge htop # пакет и конфиги
Другие менеджеры пакетов
- Fedora/RHEL:
sudo dnf install package(legacy:yum) - openSUSE:
sudo zypper install package - Arch Linux:
sudo pacman -S package - Snap:
snap install package - Flatpak:
flatpak install flathub org.gnome.Calculator
Прочие полезные команды
date и timedatectl
Текущая дата и время:
$ date
Thu Mar 12 11:30:45 MSK 2026
Изменить время (требует root):
$ sudo timedatectl set-time "2026-03-12 12:00:00"
Просмотр часового пояса:
$ timedatectl
Local time: Thu 2026-03-12 11:31:00 MSK
Universal time: Thu 2026-03-12 08:31:00 UTC
RTC time: Thu 2026-03-12 08:31:00
Time zone: Europe/Moscow (MSK, +0300)
Система clock synchronized: yes
NTP service: active
RTC in local TZ: no
shutdown и reboot
Выключить систему:
$ sudo shutdown -h now
Перезагрузить:
$ sudo reboot
Отменить запланированное выключение:
$ sudo shutdown -c
clear — очистка терминала
$ clear
Альтернатива: нажать Ctrl + L.
Ошибки
| Ситуация | Что проверить |
|---|---|
| Команда не найдена | PATH, установка пакета, alias |
| Permission denied | пользователь, группа, sudo, ACL |
| Неверная версия | см. "Совместимость", --version |
Совместимость
| Область | Примечание |
|---|---|
| Версии | актуальные LTS/стабильные релизы Linux |
| Платформы | официальная матрица поддержки вендора |
| Стандарты | RFC, ISO, спецификация API — см. таблицы выше |
Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Справочники — Справочник по HTTP-протоколу, Основные команды Windows, Основы IP-адресации, Справочник по эмодзи, Справочник по Android, Справочник по XML.