Не бойся командной строки: 15 базовых команд Linux-сервера.
25 Aug 2025, 16:30:41
Страх перед "чёрным экраном с буквами" - главный барьер для нового пользователя ОС на базе Linux. Однако опытный пользователь знает, что командная строка - это главное преимущество Linux, которое даёт ему пресловутую гибкость, скорость и огромные возможности автоматизации. Большинство выделенных и виртуальных серверов используют именно системы на ядре Linux не просто так. В этой статье мы рассмотрим 15 самых популярных команд, которые будут полезны для новоиспечённого обладателя сервера на Debian, Ubuntu, AlmaLinux, CentOS или любом другом Linux-дистрибутиве.Все команды выполняются на виртуальном сервере, к которому можно подключиться через терминал с помощью утилиты SSH (MacOS, Linux) или SSH-клиента (Putty, Hyper, MobaXterm).
1. cd - перейти в директорию
Подключившись к серверу по SSH вы попадаете в домашнюю директорию вашего пользователя. Однако редко это та же директория, где расположены файлы самого сайта. Для того чтобы перейти в конкретную директорию воспользуемся командой cd:cd /path/to/dir
В примере это директория домена:
Полезные примеры:
- cd - - вернуться в прошлую директорию;
- cd .. - перейти в родительскую директорию, директорию выше;
- cd ~ - перейти в домашнюю директорию пользователя.
2. ls - просмотр содержимого директории
Команда отображает содержимое указанной директории. Если директория не указана - содержимое текущей директории:ls -lahS
Популярные флаги:- -l - длинный список (права, владелец, группа, размер, время создания и сам файл/директория);
- -a - отображать скрытые файлы (начинаются с точки .);
- -h - удобное для человека отображение размера файла;
- -S - сортировка по размеру (большие файлы сверху);
- -t - сортировка по времени (новые файлы сверху).

3. pwd - где я нахожусь?
Иногда в скриптах необходимо указать полный путь к директории. Простая команда для вывода полного пути текущей директории:pwd

4. mkdir - создать директорию
Команда создаёт новую директорию. В примере это директория newPath в директории modules, которую также создаём автоматически:mkdir -p modules/newPath
Популярные флаги:- -p - создать вложенные директории, в случае их отсутствия.

5. rm - удаление
Команда удаляет файлы и директории. В примере удаляем директорию newPath, которую создали ранее:rm -rf modules/newPath
Популярные флаги:- -i - запрашивать подтверждение на удаление;
- -r - рекурсивное удаление, удаление каталога;
- -f - принудительное удаление (без вопросов).

6. cp - копировать файлы и директории
Базовая команда для копирования файлов и директорий, в том числе рекурсивно. В примере копируем директорию wp-content в wp-content_backup с сохранением всех прав:cp -ar wp-content/ wp-content_backup/

Или можем скопировать только один файл index.php в директорию wp-content_backup:
cp -av index.php wp-content_backup/

Популярные флаги:
- -a - сохранить атрибуты файлов;
- -r - копировать рекурсивно (директорию);
- -i - запрашивать подтверждение в случае перезаписи файла;
- -v - подробный вывод информации о ходе копирования.
7. mv - перенести или переименовать
Команда перемещает файлы и директории, а также меняет их имя. Переименуем файл index.php в index_old.php:mv -iv index.php index_old.php

Также можем переместить новый файл в директорию wp-content_backup:
mv -iv index_old.php wp-content_backup/

Популярные флаги:
- -i - запрашивать подтверждение при перезаписи;
- -v - подробный вывод информации о ходе выполнения.
8. grep - найти нужные строки
Ранее мы уже использовали утилиту grep для поиска и выделения цветом конкретного слова из вывода команды ls. Однако утилита имеет гораздо больше возможностей и очень часто используется для рекурсивного поиска конкретной строки по множеству файлов и директорий. Для примера найдём файл, в котором содержится конфигурация Nginx для домена domain.com:grep -ri "domain.com" /etc/nginx
Поиск завершился успехом, мы получили файл и строку вхождения:
Как мы уже видели ранее, grep хорошо работает не только с файлами, но и с выводом команд. Для примера отфильтруем вывод команды ps, показав только процессы Nginx и MariaDB, также включим подсветку совпадений:
ps aux | grep --color=auto -E "(nginx|mariadb)"

Популярные флаги:
- -i - игнорировать регистр при поиске;
- -n - выводить номера строк;
- -r - рекурсивный поиск по директориям;
- -v - инверсивный поиск (вывод строк не совпавших с поисковым выражением);
- -E - использовать расширенные регулярные выражения;
- --color=auto - включает подсветку совпадений.
9. tail - незаменимый инструмент просмотра лог-файлов
Утилита используется для вывода последних строк файла, а также для просмотра изменений файла в реальном времени. Полезна при работе с лог-файлами:tail -5 dpkg.log
Выводит 5 последних строк указанного файла. В примере dpkg.log:
Популярные флаги:
- -n - выводить указанное количество строк конца файла. Аналог -[NUM].
- -f - "следить" за содержимым файла в реальном времени.
10. head - обратный аналог tail
Самые актуальные данные пишутся в конец лог-файла. Однако иногда нам необходимо знать когда начался лог-файл. Утилита head выводит заданное количество строк с начала файла. В примере выводим первую строку лог-файла dpkg.log:head -1 dpkg.log

