Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.
В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.
В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.
(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:
man имя_программы
Для инструкции по команде, введите:
man имя_команды
Выводит краткое описание программы. Пример:
whatis имя_программы
Показывает полный путь к исполняемому файлу и другим файлам программы. Пример:
whereis имя_программы
Также даёт информацию о связанной с программой справочной информации.
Показывает к какому типу относится файл. Особенность Linux в том, что рабочие файлы могут и не иметь расширения. Поэтому у пользователя могут возникнуть проблемы с идентификацией файлов, которые снимает эта команда.
Вся необходимая информация о команде будет доступна, если набрать:
имя_программы --help
Команда показывает действительный идентификатор пользователя (UID).
Показывает варианты автозавершения команды. Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.
Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C.
Большое число базовых команд Linux, например, установка программ или создание файлов в корневой системе, требуют для исполнения права пользователя root или суперпользователя. Применение данного режима несёт серьёзные изменения для операционной системы, поэтому нужно точно понимать, как сработает запущенная команда.
О втором варианте расскажем подробнее.
(Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:
sudo имя_команды
Инструмент применяется, когда нужно запустить несколько «суперпользовательских» команд. Все следующие вводимые команды будут запускаться в режиме суперпользователя до закрытия командной строки.
Осуществляет запуска приложений от имени суперпользователя, использующих не терминал, а графический интерфейс. В дистрибутиве Kubuntu имя этой команды выглядит несколько иначе — sudo kdesudo.
Команда применяется, если нужно перезапустить с правами root уже отданную (от имени обычного пользователя) команду.
Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.
(List). С помощью этой утилиты можно посмотреть, что содержится в папке. Без указания конкретного пути показывает текущий каталог. Если путь указан, то переход совершиться в конечный его каталог. Чтобы вывести каталог в виде списка с дополнительной поясняющей информацией введите:
ls -l
Для показа скрытых файлов:
ls -a
Команда для просмотра содержимого директорий. Более современная альтернатива этой утилиты ls -l может работать не во всех дистрибутивах Linux.
(Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:
cat имя_файла
Если нужно узнать содержимое нескольких файлов подряд:
cat файл_№1 файл_№2 файл_№3
Для «склейки» файлов, вводим:
cat файл_№1 файл_№2 > файл_№3
Чтобы задать нужное количество строк в показанном:
cat -n
(Change Directory). Меняет текущий каталог, в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:
cd ~
Чтобы указать другую папку для работы с файлами, нужно ввести:
cd адрес_папки
Чтобы подняться по древу каталогов на уровень вверх набираем:
cd ..
Чтобы вернуться к предыдущей директории:
cd -
Двойной амперсанд – не полноценная команда, а управляющий оператор. Он предназначен для выполнения последовательного ряда команд. Чтобы терминал выполнил команды одну за другой, нужно разделить их следующим образом:
команда_№1 && команда_№2 && команда_№3
Число команд в такой последовательности не ограничено.
(Make Directory). Создаёт новую директорию. Можно также создать полную структуру подкаталогов, если ввести сочетание:
mkdir –p
(Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:
cp -r
А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:
cp –r –a
(Move). Эта команда в Linux одновременно отвечает за перемещение и переименование файла или каталога. При переименовании файл перемещается в ту же папку, но уже названную по-новому.
(Remove). Отвечает за удаление папок и файлов. Использовать оператор rm следует крайне осторожно. В Linux файлы удаляются не в корзину, откуда их можно восстановить, а стираются безвозвратно. Для рекурсивного удаления используйте сочетание:
rm -r
(Link). Создаёт программные ссылки на файлы. По функционалу это похоже на ярлыки в Windows.
(Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:
chmod разрешения имя_файла
При этом, «разрешения» могут быть указаны буквенным, символьным (rwx) или цифровым кодом. Кроме того, эта переменная может включать информацию о владельце (u / g / o / a) и операции с правами (+ / — / =).
| Вид разрешения | Символьный код | Числовой код |
| Нет допуска | — | 0 |
| Чтение | r— | 4 |
| Изменение | -w- | 2 |
| Запуск | —x | 1 |
| Запуск + Изменение | -wx | 3 |
| Чтение + Запуск | r-x | 5 |
| Чтение + Изменение | rw- | 6 |
| Запуск + Изменение + Запуск | rwx | 7 |
(Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:
chown новый_владелец имя_файла
Для смены группы файла:
chown новая_группа имя_файла
Если надо поменять оба параметра:
chown новый_владелец :новая_группа имя_файла
Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:
chown –R
(Change Group). Меняет группу файла. В отличие от chown, эта команда позволяет менять группы, только тем, кто в ней состоит.
(Dataset Definition). Позволяет скопировать данные на двоичном уровне из одного места в другое. Данные могут быть любого размера — от образа CD/ DVD до целого жёсткого диска.
Утилита перемещает блоки данных из указанного источника — if имя_файла в пункт назначения — of имя_файла, который может быть устройством или файлом. Для копирования нескольких файлов применяется утилита cp.
С данной командой надо обращаться крайне осторожно, о чём свидетельствует её альтернативное название «Data Destroyer». Ошибка в вводе данных может легко стать причиной потери данных на диске.
(Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:
df –h
(Disk Usage). Позволяет определить размер файла или каталога. Применяется в вместе с дополнительными операторами:
Команды Linux для монтажа и отключения любых файловых систем — от CD-диска и USB-флешки до ядер ОС. Тип файловой системы обычно определяется командой самостоятельно, путём чтения суперблока. Опция используется только с правами суперпользователя.
Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды.
Отображает на экране текущий каталог.
Команда полной очистки окна терминала удаляет все ранее выведенные сообщения.
Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз».
Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка.
Утилиты для просмотра сжатых файлов. С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore — только вперёд.
Точка с запятой — ещё один оператор для последовательного запуска нескольких команд в одной строке. Если нужно, чтобы команды выполнялись параллельно, используйте оператор так:
(команда_№1 &); (команда_№2 &); (команда_№3 &)
(Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью. Среди них:
Команда проверяет наличие и качество интернет-подключения.
Утилита мониторинга сетевой активности устройств в системе. Чтобы задать сетевой интерфейс, введите:
nethogs -i
Утилита отслеживания интернет-подключения, отслеживая маршруты следования пакетов данных в сетях TCP/IP. Более совершенный инструмент для отслеживания проблем с подключением к Сети, чем упомянутая выше команда ping. Запускается только с правами суперпользователя.
Вариации команды для завершения операций. Основное различие между ними — способ идентификации.
Данное сочетание клавиш — еще один быстрый способ завершить выполнение любого процесса в терминале Linux.
Комбинация ставит любой запущенный в консоли процесс на паузу. Снова запустить его можно, введя %.
(Process Status / Process-ID Global Regular Expressions Print). Команды находят по заданным параметрам и выводят информацию об активных процессах. Самый доступный способ найти идентификатор процесса (PID). Модификация pstree показывает весь список («древо») исполняемых процессов.
(Table of Processes). Три варианта команды, вызывающую консольную программу мониторинга активных процессов в системе. Информация отображается в виде таблицы со списком процессов в реальном времени. Рекомендуется использовать две последних модификации программы – в них больше возможностей и продвинутых функций.
Выполнение Cron (Command Run ON) — задач по расписанию в Linux.
Команда-секундомер, позволяющая подсчитать время исполнения процесса. Результатом измерения станет блок данных с тремя важнейшими параметрами:
Сделать время исполнения процесса ОС Linux минимальным поможет VPS сервер от Eternalhost! Универсальное решение по доступной цене!
Создаёт архивы со сжатыми файлами. Архивный файл будет иметь расширение .gz.
Команда-распаковщик для zip-архивов. Извлекает сжатые файлы и удаляет архивный файл .gz.
Сохраняет файлы и каталоги в архив с расширением .tar. Удобная утилита для создания резервных копий или надёжной архивации данных.
Команды управления учётными записями пользователей. Позволяют добавлять, удалять и редактировать пользовательские профили. Пример:
useradd имя_пользователя.
Позволяет менять пароли учётных записей. Обычный пользователь может поменять только пароль, связанный с его именем: passwd имя_пользователя.В режиме суперпользователя можно «вслепую» сбросить все пользовательские пароли в системе.
Клавиши быстрого перехода в начало (А) и конец (E) строки.
Это сочетание клавиш в Linux позволит быстро скопировать (C) и вставить (V) текст в терминале.
Две команды для облегчения просмотра больших текстов, не умещающихся на одном экране эмулятора терминала. Т.к. функционально команды одинаковы, но less — новее и поддерживает больше опций, рекомендуется использовать именно её.
Пара дополняющих друг друга команд для просмотра на одном экране начала и конца текста. Команда head выдаёт 10 (по умолчанию) первых строк текста, tail — последних. Число строк в обоих случаях меняется с помощью аргумента -n. Оператор -f позволяет отслеживать на экране изменения в файле. Чтобы лог (журнал) файла отображался в режиме реального времени, ввести команду:
tail –nf,
Для отслеживания логов нескольких файлов применяется модификация команды — multitail.
(Global Regular Expression and Print). Ищет текст по заданному шаблону. Это очень полезно, когда надо проанализировать работу команды, которая сопровождается большим объёмом текстовой информации. Шаблон может заполняться строкой или регулярным выражением. Пример:
alias старое_название новое_название
Сортировка текстовой информации по заданным показателям. Дополнительные переменные позволяют:
(Word Count). Программа для подсчета заданных параметров в тексте. Считает такие показатели, как символы, слова, строки и байты.
(Difference). Производит построчное сравнение двух текстовых файлов, выводя различия между ними. Алгоритм работы:
diff файл_№1 файл_№2
Различия между двумя версиями файлов отмечают такие символы, как:
(Switch User / Substitute User & Do). Две команды для запуска процессов от имени другого пользователя без завершения текущего сеанса. При использовании su по умолчанию происходит переход на пользователя root. Команда sudo способна не только активировать режим суперпользователя (о чём упоминалось выше), но и выполнить команду от имени другого пользователя без реального переключения на него. Поэтому второй вариант считается более безопасным.
Команда Linux, сообщающая информацию о времени. Отдельными переменными можно задать удобный формат вывода и число отображаемых параметров, вплоть до миллисекунд.
Команда для создания синонимов названий незаменяемых команд для их сокращения. Она изменяет длинное название на удобное пользователю короткое или аббревиатуру. Пример:
alias старое_название новое_название
Этот же приём отлично подойдёт для устранения опечаток в командах. Отменить действие утилиты переименования поможет команда unalias.
Утилита, выводящая информацию об операционной системе. Без дополнительных параметров она выдаст только название ядра. Чтобы получить всю возможную системную информацию, введите:
uname -a
Показывает аптайм – время непрерывной работы системы.
Задаёт таймер выключения системы.
Утилита автозаполнения поля согласия в команде или скрипте. Введите: yes название_команды и вам не придётся делать подтверждение вручную, когда этого потребует сценарий взаимодействия программы с пользователем.
Пакетные менеджеры (ПМ) в Linux отвечают за установку, обновление и удаление приложений. Принцип их работы – загрузка программных пакетов из собственных сетевых репозитариев. Данные утилиты работают только с правами суперпользователя. Для различных дистрибутивов Linux существуют свои версии ПМ.
ПМ для Debian, Ubuntu и Mint. Чтобы установить приложение, введите:
sudo apt install имя_пакета
Чтобы удалить приложение:
sudo apt remove имя_пакета
Два самых распространённых ПМ для операционных систем Red Hat, Fedora и CentOS. Чтобы установить приложение, введите:
sudo dnf install имя_пакета
Чтобы удалить:
sudo dnf remove имя_пакета
Пакетный менеджер дистрибутивов Arch и Manjaro. Чтобы установить приложение, введите:
sudo pacman -S имя_пакета
Чтобы удалить приложение:
sudo pacman -R имя_пакета