Обновить настройки cookies

Не бойся командной строки: 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В примере это директория домена:
20250825_4eYxb3PI
Полезные примеры:
  • cd - - вернуться в прошлую директорию;
  • cd .. - перейти в родительскую директорию, директорию выше;
  • cd ~ - перейти в домашнюю директорию пользователя.

2. ls - просмотр содержимого директории

Команда отображает содержимое указанной директории. Если директория не указана - содержимое текущей директории:
ls -lahSПопулярные флаги:
  • -l - длинный список (права, владелец, группа, размер, время создания и сам файл/директория);
  • -a - отображать скрытые файлы (начинаются с точки .);
  • -h - удобное для человека отображение размера файла;
  • -S - сортировка по размеру (большие файлы сверху);
  • -t - сортировка по времени (новые файлы сверху).
20250825_b5KSxIcH

3. pwd - где я нахожусь?

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

4. mkdir - создать директорию

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

5. rm - удаление

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

6. cp - копировать файлы и директории

Базовая команда для копирования файлов и директорий, в том числе рекурсивно. В примере копируем директорию wp-content в wp-content_backup с сохранением всех прав:
cp -ar wp-content/ wp-content_backup/20250825_TvoGv3CB
Или можем скопировать только один файл index.php в директорию wp-content_backup:
cp -av index.php wp-content_backup/20250825_rAJeuUQ2
Популярные флаги:
  • -a - сохранить атрибуты файлов;
  • -r - копировать рекурсивно (директорию);
  • -i - запрашивать подтверждение в случае перезаписи файла;
  • -v - подробный вывод информации о ходе копирования.

7. mv - перенести или переименовать

Команда перемещает файлы и директории, а также меняет их имя. Переименуем файл index.php в index_old.php:
mv -iv index.php index_old.php20250825_rbD1VkVu
Также можем переместить новый файл в директорию wp-content_backup:
mv -iv index_old.php wp-content_backup/20250825_z350sB0k
Популярные флаги:
  • -i - запрашивать подтверждение при перезаписи;
  • -v - подробный вывод информации о ходе выполнения.

8. grep - найти нужные строки

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

9. tail - незаменимый инструмент просмотра лог-файлов

Утилита используется для вывода последних строк файла, а также для просмотра изменений файла в реальном времени. Полезна при работе с лог-файлами:
tail -5 dpkg.logВыводит 5 последних строк указанного файла. В примере dpkg.log:
20250825_WpEngY2S
Популярные флаги:
  • -n - выводить указанное количество строк конца файла. Аналог -[NUM].
  • -f - "следить" за содержимым файла в реальном времени.

10. head - обратный аналог tail

Самые актуальные данные пишутся в конец лог-файла. Однако иногда нам необходимо знать когда начался лог-файл. Утилита head выводит заданное количество строк с начала файла. В примере выводим первую строку лог-файла dpkg.log:
head -1 dpkg.log20250825_znp4fARB
  • -n - выводить указанное количество строк с начала файла. Аналог -[NUM].

11. find - продвинутый поиск файлов

Утилита find используется для поиска файлов по маске, имени, типу, размеру, дате. Является мощным инструментом для автоматизации многих процессов управления сервером и заслуживает отдельной статьи, но мы рассмотрим только самые популярные параметры.

Для примера найдём все файлы с расширением .jpg в текущей и дочерних директориях:
find . -type f -name "*.jpg"Так как вывод будет огромным, для удобства мы просто посчитаем найденные файлы с помощью утилиты wc -l:
20250825_iuSyLjZm
Команда нашла 170 файлов формата jpg в директории сайта. Этого уже неплохо, но вся суть утилиты find в её различных фильтрах. К нашему поиску мы добавим новое условие - файлы должны быть более 300 килобайт:
find . -type f -name "*.jpg" -size +300kПолучаем всего 6 файлов и можем посмотреть вывод полностью:
20250825_v2YLPyCT
Но и это ещё не всё. Самая главная функция find - это возможность выполнить указанную команду над каждым найденным файлом или директорией. Для примера мы выполним команду ls -lh для каждого найденного файла, но в реальных задачах это может быть что угодно, даже ваши собственные скрипты:
find . -type f -name "*.jpg" -size +300k -exec ls -lh {} \;20250825_gWVsJVkp
Популярные флаги:
  • -type f - тип объекта для поиска (f - файл, d - директория);
  • -name "*.jpg" - имя, маска имени файла;
  • -size +300k - поиск файлов больше(+) или меньше(-) указанного размера(k, M, G);
  • -print - вывод результатов поиска;
  • -delete - удаление найденных файлов;
  • -exec [CMD] {} \; - выполнить команду [CMD] для каждого найденного файла;

12. chmod - управление правами доступа

Утилита управления правами доступа к файлам и каталогам. Большинство web-мастеров привыкли к цифровому обозначению прав, где используется число из трёх цифр:
  1. Владелец (u)
  2. Группа (g)
  3. Остальные (o)
Каждая из этих цифр является суммой значений прав:
  • Чтение (r) = 4
  • Запись (w) = 2
  • Исполнение (x) = 1
Например права 644 для файла это:
  • 6 = 4 (r) + 2 (w). Владелец имеет права на чтение и запись (редактирование) файла;
  • 4 = 4 (r). Пользователи из группы файла могут только читать файл;
  • 4 = 4 (r). Все остальные могут только читать файл.
Команда для установки прав 644 для указанного файла (index.php):
chmod 644 index.php20250825_3QV17YFA
Пользователи Linux привыкли к более удобному обозначению прав и ролей - буквенному (буквенные обозначения прав указаны в скобочках). В нём установка прав  644 для файла выглядит так:
chmod u+rw,g+r,o+r index.phpМы буквально добавили (+) пользователю (u) права на чтение (r) и запись (w), группе (g) права на чтение (r), остальным (o) также на чтение (r):
20250825_fp39u7bm
Чтобы убрать (-) или задать конкретные права (=) необходимо использовать ту же логику. Убираем право на чтение (r) для всех остальных (o):
chmod o-r index.php20250825_qgDvEltQ
Задаём новые конкретные права для пользователя (u) на исполнение (x), чтение (r) и запись (w):
chmod u=rwx index.php20250825_n4OzFw3s
Полезные флаги:
  • -R - рекурсивное применение прав для директории и содержимого.

13. chown - изменить пользователя и группу файла

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

14. df - свободное место на диске

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

15. du - узнать размер директорий и файлов

В отличие от df, который берёт информацию из файловой системы, du делает замеры непосредственно обрабатываемых файлов.
С помощью du мы можем узнать размер конкретной директории:
du -sh /var/www20250825_rbHVsnKP
Или каждой директории и файла в ней отдельно:
du -sh /var/www/*20250825_wo7mfmPQ
Популярные флаги:
  • -h - удобное для человека отображение единиц измерения;
  • -s - только итог по каждому аргументу.
Очень удобная утилита для определения объёмных директорий. Имеет интересный псевдографический аналог - ncdu:
20250825_JGmIKqeo
Однако использовать последний следует с осторожностью, если на сервере используются большие объёмы дискового пространства, так как утилита автоматически проходится по всем вложенным директориям рекурсивно.

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