Оглавление
Введение
Представьте себе, что у вас есть универсальный инструмент для управления компьютером — командная строка Linux. Для одних пользователей она кажется пугающим черным экраном с мигающим курсором, для других — надежным рабочим инструментом. На самом деле в нескольких словах (буквально) можно заключить огромную силу: команды помогают и новичку, осваивающему основы командной строки Linux, и опытному администратору эффективно работать с системой. Особенно в серверной среде, где нет графического интерфейса, команды Linux для сервера становятся настоящей палочкой-выручалочкой. Мы подобрали самые важные команды, сгруппировали их по категориям — от базовых операций с файлами до сетевых настроек и мониторинга. Каждую команду поясним простым языком, приведем пример и укажем, когда она пригодится, добавив чуть-чуть дружеских комментариев.

Базовые команды
Начнем с базового набора, без которого работа в терминале невозможна. Эти команды — как азбука для любого, кто знакомится с Linux (и не только Linux для начинающих, но и для всех остальных!). С их помощью вы узнаете, где находитесь в файловой системе, что вокруг, и сможете перемещаться по каталогам, словно гуляете по директориям.
pwd
— показывает текущий каталог (от print working directory, «напечатать рабочий каталог»). Когда вы только открыли терминал и видите приглашение ввода, полезно понять, где вы находитесь. Командаpwd
выведет полный путь до папки, в которой вы сейчас работаете, например/home/username
. Полезно, чтобы не потеряться в дебрях файловой системы — как GPS-метка, которая всегда сообщит ваши координаты в системе.ls
— отображает список файлов и папок в текущем каталоге. Еслиpwd
— это ответ на вопрос «Где я?», тоls
отвечает на вопрос «Что у меня тут есть?». По умолчанию покажет имена объектов, а с флагом-l
(англ. long) — подробности вроде прав доступа и размера. Например,ls -l /home/username
выведет содержимое папки/home/username
со всеми деталями. Эта команда пригодится каждый раз, когда нужно разобраться, какие файлы лежат в директории, словно открываете папку в проводнике, только быстрее.cd
— перемещает вас в другой каталог (change directory). Позволяет "телепортироваться" по файловой системе. Например,cd /etc
перенесет вас в системную папку/etc
, аcd ..
поднимет на уровень выше. Вы будете использоватьcd
настолько часто, что вскоре начнете воспринимать каталоги как комнаты, между которыми можно мгновенно перемещаться. Где бы вы ни находились, одна команда — и вы уже в нужном месте.man
— открывает руководство по любым другим командам (от manual). Если забыли, как пользоваться командой или какие у нее параметры, наберитеman <имя_команды>
. Например,man ls
покажет подробную справку о командеls
. В каком-то смыслеman
— ваш персональный путеводитель или «Wiki» внутри терминала. Опытные пользователи шутят: прежде чем гуглить, попробуйman
— часто ответ уже под рукой.echo
— выводит текст или значение переменной на экран. Простая, но полезная утилита: например,echo Hello
просто напишет "Hello" в терминале. Зачем это нужно?echo
часто используют в скриптах и настройках: например,echo $PATH
покажет содержимое переменной PATH (список директорий, где система ищет программы). Представьте, вы громко повторяете команду системе, и она вас слышит и выполняет — примерно такecho
работает со строками.

