VK Cloud

Основные команды Linux: шпаргалка для разработчика и администратора

13 октября 2026 г.
268267_007n7ek.jpg
Евгений Левашов
Автор статьи
_blog_head_15.png

Большинство облачных серверов администрируют через терминал: графического интерфейса на них нет, поэтому и логи просматривают, и сервисы перезапускают с помощью команд. Знание основных команд Linux помогает быстрее выполнять повседневные задачи и реже ошибаться при деплое, отладке и администрировании. В этой шпаргалке собрано более 70 команд, сгруппированных по задачам: навигация, работа с файлами, поиск, управление правами и процессами, работа с диском и архивами, сеть, SSH и перенаправление потоков.

Шпаргалка рассчитана на тех, кто работает с Linux нерегулярно и помнит логику команд, но забывает синтаксис. Все примеры приведены для Ubuntu 22.04 LTS. В Debian, CentOS/Rocky Linux и других дистрибутивах базовые утилиты работают так же; различия начинаются на уровне пакетных менеджеров и системных служб.

После подключения к новой машине инженер обычно проверяет текущий каталог и сведения о системе. Для этого пригодятся следующие команды Linux.

pwd # текущий каталог ls # содержимое каталога ls -la # подробный список, включая скрытые файлы ls -lh # размеры в удобном для чтения формате (K, M, G) cd /path/to/dir # перейти в каталог cd ~ # перейти в домашний каталог cd - # вернуться в предыдущий каталог cd .. # перейти на уровень выше whoami # текущий пользователь id # UID, GID и группы hostname # имя хоста uname -a # ядро, архитектура, дистрибутив uptime # время работы системы и средняя нагрузка date # текущая дата и время cal # календарь текущего месяца

Команда

cd -
возвращает в предыдущий рабочий каталог, путь к которому оболочка хранит в переменной окружения
OLDPWD
. Так удобно переключаться между каталогами с конфигурацией и логами, не набирая каждый раз длинные пути.

Флаги

ls
можно комбинировать:
ls -lah
выводит подробный список со скрытыми файлами и размерами в килобайтах и мегабайтах вместо байтов. Такой формат удобнее, когда нужно разобраться, какие файлы занимают место.

Шпаргалка: навигация

КомандаДействие
pwd
Текущий каталог
ls -la
Подробный список файлов с правами доступа, включая скрытые файлы
ls -lh
Размеры в K, M, G
cd -
Возврат в предыдущий каталог
uname -a
Ядро, архитектура, дистрибутив
uptime
Время работы системы и средняя нагрузка
id
UID, GID и группы пользователя

Создание, копирование, перемещение, удаление и просмотр файлов — базовые операции в Linux. На них приходится половина повседневных задач на сервере.

# Создание touch file.txt # создать пустой файл или обновить время модификации mkdir dir # создать каталог mkdir -p dir/sub/deep # создать всю цепочку вложенных каталогов # Копирование и перемещение cp file.txt copy.txt # скопировать файл cp -r dir/ dir_backup/ # скопировать каталог рекурсивно cp -p file.txt copy.txt # скопировать с сохранением прав и временных меток mv file.txt newname.txt # переименовать файл mv file.txt /other/dir/ # переместить файл # Удаление rm file.txt # удалить файл rm -r dir/ # удалить каталог рекурсивно rm -rf dir/ # удалить каталог без подтверждений (осторожно) rmdir emptydir/ # удалить пустой каталог # Просмотр и редактирование cat file.txt # вывести содержимое целиком less file.txt # открыть для постраничного просмотра (q — выход) head -n 20 file.txt # вывести первые 20 строк tail -n 20 file.txt # вывести последние 20 строк tail -f /var/log/syslog # следить за новыми строками в файле nano file.txt # открыть файл в редакторе nano vim file.txt # открыть файл в vim (i — вставка, :wq — сохранить и выйти)

Флаг

-p
у
mkdir
создаёт все недостающие родительские каталоги и не выдаёт ошибку, если каталоги уже существуют. Поэтому команду
mkdir -p
можно безопасно вызывать повторно в скриптах развёртывания.

Для просмотра файлов на сервере чаще всего нужны