- -n - выводить указанное количество строк с начала файла. Аналог -[NUM].
11. find - продвинутый поиск файлов
Утилита find используется для поиска файлов по маске, имени, типу, размеру, дате. Является мощным инструментом для автоматизации многих процессов управления сервером и заслуживает отдельной статьи, но мы рассмотрим только самые популярные параметры.Для примера найдём все файлы с расширением .jpg в текущей и дочерних директориях:
find . -type f -name "*.jpg"
Так как вывод будет огромным, для удобства мы просто посчитаем найденные файлы с помощью утилиты wc -l:
Команда нашла 170 файлов формата jpg в директории сайта. Этого уже неплохо, но вся суть утилиты find в её различных фильтрах. К нашему поиску мы добавим новое условие - файлы должны быть более 300 килобайт:
find . -type f -name "*.jpg" -size +300k
Получаем всего 6 файлов и можем посмотреть вывод полностью:
Но и это ещё не всё. Самая главная функция find - это возможность выполнить указанную команду над каждым найденным файлом или директорией. Для примера мы выполним команду ls -lh для каждого найденного файла, но в реальных задачах это может быть что угодно, даже ваши собственные скрипты:
find . -type f -name "*.jpg" -size +300k -exec ls -lh {} \;

Популярные флаги:
- -type f - тип объекта для поиска (f - файл, d - директория);
- -name "*.jpg" - имя, маска имени файла;
- -size +300k - поиск файлов больше(+) или меньше(-) указанного размера(k, M, G);
- -print - вывод результатов поиска;
- -delete - удаление найденных файлов;
- -exec [CMD] {} \; - выполнить команду [CMD] для каждого найденного файла;
12. chmod - управление правами доступа
Утилита управления правами доступа к файлам и каталогам. Большинство web-мастеров привыкли к цифровому обозначению прав, где используется число из трёх цифр:- Владелец (u)
- Группа (g)
- Остальные (o)
- Чтение (r) = 4
- Запись (w) = 2
- Исполнение (x) = 1
- 6 = 4 (r) + 2 (w). Владелец имеет права на чтение и запись (редактирование) файла;
- 4 = 4 (r). Пользователи из группы файла могут только читать файл;
- 4 = 4 (r). Все остальные могут только читать файл.
chmod 644 index.php

Пользователи Linux привыкли к более удобному обозначению прав и ролей - буквенному (буквенные обозначения прав указаны в скобочках). В нём установка прав 644 для файла выглядит так:
chmod u+rw,g+r,o+r index.php
Мы буквально добавили (+) пользователю (u) права на чтение (r) и запись (w), группе (g) права на чтение (r), остальным (o) также на чтение (r):
Чтобы убрать (-) или задать конкретные права (=) необходимо использовать ту же логику. Убираем право на чтение (r) для всех остальных (o):
chmod o-r index.php

Задаём новые конкретные права для пользователя (u) на исполнение (x), чтение (r) и запись (w):
chmod u=rwx index.php

Полезные флаги:
- -R - рекурсивное применение прав для директории и содержимого.
13. chown - изменить пользователя и группу файла
Получая root-доступ к новому серверу некоторые пользователи загружают файлы сайта именно под пользователем root. Однако выполнение скриптов сайта от имени пользователя root опасно для всего сервера. С помощью простой команды chown можно изменить пользователя и группу для всей директории сайта рекурсивно:chown -R user01:user01 /path/to/dir
- -R - рекурсивное выполнение операции.

14. df - свободное место на диске
Утилита df показывает информацию о примонтированных разделах на сервере и используемом пространстве на них.df -Th
- -T - вывод типа файловой системы;
- -h - удобное для человека отображение единиц измерения.

15. du - узнать размер директорий и файлов
В отличие от df, который берёт информацию из файловой системы, du делает замеры непосредственно обрабатываемых файлов.С помощью du мы можем узнать размер конкретной директории:
du -sh /var/www

Или каждой директории и файла в ней отдельно:
du -sh /var/www/*

Популярные флаги:
- -h - удобное для человека отображение единиц измерения;
- -s - только итог по каждому аргументу.

Однако использовать последний следует с осторожностью, если на сервере используются большие объёмы дискового пространства, так как утилита автоматически проходится по всем вложенным директориям рекурсивно.
Мы рассмотрели 15 самых популярных команд для сервера с операционной системой на базе ядра Linux. Данный список можно полноценно назвать минимальной базой, которая необходима для уверенного старта в изучении администрирования Linux. Освойте их на уровне мышечной памяти и вам больше никогда не понадобится панель управления на сервере для работы с вашими сайтами.
Если у вас возникли какие-либо трудности с выполнением данных команд на наших VPS и выделенных серверах - вы в любой момент можете обратиться в нашу техническую поддержку через систему тикетов или online-чат на сайте.