Оглавление
Введение
Представьте себе, что у вас есть универсальный инструмент для управления компьютером — командная строка 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 огромен, и вы только начали знакомиться с ним. Так вперед — открывайте терминал и применяйте эти знания на практике!