tail -f
и
less
. Команда
tail -f
показывает новые строки лога в реальном времени: её удобно запустить в соседней вкладке во время деплоя. Команда
less
открывает файл для постраничного просмотра:
/
запускает поиск, стрелки прокручивают содержимое, а
q
завершает просмотр.

Шпаргалка: файлы и каталоги

ЗадачаКоманда
Создать цепочку каталогов
mkdir -p a/b/c
Скопировать каталог целиком
cp -r src/ dst/
Скопировать файл с сохранением прав и временных меток
cp -p file copy
Переименовать или переместить
mv old new
Удалить каталог с подтверждением
rm -ri dir/
Следить за логом в реальном времени
tail -f /var/log/syslog
Открыть большой файл для просмотра
less bigfile.log
Важно знать

У rm нет «корзины»: удалённые файлы не восстанавливаются стандартными средствами, а флаг -f отключает все подтверждения. Перед удалением каталога выполните ls по тому же пути и убедитесь, что путь верный. В интерактивной работе безопаснее rm -ri: команда спросит подтверждение по каждому объекту. Отдельная страховка — утилита trash-cli, которая перемещает файлы в корзину вместо безвозвратного удаления.

На сервере без IDE с глобальным поиском

grep
и
find
помогают находить нужные данные при отладке. Команда
grep
ищет текст в содержимом файлов, а
find
— файлы по имени и другим атрибутам.

# grep — поиск по содержимому grep "error" /var/log/syslog # строки с error grep -i "error" file.txt # без учёта регистра grep -r "TODO" ./src/ # рекурсивно по каталогу grep -n "error" file.txt # с номерами строк grep -v "debug" file.txt # строки без debug grep -c "error" file.txt # только количество совпадений grep -E "error|warn" file.txt # расширенные регулярные выражения

Флаг

-E
включает расширенные регулярные выражения (ERE), в которых операторы вроде
|
работают без экранирования. Без него поиск альтернатив пришлось бы записать как
grep "error\|warn"
.

Флаги можно комбинировать:

grep -rni "timeout" /etc/nginx/
рекурсивно найдёт все упоминания
timeout
в конфигурации, без учёта регистра и с номерами строк.

# find — поиск файлов find /home -name "*.log" # по имени find /var/log -name "*.log" -mtime -7 # изменённые за последние 7 дней find . -size +100M # файлы больше 100 МБ find . -type f -empty # пустые файлы find . -name "*.py" -exec wc -l {} \; # выполнить команду для каждого найденного файла

Команда

find
отбирает файлы по времени модификации с помощью
-mtime
, по размеру — с помощью
-size
, а через
-exec
выполняет произвольную команду для каждого результата. Сочетание
-size +100M -exec ls -lh {} \;
помогает быстро найти крупные файлы, которые занимают место на разделе.

# Подсчёт wc -l file.txt # количество строк wc -w file.txt # количество слов wc -c file.txt # размер в байтах # Сортировка и удаление дублей sort file.txt # отсортировать строки sort -r file.txt # отсортировать в обратном порядке sort -n numbers.txt # отсортировать числа sort -u file.txt # отсортировать строки и удалить дубли uniq file.txt # удалить соседние дубли uniq -c file.txt # посчитать вхождения

Частая ошибка — вызвать

uniq
без предварительной сортировки. Утилита удаляет только одинаковые строки, которые идут подряд, поэтому для подсчёта всех повторов её применяют после
sort
. Команда
sort access.log | uniq -c
сгруппирует одинаковые строки и посчитает их вхождения, а
uniq -c access.log
посчитает только повторы в соседних строках.

Шпаргалка: поиск

ЗадачаКоманда
Найти текст рекурсивно
grep -rn "text" ./dir/
Посчитать совпадения
grep -c "error" file.log
Исключить строки
grep -v "debug" file.log
Найти файлы по маске
find . -name "*.conf"
Найти файлы крупнее 100 МБ
find . -size +100M
Найти файлы, изменённые за неделю
find . -mtime -7
Посчитать частоту строк
sort file | uniq -c | sort -rn

В Linux права доступа задаются для трёх категорий: владельца файла, группы и остальных пользователей. В выводе

