Перейти к основному содержимому

Основные команды в 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Временные файлы
/runPID-файлы и сокеты текущей сессии
/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-поиск
bfsfind с обходом в ширину

Права доступа

КомандаНазначение
chmod 755 файлПрава в восьмеричном виде; rwx = 7 — таблица
chown user:group файлВладелец и группа (часто через sudo)

Сеть

КомандаНазначение
ssh user@hostУдалённый вход по SSH
scp file user@host:/pathКопирование файла по SSH
curl URLHTTP-запрос, заголовки, API — примеры с разбором
wget URLСкачать файл по URL
ping hostПроверка доступности (ICMP)
traceroute hostМаршрут до хоста (на Windows — tracert)
mtr hostМаршрут и потери во времени (pathping в Windows)
dig host +shortDNS (на 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

Пакеты (по семейству дистрибутива)

МенеджерДистрибутив
aptDebian, Ubuntu
dnfFedora, RHEL 8+
yumСтарые RHEL/CentOS
zypperopenSUSE, 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>

Справочные таблицы

Содержание справочника


Важнейшие команды терминала

КомандаНазначение
lsСписок файлов
cdПереход по папкам
pwdПоказать текущую директорию
mkdirСоздать папку
rmУдалить файл или папку
cpКопировать файлы
mvПереместить или переименовать
catПросмотреть содержимое файла
nano, vimРедактирование файлов
grepПоиск по тексту
chmodИзменить права доступа
chownИзменить владельца
dfСостояние диска
duРазмер папок
top, htopМониторинг процессов
psСписок процессов
killОстановка процесса
pingПроверить соединение с хостом
curl, wgetHTTP/загрузка файлов
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 и не только

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.

bfsfind с обходом в ширину

На очень больших дисках первые совпадения появляются раньше, чем при глубинном обходе классического 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--

Права одной тройки складываются из весов:

БитСимволЗначение
4rчтение
2wзапись
1xвыполнение

Сумма даёт цифру от 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.