Работа с файлами и каталогами
В повседневном администрировании Linux большинство задач крутится вокруг файлов: скопировать резервную копию, переместить логи, удалить старые данные, создать новую папку для проекта. Эти команды — ваши надежные помощники, как швейцарский нож: режут, копируют и упаковывают все, что нужно.
cp
— копирует файлы или директории (от copy). Вы хотите сделать резервную копию конфигурации перед изменением? Командаcp original.conf backup.conf
создаст дубликат файлаoriginal.conf
под именемbackup.conf
. Аналогично можно копировать целые папки (cp -r
для рекурсивного копирования директорий). Особенно полезнаcp
при обновлениях и экспериментах: прежде чем править файл, скопируйте его — как говорят, «семь раз отмерь, один раз отрежь».mv
— перемещает или переименовывает файлы и папки (от move). Фактически, два действия в одном: если указать другой путь, файл переедет в новое место; если путь оставить тот же, но с новым именем, произойдет переименование. Например,mv old_name.txt new_name.txt
просто сменит имя файла, аmv file.txt /home/username/docs/
перенесет файл в папку/home/username/docs
. Командаmv
незаменима при наведении порядка: разложить файлы по папкам, структурировать проекты, навести чистоту в вашем "цифровом шкафу".

rm
— удаляет файлы или директории (от remove). Команда опасная, но нужная.rm file.txt
безвозвратно удалит файлfile.txt
. Для удаления папки вместе с содержимым используется флаг-r
(рекурсивно), напримерrm -r old_folder
. Будьте осторожны: система не спрашивает «ты уверен?» при обычном использованииrm
. Поэтому есть шутка: у системного администратора дрогнула рука — и одна команда снесла полсистемы. Всегда дважды проверяйте, что именно удаляете, особенно работая с правами суперпользователя.mkdir
— создаёт новый каталог (от make directory). Например,mkdir new_project
создаст папку с именем new_project в текущем расположении. Полезно, когда нужно подготовить структуру каталогов для нового проекта или разделить данные. Эта команда — как открыть новую папку в шкафу для новых документов. Есть и обратная ей командаrmdir
для удаления пустых директорий, но чаще папки удаляют с помощьюrm -r
.touch
— создает пустой файл или обновляет время изменения существующего. Звучит странно: «потрогать» файл. На практикеtouch newfile.txt
мгновенно создаст пустой файл с указанным именем. Если файл уже есть, команда просто обновит отметку времени (будто вы к нему прикоснулись).touch
удобна, когда нужно быстро подготовить несколько пустых файлов или обновить timestamp. Это как положить чистые листы бумаги на стол — подготовка перед началом работы.
Готовы перейти на современную серверную инфраструктуру?
В King Servers мы предлагаем серверы как на AMD EPYC, так и на Intel Xeon, с гибкими конфигурациями под любые задачи — от виртуализации и веб-хостинга до S3-хранилищ и кластеров хранения данных.
- S3-совместимое хранилище для резервных копий
- Панель управления, API, масштабируемость
- Поддержку 24/7 и помощь в выборе конфигурации
Результат регистрации
...
Создайте аккаунт
Быстрая регистрация для доступа к инфраструктуре
Просмотр и обработка текста
Работа сервера и системы отражается в тексте: конфигурационные файлы, журналы (логи), выводы команд. Умение быстро посмотреть содержимое файла или найти нужную строчку сэкономит массу времени. Эти команды — словно ваши инструменты поиска и чтения: от простого «показать всё» до «найти иголку в стоге сена» в большом логе.
cat
— выводит содержимое файла на экран (от concatenate, «объединять»). Проще говоря, cat считывает файл и печатает его текст. Например,cat /etc/hostname
покажет вам имя вашего компьютера (сервера), хранящееся в этом файле. Если передать несколько файлов,cat
выведет их один за другим (отсюда и название). Команда полезна, когда нужно быстро глянуть небольшой файл или склеить несколько файлов вместе. Но будьте готовы: большие файлы пронесутся перед глазами мгновенно, как лента — не успеете прочитать.less
— постраничный просмотр содержимого файла. В отличие отcat
, утилита less позволяет удобно пролистывать текст вверх-вниз, а не выбрасывает весь вывод сразу. Откройте лог командойless /var/log/syslog
— и вы сможете Page Down/Page Up читать его, как книгу, или искать внутри по нажатию/
. Названиеless
намекает: "меньше выводи, да лучше показывай". Когда файл большой (сотни строк и более),less
— ваш лучший друг для чтения. Маленькая хитрость: нажмитеQ
, чтобы выйти изless
и вернуться в командную строку.head
иtail
— показывают начало или конец файла, соответственно. head по умолчанию выводит первые 10 строк, tail — последние 10. Например,head -n 5 error.log
покажет первые 5 строк журнала ошибок, аtail -n 20 error.log
— 20 последних строк.tail -f error.log
— особый режим: будет выводить новые строки файла в реальном времени (следить за дополнением лога, follow). Так администратор может вживую наблюдать, что происходит в системе, как врач по пульсу. Эти команды помогают быстро оценить содержимое файла: например, убедиться, тот ли это файл, или посмотреть свежие записи лога, не открывая весь файл целиком.grep
— ищет по тексту совпадения с шаблоном. Если нужно найти конкретное слово или фразу в файле (или даже в выводе другой команды), выручит grep. Например,grep "ERROR" /var/log/syslog
покажет все строки, где встречается слово "ERROR" в системном логе. Это как Ctrl+F, но для консоли и целых файлов: grep быстро находит "иголку" в текстовом "стоге сена". Команда незаменима при анализе логов, конфигураций или вывода других утилит. Вы можете комбинировать ее с другими командами через|
(конвейер), позволяя автоматически фильтровать информацию — ощущение, будто у вас есть свой поисковый робот в терминале.