ls -l
они представлены десятью символами: первый обозначает тип файла, за ним идут три группы по три символа — права на чтение, запись и выполнение (
rwx
) для каждой категории.

# Просмотр прав ls -l file.txt # -rw-r--r-- 1 user group 1234 Oct 13 09:00 file.txt # ^ тип файла (- обычный файл, d каталог, l символьная ссылка) # ^^^ права владельца (rw-) # ^^^ права группы (r--) # ^^^ права остальных (r--)

Команда

chmod
меняет права доступа, заданные в числовой (восьмеричной) или символьной форме. В числовой записи каждая цифра — сумма значений прав на чтение (4), запись (2) и выполнение (1) для владельца, группы или остальных пользователей. Так получаются привычные режимы 644 и 755: 6 = 4 + 2, а 7 = 4 + 2 + 1.

# chmod — изменить права chmod 644 file.txt # rw-r--r--: читают все, изменяет только владелец chmod 755 script.sh # rwxr-xr-x: скрипт могут выполнять все chmod 600 private.key # rw-------: доступ только у владельца chmod +x script.sh # добавить право выполнения chmod -R 755 /var/www/ # изменить права рекурсивно по дереву каталогов # chown — изменить владельца chown user file.txt # сменить владельца chown user:group file.txt # сменить владельца и группу chown -R www-data /var/www/ # сменить владельца рекурсивно # sudo — выполнение с повышенными правами sudo command # выполнить команду от имени root sudo -i # открыть сессию root sudo -u user command # выполнить команду от имени другого пользователя

Символьная форма удобна, когда нужно добавить одно право, сохранив остальные:

chmod +x deploy.sh
делает скрипт исполняемым, не меняя прав на чтение и запись. Числовая форма задаёт все девять бит прав доступа сразу, поэтому в скриптах её результат предсказуемее.

Типовые режимы chmod

РежимЧисловойПрименение
rwx------
700Скрипты, доступные только владельцу
rw-------
600Приватные ключи SSH
rwxr-xr-x
755Каталоги и исполняемые файлы
rw-r--r--
644Обычные файлы и конфигурация
rwxrwxrwx
777Не использовать в production
Важно знать

Режим 777 разрешает запись и выполнение всем пользователям системы, включая тех, от имени которых работают веб-сервер и фоновые сервисы. В production такие права позволяют подменять файлы. Если приложение не работает без 777, причина почти всегда в неверно заданном владельце каталога. В этом случае нужно сменить владельца с помощью

chown
, сохранив ограничения доступа.

Команды для работы с процессами в Linux нужны, когда сервис не отвечает или на машине закончились ресурсы.

# Просмотр ps aux # показать все процессы системы ps aux | grep nginx # найти процессы nginx top # интерактивный мониторинг (q — выход) htop # улучшенный top, если установлен # Управление kill PID # отправить SIGTERM для штатного завершения kill -9 PID # отправить SIGKILL для принудительного завершения killall nginx # завершить все процессы с этим именем pkill -f "python app.py" # завершить процессы по части командной строки # Фоновый запуск command & # запустить команду в фоне jobs # показать фоновые задачи текущей сессии fg %1 # вернуть задачу 1 на передний план bg %1 # продолжить выполнение задачи 1 в фоне nohup command & # запустить команду с защитой от закрытия терминала disown %1 # отвязать задачу от терминала # Приоритет nice -n 10 command # запустить команду с пониженным приоритетом renice -n -5 PID # изменить приоритет запущенного процесса

По умолчанию

kill
отправляет сигнал SIGTERM (15). Процесс может перехватить его, закрыть соединения, сбросить буферы на диск и завершиться штатно. Сигнал SIGKILL (9), который отправляет
kill -9
, нельзя перехватить или проигнорировать: ядро немедленно завершает процесс, и незаписанные данные теряются. Сначала выполните
kill PID
и подождите несколько секунд. Если процесс остаётся зависшим, используйте
kill -9 PID
.

Команда

nohup
защищает долгую задачу от разрыва SSH-сессии: процесс игнорирует сигнал SIGHUP и продолжает работать после закрытия терминала. По умолчанию вывод записывается в файл
nohup.out
в текущем каталоге.

Шпаргалка: процессы

