8(800) 222 32 56
Панель управления
Решения для бизнеса

Команды Linux, которые важно знать

Команды Linux, которые важно знать
Подберите идеальное решение для ваших задач:
в России, США и Нидерландах обеспечат максимальную скорость. Воспользуйтесь всеми преимуществами надежного оборудования. Базовая помощь и техническое обслуживание входят в пакет услуг.

Введение

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

Как повысить антиплагиат: 8 эффективных способов 2021 года
Сайт

Как повысить антиплагиат: 8 эффективных способов 2021 года

Чем популярнее тема, тем сложнее написать уникальный текст. Большинство письменных трудов должно содержать цитаты, термины,

Медиасервер: зачем он вам нужен и как его настроить?
Решения для бизнеса

Медиасервер: зачем он вам нужен и как его настроить?

Медиасервер используется для хранения фильмов, музыки или личных фотографий. К нему можно подключиться по локальной сети из

ІоВ – одна из главных технологических тенденций 2021 года
DDoS

ІоВ – одна из главных технологических тенденций 2021 года

Устройства из категории IoT (Internet of Things, «интернет вещей») уже прочно вошли в нашу жизнь. Если