Сетевые команды
Настройка сети и работа с удаленными системами — неотъемлемая часть работы с серверами. Здесь мы познакомимся с командами, которые позволяют проверять соединение, получать сетевую информацию и безопасно подключаться к другим машинам. В современном администрировании Linux без этих команд никуда: они как телефон, карта и курьер, объединенные для вашего сервера.
ping
— проверяет доступность узла в сети. Если нужно узнать, отвечает ли сервер (или любой компьютер) по определенному адресу, отправьте ему "эхо-запрос" командойping
. Например,ping google.com
начнет отправлять пакеты на google.com и показывать время отклика. По сути, вы как бы говорите "Привет, ты там?" — и ждете ответа. Ping помогает диагностировать сеть: понять, в порядке ли соединение, есть ли задержки или потери. Прекратить ping можно сочетанием клавиш Ctrl+C. Когда сервер не отвечает на ping, это как если в трубке телефона тишина — повод проверить, все ли в порядке с сетью или адресом.ifconfig
/ip
— отображают настройки сетевых интерфейсов. ifconfig (interface config) – старая, но все еще широко известная команда, показывающая IP-адреса и другие параметры сетевых карт. В новых дистрибутивах ей на смену пришла команда ip (с подкомандойaddr
илиa
для показа адресов). Запустивip a
, вы увидите, какой адрес имеет ваша машина в локальной сети, активен ли интерфейс и прочие детали. Эта информация нужна, чтобы понимать, к какой сети вы подключены и какие адреса на сервере задействованы – своего рода визитная карточка вашего сетевого подключения.ssh
— подключение к удаленному серверу по защищенному каналу (Secure Shell). Это одна из главных команд для любого администратора: с ее помощью вы входите на удаленный Linux-сервер, как будто сидите за ним. Например,ssh user@myserver.com
установит сессию с сервером myserver.com под пользователем user, спросив пароль (или используя ключи). SSH — ваш надежный "телепорт" в другие машины и основные ворота в мир удаленного управления серверами. Без него команды Linux для сервера применять было бы крайне затруднительно, ведь сначала надо попасть на сервер! Кстати, SSH-соединение шифруется, так что никто посторонний не подсмотрит ваши команды в пути.scp
— копирует файлы между компьютерами по сети (Secure Copy). По сути, это родственникcp
, работающий через SSH-соединение. Пример:scp backup.sql user@myserver.com:/home/user/
отправит файл backup.sql на удаленный сервер myserver.com в указанный каталог. Команда удобна для переноса файлов на сервер и обратно: например, быстро забрать резервную копию базы или закачать обновленный сайт. SCP — как курьерская служба для файлов: безопасно (данные шифруются) и довольно проста в использовании. Для больших объемов и синхронизации тысяч файлов есть более продвинутыйrsync
, но для началаscp
закрывает большинство нужд.wget
— скачивает файлы из интернета по URL. Допустим, вы хотите скачать дистрибутив или скрипт прямо на сервер, где нет браузера. wget сделает это за вас: например,wget https://example.com/file.zip
загрузит файл file.zip в текущий каталог. Команда незаменима на серверах, когда нужно подтянуть обновления, скачать архивы или бэкапы. Она как робот-загрузчик: неутомимо качает и умеет докачивать файлы при обрыве связи. Аналогичной по возможностям является командаcurl
, но для простого скачиванияwget
чаще оказывается проще в использовании (вcurl
по умолчанию вывод идет в консоль, и чтобы сохранить файл, нужно указывать ключ-o
).