ЗадачаКоманда
Найти процесс по имени
ps aux | grep nginx
Следить за процессами в реальном времени
top
или
htop
Завершить процесс штатно
kill PID
Завершить процесс принудительно
kill -9 PID
Завершить процессы по шаблону командной строки
pkill -f "python app.py"
Запустить долгую задачу
nohup command &
Понизить приоритет
nice -n 10 command

Разобраться с сообщением «No space left on device» помогают две команды:

df
показывает, какой раздел заполнен, а
du
— какие каталоги занимают место.

df -h # занятое и свободное место по разделам df -h / # только корневой раздел du -sh /var/log/ # суммарный размер каталога du -sh * # размер каждого элемента в текущем каталоге du -h --max-depth=1 /var/ # размеры подкаталогов первого уровня lsblk # блочные устройства и разделы mount # смонтированные файловые системы free -h # оперативная память и swap

При переполнении диска начните с

df -h
и найдите раздел, заполненный почти на 100%. Затем проверьте размеры каталогов, например командой
du -h --max-depth=1 /var/
, и перейдите в самый объёмный. Повторяйте проверку на каждом уровне, пока не найдёте источник проблемы. Чаще всего место занимают логи без ротации или кеш пакетного менеджера.

Шпаргалка: диск и память

КомандаЧто показывает
df -h
Свободное место по разделам
du -sh dir/
Размер одного каталога
du -h --max-depth=1 /var/
Размеры подкаталогов первого уровня
lsblk
Диски и разделы
free -h
Оперативную память и swap

Команда

tar
помогает создавать бэкапы, переносить сборки между машинами и выгружать логи. Режим работы и алгоритм сжатия задаются отдельными флагами:
c
— создание архива,
x
— распаковка,
t
— просмотр содержимого;
z
— сжатие gzip,
j
— bzip2,
J
— xz.

# tar — основной инструмент tar -czf archive.tar.gz /path/to/dir/ # создать архив со сжатием gzip tar -czf archive.tar.gz -C /path dir/ # указать базовый каталог tar -xzf archive.tar.gz # распаковать архив tar -xzf archive.tar.gz -C /target/ # распаковать в заданный каталог tar -tzf archive.tar.gz # посмотреть содержимое без распаковки # Флаги tar: # c — create, x — extract, t — list # z — gzip (.gz), j — bzip2 (.bz2), J — xz (.xz) # f — файл архива, v — подробный вывод

Флаг

-C
меняет рабочий каталог перед упаковкой или распаковкой. Без него в архиве сохранится путь вида
path/to/dir
, и при распаковке вся эта структура каталогов будет воссоздана. Перед распаковкой полезно проверить содержимое командой
tar -tzf
, чтобы не пришлось разбирать файлы, попавшие в текущий каталог.

# zip/unzip — для передачи архивов на Windows zip archive.zip file1 file2 # создать ZIP-архив zip -r archive.zip dir/ # добавить каталог рекурсивно unzip archive.zip # распаковать архив unzip -l archive.zip # посмотреть содержимое # gzip/gunzip — для отдельных файлов gzip file.txt # сжать в file.txt.gz и удалить исходный файл gunzip file.txt.gz # распаковать файл gzip -k file.txt # сжать с сохранением исходного файла

Шпаргалка: архивы

ЗадачаКоманда
Создать .tar.gz
tar -czf arc.tar.gz dir/
Распаковать .tar.gz
tar -xzf arc.tar.gz
Распаковать в каталог
tar -xzf arc.tar.gz -C /target/
Посмотреть содержимое
tar -tzf arc.tar.gz
Сильнее сжать
tar -cJf arc.tar.xz dir/
Сжать один файл
gzip -k file.txt
Создать архив для Windows
zip -r arc.zip dir/

Для сетевой диагностики на сервере используют утилиты из пакета iproute2. Команды

ifconfig
и
route
из старого набора net-tools ещё встречаются в инструкциях, но в примерах ниже используется
ip
.

# Информация об интерфейсах ip a # все интерфейсы и IP-адреса ip r # таблица маршрутизации ip link show # состояние интерфейсов # Проверка доступности ping -c 4 8.8.8.8 # отправить 4 пакета и завершить работу ping6 ::1 # проверить доступность по IPv6 traceroute example.com # проследить маршрут до хоста
# curl и wget curl https://example.com # выполнить GET-запрос curl -I https://example.com # получить только заголовки ответа curl -o file.zip https://example.com/f.zip # сохранить ответ в файл curl -X POST -H "Content-Type: application/json" \ -d '{"key":"value"}' https://api.example.com/endpoint wget https://example.com/file.zip # скачать файл

Команда

curl -I
получает только заголовки ответа. Так можно быстро проверить HTTP-код, редиректы и заголовки кеширования, не загружая тело страницы.

# Порты и соединения ss -tlnp # слушающие TCP-порты и процессы ss -ulnp # то же для UDP netstat -tlnp # устаревший аналог, встречается на старых машинах lsof -i :80 # процесс, который занимает порт 80 # DNS dig example.com # подробный DNS-ответ dig +short example.com # только адрес nslookup example.com # альтернатива dig host example.com # короткий DNS-запрос

Утилита

ss
из пакета iproute2 заменяет устаревающий
netstat
для просмотра сокетов и сетевых соединений. Флаги у них похожи:
-t
выбирает TCP,
-u
— UDP,
-l
— слушающие сокеты,
-n
отключает преобразование адресов в имена, а
-p
добавляет сведения о процессах.

Шпаргалка: сеть