Пользователи и права доступа
Безопасность и распределение прав — краеугольный камень любой системы. Linux изначально многопользовательская ОС, и умение управлять учетными записями, а также правами доступа к файлам, критически важно. Эти команды позволят вам контролировать «кто что может», выступая в роли своего рода охранника системы и администратора аккаунтов.
sudo
— выполнение команд с повышенными привилегиями (от superuser do). Эта команда временно дает вам права администратора (root) для выполнения одной команды. Например, обычному пользователю недоступно редактировать системный файл, ноsudo nano /etc/hosts
позволит открыть его с правами суперпользователя (после ввода вашего пароля).sudo
— это как волшебное слово "разрешаю" от имени системного администратора. Важно: использовать его надо осмотрительно. Недаром говорят: «с большой силой приходит и большая ответственность» —sudo
дает вам такую силу, а ответственность лежит на вас. Безsudo
администрирование Linux-систем было бы крайне затруднено: многие настройки требуют прав суперпользователя.chmod
— изменяет права доступа к файлу или каталогу (change mode). В Linux у каждого файла есть три набора прав — для владельца, группы и остальных — определяющих, кто может читать (r), писать (w) или исполнять (x) этот файл. Командаchmod
позволяет менять эти "режимы". Например,chmod u+x script.sh
дает владельцу (u
от user) право на исполнение файла script.sh (делает его запускаемым скриптом). Илиchmod 644 example.txt
устанавливает права чтения/записи для хозяина и только чтения для группы и всех остальных. Правами доступа вы словно раздаете ключи: кому-то полный доступ, кому-то только просмотр. Правильные настройкиchmod
— залог безопасности данных на сервере.chown
— смена владельца файла или папки (change owner). Бывает нужно передать файл другому пользователю или исправить владельца после копирования файлов от имени root. Командаchown newuser:newgroup file.txt
передаст файл file.txt пользователю newuser и одновременно изменит группу на newgroup. Если группу не указывать (chown newuser file.txt
), изменится только владелец, группа останется прежней. Это как передать права собственности: файл «переезжает» к новому владельцу. Без правильного владельца программа может не заработать, а пользователь не сможет открыть свой файл, так чтоchown
часто выручает при ручных правках файловой системы.passwd
— изменение пароля пользователя. При вводе командыpasswd
для своего пользователя система попросит ввести новый пароль (и потребует подтвердить его повторно, хотя вводимые символы вы не увидите). Администратор может поменять пароли и другим аккаунтам, напримерsudo passwd username
задаст новый пароль для пользователя username.passwd
напрямую связано с безопасностью: это "замок и ключ" для учетной записи. Регулярная смена паролей или установка сложного пароля — одна из основ кибербезопасности. Команда простая, но вспомните, сколько историй случалось из-за слабых паролей — так что недооценивать ее не стоит.useradd
/userdel
— создание и удаление учетных записей пользователей. При необходимости добавить нового пользователя в систему вы воспользуетесьsudo useradd newuser
(в паре сpasswd newuser
для установки ему пароля). Это создаст учетную запись и домашний каталог для нового пользователя. Соответственно,userdel user
удалит аккаунт (иногда с ключом-r
для удаления домашней папки). Команды для управления пользователями — как документы отдела кадров: дают людям доступ или, наоборот, закрывают его. На сервере, особенно рабочем, правильно добавлять и удалять пользователей очень важно, чтобы у каждого были свои учетные записи, и никто лишний не бродил под общим логином.