ЗадачаКоманда
Посмотреть IP-адреса
ip a
Посмотреть таблицу маршрутизации
ip r
Проверить доступность хоста
ping -c 4 host
Проверить HTTP-код ответа
curl -I [https://host](https://host)
Посмотреть слушающие порты
ss -tlnp
Найти процесс, который занимает порт
lsof -i :80
Узнать IP-адрес домена
dig +short example.com

SSH — основной способ работы с облачной виртуальной машиной. Через него подключаются к серверу, передают файлы и пробрасывают порты.

# Подключение ssh user@host # подключиться через порт 22 по умолчанию ssh -p 2222 user@host # подключиться через нестандартный порт ssh -i ~/.ssh/mykey.pem user@host # указать приватный ключ # Генерация ключей ssh-keygen -t ed25519 -C "comment" # создать ключ Ed25519 ssh-keygen -t rsa -b 4096 # создать ключ RSA 4096 для совместимости # Копирование публичного ключа на сервер ssh-copy-id user@host # добавить ключ в authorized_keys ssh-copy-id -i ~/.ssh/mykey.pub user@host

Для новых ключей OpenSSH рекомендует Ed25519 как современную и безопасную альтернативу RSA. RSA 4096 остаётся запасным вариантом для старого оборудования и систем, которые не поддерживают Ed25519.

# Передача файлов scp file.txt user@host:/remote/path/ # скопировать файл на сервер scp user@host:/remote/file.txt ./local/ # скопировать файл с сервера scp -r dir/ user@host:/remote/ # скопировать каталог рекурсивно rsync -avz dir/ user@host:/remote/dir/ # синхронизировать каталог rsync -avz --delete dir/ user@host:/remote/ # удалить лишние файлы в целевом каталоге

Команда

scp
при каждом запуске копирует файлы целиком. Команда
rsync
с флагами
-avz
синхронизирует их инкрементально: передаёт только изменившиеся блоки данных, сохраняет атрибуты файлов и сжимает данные при передаче. Это заметно экономит время при повторной выкладке каталога со статическими файлами.

# SSH-туннели ssh -L 5432:localhost:5432 user@host # пробросить локальный порт ssh -N -f -L 8080:localhost:80 user@host # создать туннель в фоне, без интерактивной сессии

Команда

ssh -L
открывает порт на машине администратора и перенаправляет соединения через SSH на удалённый хост. Так можно подключиться к базе данных, которая слушает только внутренний интерфейс. После запуска
ssh -L 5432:localhost:5432 user@host
клиент БД подключается к
localhost:5432
, а трафик проходит через SSH-сессию. Флаги
-N
(не выполнять команду) и
-f
(перейти в фон) позволяют запустить туннель как фоновый процесс.

Шпаргалка: SSH

ЗадачаКоманда
Подключиться с ключом
ssh -i ~/.ssh/key user@host
Подключиться через нестандартный порт
ssh -p 2222 user@host
Создать ключ
ssh-keygen -t ed25519 -C "comment"
Добавить ключ на сервер
ssh-copy-id user@host
Скопировать каталог
scp -r dir/ user@host:/path/
Синхронизировать каталог
rsync -avz dir/ user@host:/path/
Пробросить порт БД
ssh -L 5432:localhost:5432 user@host

Оболочка позволяет объединять простые утилиты для решения более сложных задач. Перенаправление записывает вывод команды в файл, а конвейер (pipe) передаёт его на вход следующей команде.

# Перенаправление вывода command > file.txt # записать stdout в файл с перезаписью command >> file.txt # дописать stdout в конец файла command 2> error.log # записать stderr в отдельный файл command > all.log 2>&1 # записать stdout и stderr в один файл # /dev/null — отбросить вывод command > /dev/null 2>&1

Оператор

>
перезаписывает файл, а
>>
добавляет вывод в конец. Для журналов и накопительных отчётов используйте
>>
: если перепутать операторы, можно стереть всю историю.

# Конвейеры cat file.txt | grep "error" | wc -l # посчитать строки с error ps aux | grep nginx | grep -v grep # найти процессы nginx без самого grep ls -la | sort -k5 -rn | head -10 # вывести 10 самых больших файлов cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20 # топ IP-адресов # xargs find . -name "*.log" | xargs rm # удалить найденные файлы find . -name "*.py" | xargs grep "TODO" # найти TODO в найденных файлах # tee — вывод в файл и на экран одновременно command | tee output.log # Подстановка команд echo "Today is $(date +%Y-%m-%d)" FILES=$(ls *.txt)

Команда

xargs
превращает данные со стандартного ввода в аргументы указанной команды. Так можно связать
find
с утилитами, которые не умеют читать список файлов из потока. Команда
tee
записывает вывод в файл и одновременно передаёт его на экран или следующей команде конвейера. Это удобно, когда нужно сохранить лог выполнения и следить за ходом работы в реальном времени.

Подробнее о потоках ввода-вывода, переменных и написании собственных сценариев — в статье «Как работает bash: разбираемся в деталях».

Шпаргалка: перенаправление

КонструкцияЧто делает
>
Записывает stdout в файл с перезаписью
>>
Дописывает stdout в конец файла
2>
Записывает stderr в файл
2>&1
Направляет stderr туда же, куда stdout
|
Передаёт вывод следующей команде
| tee file
Записывает вывод в файл и одновременно выводит на экран
$(command)
Подставляет результат команды

Bash хранит историю выполненных команд. Команда

history
выводит этот список,
!!
повторяет последнюю команду, а
!N
— команду с номером N из истории.

history # показать всю историю команд history | grep ssh # найти команды с ssh в истории !42 # выполнить команду №42 из истории !! # повторить последнюю команду sudo !! # повторить последнюю команду с sudo !ssh # повторить последнюю команду, начинавшуюся с ssh

Конструкция

sudo !!
удобна, если для выполнения команды не хватило прав: она повторяет команду с
sudo
, избавляя от повторного ввода.

Сочетание

Ctrl+R
запускает интерактивный обратный поиск по истории —
reverse-i-search
. Введите фрагмент команды, и оболочка подставит последнее совпадение. Повторные нажатия
Ctrl+R
позволяют перейти к более ранним совпадениям.

Горячие клавиши Bash

СочетаниеДействие
Ctrl+R
Интерактивный поиск по истории
Ctrl+C
Прервать выполнение
Ctrl+Z
Приостановить задачу (вернуть —
fg
)
Ctrl+D
Выйти из оболочки или передать EOF
Ctrl+L
Очистить экран, как
clear
Ctrl+A
Перейти в начало строки
Ctrl+E
Перейти в конец строки
Ctrl+W
Удалить слово перед курсором
Ctrl+U
Удалить часть строки до курсора
Tab
Дополнить ввод автоматически
Tab Tab
Показать все варианты дополнения

Классические утилиты есть в любом дистрибутиве, поэтому их нужно знать. Для повседневной работы можно установить современные альтернативы: они быстрее работают с большими репозиториями и выводят результаты в более удобном виде.

КлассикаАльтернативаВ чём разница
ls
eza
Форк exa с цветовой разметкой, иконками и статусом Git
cat
bat
Подсветка синтаксиса, нумерация строк и отображение изменений Git
find
fd
Более простой синтаксис, высокая скорость и учёт
.gitignore
grep
ripgrep
(
rg
)
Рекурсивный поиск по умолчанию и пропуск файлов из
.gitignore
top
htop
Интерактивное управление процессами и наглядное отображение нагрузки
du
dust
Наглядное отображение занятого места
curl
httpie
(
http
)
Удобный синтаксис запросов и форматирование JSON-ответов

Например,

rg "error" /var/log/
выполнит поиск быстрее, чем
grep -r "error" /var/log/
, и пропустит каталоги, перечисленные в
.gitignore
. Однако на чужом сервере эти утилиты могут быть не установлены, поэтому владеть базовым набором всё равно необходимо.

Частые вопросы про основные команды Linux

Как отменить случайно запущенную команду?

Ctrl+C
прерывает выполнение команды. Если она зависла и не реагирует,
Ctrl+Z
приостановит её и вернёт приглашение оболочки. Процесс останется в памяти; завершить его можно командой
kill %1
. Если процесс не реагирует на обычный
kill
, используйте
kill -9 PID
: сигнал SIGKILL нельзя перехватить или проигнорировать.

Как безопасно удалять файлы, чтобы случайно не стереть нужное?

Есть три способа снизить риск случайного удаления. Команда

rm -i
запрашивает подтверждение для каждого файла. Утилита
trash-cli
(
trash file.txt
) перемещает файлы в корзину вместо безвозвратного удаления. Самый простой способ — перед
rm -rf dir/
выполнить
ls dir/
, проверить содержимое каталога и убедиться, что путь указан верно. У
rm
нет механизма восстановления: удалённые файлы нельзя вернуть стандартными средствами.

Как найти, какой процесс занимает порт?

Выполните

sudo ss -tlnp | grep :80
или
sudo lsof -i :80
. В выводе будут PID и имя процесса, который слушает порт. Обе команды запускают через
sudo
, чтобы получить полную информацию о владельцах сокетов. Утилита
ss
из пакета iproute2 заменяет устаревающий
netstat
.

Чем отличается > от >>?

Оператор

>
перезаписывает файл, а
>>
добавляет вывод в конец. Для логов и накопительных отчётов используйте
>>
, иначе каждая новая запись будет стирать предыдущие.

Как выйти из vim?

Нажмите

Esc
, чтобы выйти из режима вставки, затем введите
:q!
и нажмите
Enter
— редактор закроется без сохранения изменений. Команда
:wq
сохраняет изменения и закрывает файл. Если работать именно в Vim не нужно, используйте
nano
: подсказки по клавишам отображаются внизу экрана.

Более 70 команд из этой шпаргалки покрывают почти все повседневные задачи администрирования. Регулярно понадобятся 20–30 из них: для навигации, просмотра логов, поиска, управления правами и процессами, работы с SSH. Остальные команды Linux запомнятся по мере появления задач.

Если пока забываете синтаксис, держите шпаргалку в соседней вкладке и практикуйтесь на машине, где не страшно ошибиться. Когда уверенно освоите базовые команды, переходите к написанию собственных сценариев на Bash.

Среду для практики можно подготовить за несколько минут: Cloud Servers в VK Cloud запускаются из готового образа Ubuntu или Debian с оплатой только за использованные ресурсы.

Почитать по теме

Оставьте заявку, чтобы получить консультацию

Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.

            Узнавайте о выходе новых статей в блоге первыми!

            Будем держать в курсе новостей и облачных трендов

            section-subscribe_2x.png
              section-subscribe_2x.png
              Теги: Linux, командная строка, администрирование серверов, SSH, VK Cloud
              Ссылка скопирована
              Поделиться

              Почитать по теме

              _blog_head_20.png
              10 сентября

              Git rebase vs merge: в чём разница и когда что использовать

              _blog_head_21.png
              14 октября

              n8n: автоматизация рабочих процессов и self-hosted развёртывание на ВМ и в Kubernetes

              40+ готовых сервисов