Мониторинг и диагностика системы
Когда система уже настроена и работает, важно уметь контролировать её состояние. Сколько ресурсов занято, какие процессы запущены, не заканчивается ли свободное место — все это вопросы мониторинга. Команды этого раздела помогут вам заглянуть "под капот" Linux и вовремя заметить проблему, еще до того как она приведет к сбою. Можно сказать, это ваши «датчики и приборная панель» для сервера.
top
— мониторинг процессов в реальном времени. Запустивtop
, вы увидите динамически обновляющийся список запущенных процессов, их загрузку CPU, потребление памяти, и многое другое. Это как диспетчер задач, но в текстовом виде: вы сразу заметите, если какой-то процесс "захватил" все ресурсы. Вверхуtop
также показывает суммарную загрузку системы (load average) и общее использование памяти. Управлятьtop
можно прямо внутри: нажмитеq
, чтобы выйти, илиh
для справки по управлению. Когда сервер начинает тормозить,top
– первое средство диагностики, позволяющее быстро выяснить виновника перегрузки.ps
— разовая моментальная «фотография» процессов. В отличие отtop
, команда ps (ps aux
– один из распространенных вариантов) просто выводит список процессов на момент вызова. Вы можете фильтровать вывод, искать определенный процесс (ps -C nginx
покажет процессы с именем nginx). ps полезен, когда нужно точно узнать, запущен ли определенный процесс, сколько он уже работает, под каким пользователем. Думайте о ней как о фотографии, тогда какtop
– это видео. Частоps
используют вместе сgrep
, чтобы найти в списке нужную службу (например,ps aux | grep ssh
).kill
иkillall
— команды для завершения процессов. Если какой-то процесс завис или ведет себя неправильно, администратор "приглашает его выйти" с помощьюkill
. Командаkill PID
отправляет сигнал процессу с указанным PID (идентификатором). Обычно используют сигнал 15 (SIGTERM) для мягкой остановки, или 9 (SIGKILL) для принудительного завершения, например:kill -9 1234
убьет процесс с PID 1234. killall позволяет убить сразу все процессы с заданным именем:killall python
завершит все запущенные процессы Python. Это как крайний метод: если программа "зависла" и не откликается, приходится ее закрыть силой. Но применятьkill
надо аккуратно — как хирургическое вмешательство, только когда другие пути (например, корректное завершение приложения) не сработали.df
— показывает свободное и занятое место на дисках (от disk free). Командаdf -h
отобразит список подключенных дисковых разделов с указанием их полной емкости, занятого и свободного пространства (ключ-h
означает human-readable, то есть в удобных для чтения размерах: KB, MB, GB). Это как взгляд на индикатор свободного места на накопителе: быстро видно, не переполнен ли диск. Особенно важно на серверах, где переполненный раздел может вызвать остановку сервисов. Сdf
вы всегда можете проверить, хватит ли места для резервной копии или нужно чистить старые файлы.du
— оценивает, сколько места занимает папка или файл (от disk usage). Еслиdf
показывает картину в целом по дискам, то du поможет найти, кто "съедает" место внутри. Например,du -sh /var/log
покажет размер папки /var/log и всех её подкаталогов (ключ-s
для итога по папке,-h
— снова для удобного отображения). Когда вдруг кончается пространство,du
— как детектив, выискивающий самые тяжелые директории. Можно сканировать весь диск, но удобнее идти от общего к частному: увидев перегруженный раздел черезdf
, выcd
в этот раздел и там уже используетеdu
для выяснения деталей.free
— выводит информацию об используемой и свободной оперативной памяти и swap. Командаfree -h
покажет, сколько памяти сейчас занято, сколько свободно, и сколько используется в качестве swap (виртуальной памяти на диске). По аналогии сdf
, опция-h
делает цифры читабельными. free помогает понять, не уперлась ли система в потолок по памяти. Например, если вы видите, что свободной RAM почти нет, а swap разрастается — это сигнал, что приложениям не хватает памяти и, возможно, нужно что-то остановить или добавить оперативки. Представьте счетчик памяти на приборной панели:free
даст вам эти цифры в любой момент.uptime
— показывает, как долго система работает без перезагрузки, и нагрузку на CPU. Выводомuptime
будет строка, где указано текущее время, время работы (например, up 5 days, 4 hours), число пользователей и средняя нагрузка (load average). Средняя нагрузка может сперва озадачить, но в общих чертах: если она приблизительно равна количеству ядер CPU — система загружена на 100%. uptime часто хвастаются: мол, сервер не перезагружался уже 300 дней и стабильно работает. Но практически команда полезна, чтобы оценить общее состояние: если load average слишком высок, а сервер работает давно без перерыва, возможно, назревает необходимость оптимизации или перезагрузки.

Установка и обновление программ
Ни один сервер не обходится без программного обеспечения, и рано или поздно вам потребуется что-то установить или обновить. В Linux за это отвечают пакетные менеджеры. Конкретные команды чуть отличаются в разных дистрибутивах, но принцип схожий: получить последние версии программ из надежных источников. Рассмотрим на примере Debian/Ubuntu и CentOS (RHEL) — двух популярных семейств Linux.
apt
/apt-get
— установка и обновление пакетов в Debian/Ubuntu. Например, чтобы установить новую программу, достаточно выполнитьsudo apt install название_пакета
. Перед этим полезно обновить списки пакетов командойsudo apt update
, а обновить уже установленные программы до актуальных версий —sudo apt upgrade
. apt-get — более старый вариант этой же утилиты, поддерживающий тонкие настройки и скрипты (в большинстве случаевapt
теперь его заменяет для ручной работы). Эти команды — словно обращение в "магазин приложений" Linux с кассой самообслуживания: вы говорите системе, что вам нужно, а она скачивает и ставит нужное ПО вместе со всеми зависимостями.yum
/dnf
— установка пакетов в CentOS, Red Hat и подобных системах. Аналогично apt, в CentOS используетсяyum
, а в новых версиях (CentOS 8+, Fedora) его заменил dnf. Суть та же:sudo yum install имя_пакета
илиsudo dnf install имя_пакета
установит программу,yum update
обновит систему. Разница в командах, но цель одна — управление софтом. Для администратора важно знать свой инструмент: на какой бы системе вы ни работали, команда пакетного менеджера должна быть всегда под рукой. Это спасательный круг, когда нужно быстро развернуть новый сервис или закрыть уязвимость обновлением.

Заключение
Мы рассмотрели лишь вершину айсберга команд Linux, но именно эти команды составляют фундамент повседневной работы в терминале. Освоив их, вы получите уверенность: теперь и основы командной строки Linux перестают быть тайной за семью печатями. Как видите, команды помогают выполнить любые задачи — будь то работа с файлами, настройка сети, администрирование Linux-сервера или мониторинг системы — быстро и эффективно.
Конечно, поначалу запомнить все сразу непросто. Но практика — лучший учитель. Постепенно вы заметите, что набираете команды автоматически, словно на пианино, и чувствуете себя «дома» на любом сервере. Не бойтесь экспериментировать (разумеется, на тестовых средах или с бэкапами под рукой!) и расширять свой инструментарий. Мир Linux огромен, и вы только начали знакомиться с ним. Так вперед — открывайте терминал и применяйте эти знания на практике!