90 072
11
Время чтения ≈ 22 минуты
Справочник основных команд Linux

Содержание:

Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.

В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.

В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.

Справочная информация / документация

  1. man

    (Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

    man имя_программы

    Для инструкции по команде, введите:

    man имя_команды
  2. whatis

    Выводит краткое описание программы. Пример:

    whatis имя_программы
  3. whereis

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

    whereis имя_программы

    Также даёт информацию о связанной с программой справочной информации.

  4. file

    Показывает к какому типу относится файл. Особенность Linux в том, что рабочие файлы могут и не иметь расширения. Поэтому у пользователя могут возникнуть проблемы с идентификацией файлов, которые снимает эта команда.

  5. —help

    Вся необходимая информация о команде будет доступна, если набрать:

    имя_программы --help
  6. whoami

    Команда показывает действительный идентификатор пользователя (UID).

  7. TAB

    Показывает варианты автозавершения команды. Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.

  8. Ctrl + R

    Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C.

Права суперпользователя

Большое число базовых команд Linux, например, установка программ или создание файлов в корневой системе, требуют для исполнения права пользователя root или суперпользователя. Применение данного режима несёт серьёзные изменения для операционной системы, поэтому нужно точно понимать, как сработает запущенная команда.

Способы получить права root в Linux

  • Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
  • Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.

О втором варианте расскажем подробнее.

  1. sudo

    (Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:

    sudo имя_команды
  2. sudo su

    Инструмент применяется, когда нужно запустить несколько «суперпользовательских» команд. Все следующие вводимые команды будут запускаться в режиме суперпользователя до закрытия командной строки.

  3. sudo gksudo

    Осуществляет запуска приложений от имени суперпользователя, использующих не терминал, а графический интерфейс. В дистрибутиве Kubuntu имя этой команды выглядит несколько иначе — sudo kdesudo.

  4. sudo !!

    Команда применяется, если нужно перезапустить с правами root уже отданную (от имени обычного пользователя) команду.

Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.

Управления файлами и каталогами

  1. ls

    (List). С помощью этой утилиты можно посмотреть, что содержится в папке. Без указания конкретного пути показывает текущий каталог. Если путь указан, то переход совершиться в конечный его каталог. Чтобы вывести каталог в виде списка с дополнительной поясняющей информацией введите:

    ls -l

    Для показа скрытых файлов:

    ls -a
  2. ll

    Команда для просмотра содержимого директорий. Более современная альтернатива этой утилиты ls -l может работать не во всех дистрибутивах Linux.

  3. cat

    (Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:

    cat имя_файла

    Если нужно узнать содержимое нескольких файлов подряд:

    cat файл_№1 файл_№2 файл_№3

    Для «склейки» файлов, вводим:

    cat файл_№1 файл_№2 > файл_№3

    Чтобы задать нужное количество строк в показанном:

    cat -n
  4. cd

    (Change Directory). Меняет текущий каталог, в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:

    cd ~

    Чтобы указать другую папку для работы с файлами, нужно ввести:

    cd адрес_папки

    Чтобы подняться по древу каталогов на уровень вверх набираем:

    cd ..

    Чтобы вернуться к предыдущей директории:

    cd -
  5. &&

    Двойной амперсанд – не полноценная команда, а управляющий оператор. Он предназначен для выполнения последовательного ряда команд. Чтобы терминал выполнил команды одну за другой, нужно разделить их следующим образом:

    команда_№1 && команда_№2 && команда_№3

    Число команд в такой последовательности не ограничено.

  6. mkdir

    (Make Directory). Создаёт новую директорию. Можно также создать полную структуру подкаталогов, если ввести сочетание:

    mkdir –p
  7. cp

    (Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:

    cp -r

    А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:

    cp –r –a
  8. mv

    (Move). Эта команда в Linux одновременно отвечает за перемещение и переименование файла или каталога. При переименовании файл перемещается в ту же папку, но уже названную по-новому.

  9. rm

    (Remove). Отвечает за удаление папок и файлов. Использовать оператор rm следует крайне осторожно. В Linux файлы удаляются не в корзину, откуда их можно восстановить, а стираются безвозвратно. Для рекурсивного удаления используйте сочетание:

    rm -r
  10. ln

    (Link). Создаёт программные ссылки на файлы. По функционалу это похоже на ярлыки в Windows.

    Типы ссылок Linux

  • символические (-s) – указание на адрес файла ил папки без метаданных;
  • твёрдые или жёсткие (-P) – содержат сведения о физическом адресе на диске, где хранится файл.
    Удалить ссылку в Linux можно при помощи атрибута –f.
  1. chmod

    (Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:

    chmod разрешения имя_файла

    При этом, «разрешения» могут быть указаны буквенным, символьным (rwx) или цифровым кодом. Кроме того, эта переменная может включать информацию о владельце (u / g / o / a) и операции с правами (+ / / =).

Популярные комбинации разрешений для команды chmod

Вид разрешения Символьный код Числовой код
Нет допуска  —  0
Чтение  r—  4
Изменение  -w-  2
Запуск  —x  1
Запуск + Изменение  -wx  3
Чтение + Запуск  r-x  5
Чтение + Изменение  rw-  6
Запуск + Изменение + Запуск  rwx  7
  1. chown

    (Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:

    chown новый_владелец имя_файла

    Для смены группы файла:

    chown новая_группа имя_файла

    Если надо поменять оба параметра:

    chown новый_владелец :новая_группа имя_файла

    Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:

    chown –R
  2. chgrp

    (Change Group). Меняет группу файла. В отличие от chown, эта команда позволяет менять группы, только тем, кто в ней состоит.

  3. dd

    (Dataset Definition). Позволяет скопировать данные на двоичном уровне из одного места в другое. Данные могут быть любого размера — от образа CD/ DVD до целого жёсткого диска.
    Утилита перемещает блоки данных из указанного источника — if имя_файла в пункт назначения — of имя_файла, который может быть устройством или файлом. Для копирования нескольких файлов применяется утилита cp.
    С данной командой надо обращаться крайне осторожно, о чём свидетельствует её альтернативное название «Data Destroyer». Ошибка в вводе данных может легко стать причиной потери данных на диске.

  4. df

    (Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:

    df –h
  5. du

    (Disk Usage). Позволяет определить размер файла или каталога. Применяется в вместе с дополнительными операторами:

  • df –h — представляет данные о размере в удобном для восприятия формате;
  • df –s — даёт необходимый минимум данных;
  • df –d — задаёт глубину рекурсии для каталогов.
  1. mount / umount

    Команды Linux для монтажа и отключения любых файловых систем — от CD-диска и USB-флешки до ядер ОС. Тип файловой системы обычно определяется командой самостоятельно, путём чтения суперблока. Опция используется только с правами суперпользователя.

Навигация

  1. find

    Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды.

  2. pwd

    Отображает на экране текущий каталог.

  3. clear

    Команда полной очистки окна терминала удаляет все ранее выведенные сообщения.

  4. history

    Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз».

  5. locate

    Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка.

  6. zcat / zless / zmore

    Утилиты для просмотра сжатых файлов. С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore — только вперёд.

  7. ;

    Точка с запятой — ещё один оператор для последовательного запуска нескольких команд в одной строке. Если нужно, чтобы команды выполнялись параллельно, используйте оператор так:

    (команда_№1 &); (команда_№2 &); (команда_№3 &)

Управление сетью

  1. ip

    (Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью. Среди них:

  • link — сетевое устройство;
  • address — IP-адрес сетевого устройства;
  • monitor — мониторинг устройства;
  • route — маршрутизация;
  • tunnel — туннелированные.
    Каждый из выводимых объектов можно изменять при помощи дополнительных команд: add, change, del, save и т.д.
  1. ping

    Команда проверяет наличие и качество интернет-подключения.

  2. nethogs

    Утилита мониторинга сетевой активности устройств в системе. Чтобы задать сетевой интерфейс, введите:

    nethogs -i
  3. traceroute

    Утилита отслеживания интернет-подключения, отслеживая маршруты следования пакетов данных в сетях TCP/IP. Более совершенный инструмент для отслеживания проблем с подключением к Сети, чем упомянутая выше команда ping. Запускается только с правами суперпользователя.

Работа с процессами

  1. kill / xkill / pkill / killall

    Вариации команды для завершения операций. Основное различие между ними — способ идентификации.

  • kill — прекращает операцию, находя ее через идентификатор процесса (PID).
  • xkill — графический способ. После ввода команды курсор превращается в крестик, который при клике на окно открытого процесса, останавливает его;
  • pkill — завершает конкретный процесс, находя его по имени.
  • killall — прекращает все процессы с указанным именем.
  1. Ctrl +C

    Данное сочетание клавиш — еще один быстрый способ завершить выполнение любого процесса в терминале Linux.

  2. Ctrl +Z

    Комбинация ставит любой запущенный в консоли процесс на паузу. Снова запустить его можно, введя %.

  3. ps / pgrep

    (Process Status / Process-ID Global Regular Expressions Print). Команды находят по заданным параметрам и выводят информацию об активных процессах. Самый доступный способ найти идентификатор процесса (PID). Модификация pstree показывает весь список («древо») исполняемых процессов.

  4. top / htop / atop

    (Table of Processes). Три варианта команды, вызывающую консольную программу мониторинга активных процессов в системе. Информация отображается в виде таблицы со списком процессов в реальном времени. Рекомендуется использовать две последних модификации программы – в них больше возможностей и продвинутых функций.

  5. crontab

    Выполнение Cron (Command Run ON) — задач по расписанию в Linux.

  6. time

    Команда-секундомер, позволяющая подсчитать время исполнения процесса. Результатом измерения станет блок данных с тремя важнейшими параметрами:

  • real— общее время исполнения;
  • user — сколько времени пользователь занял у CPU;
  • sys — сколько времени CPU было потрачено системой.

Сделать время исполнения процесса ОС Linux минимальным поможет VPS сервер от Eternalhost! Универсальное решение по доступной цене!

Работа с архивами

  1. gzip

    Создаёт архивы со сжатыми файлами. Архивный файл будет иметь расширение .gz.

  2. gunzip

    Команда-распаковщик для zip-архивов. Извлекает сжатые файлы и удаляет архивный файл .gz.

  3. tar

    Сохраняет файлы и каталоги в архив с расширением .tar. Удобная утилита для создания резервных копий или надёжной архивации данных.

Управление пользователями

  1. useradd / userdel / usermod

    Команды управления учётными записями пользователей. Позволяют добавлять, удалять и редактировать пользовательские профили. Пример:

    useradd имя_пользователя.
  2. passwd

    Позволяет менять пароли учётных записей. Обычный пользователь может поменять только пароль, связанный с его именем: passwd имя_пользователя.В режиме суперпользователя можно «вслепую» сбросить все пользовательские пароли в системе.

Работа с текстом

  1. Ctrl + A / Ctrl + E

    Клавиши быстрого перехода в начало (А) и конец (E) строки.

  2. Ctrl + Shift + C / Ctrl + Shift + V

    Это сочетание клавиш в Linux позволит быстро скопировать (C) и вставить (V) текст в терминале.

  3. more / less

    Две команды для облегчения просмотра больших текстов, не умещающихся на одном экране эмулятора терминала. Т.к. функционально команды одинаковы, но less — новее и поддерживает больше опций, рекомендуется использовать именно её.

  4. head / tail

    Пара дополняющих друг друга команд для просмотра на одном экране начала и конца текста. Команда head выдаёт 10 (по умолчанию) первых строк текста, tail — последних. Число строк в обоих случаях меняется с помощью аргумента -n. Оператор -f позволяет отслеживать на экране изменения в файле. Чтобы лог (журнал) файла отображался в режиме реального времени, ввести команду:

    tail –nf,

    Для отслеживания логов нескольких файлов применяется модификация команды — multitail.

  5. grep

    (Global Regular Expression and Print). Ищет текст по заданному шаблону. Это очень полезно, когда надо проанализировать работу команды, которая сопровождается большим объёмом текстовой информации. Шаблон может заполняться строкой или регулярным выражением. Пример:

    alias старое_название новое_название
  6. sort

    Сортировка текстовой информации по заданным показателям. Дополнительные переменные позволяют:

  • -n ­— сортировать строки текста по числовому значению;
  • du ­— по размеру;
  • -r ­— применять обратную сортировку;
  • -u ­— удалять дубликаты при сортировке.
  1. wc

    (Word Count). Программа для подсчета заданных параметров в тексте. Считает такие показатели, как символы, слова, строки и байты.

  2. diff

    (Difference). Производит построчное сравнение двух текстовых файлов, выводя различия между ними. Алгоритм работы:

    diff файл_№1 файл_№2

    Различия между двумя версиями файлов отмечают такие символы, как:

  • c — изменённые строки;
  • d — удалённые строки;
  • а —новые строки.

Окружение пользователя

  1. su / sudo

    (Switch User / Substitute User & Do). Две команды для запуска процессов от имени другого пользователя без завершения текущего сеанса. При использовании su по умолчанию происходит переход на пользователя root. Команда sudo способна не только активировать режим суперпользователя (о чём упоминалось выше), но и выполнить команду от имени другого пользователя без реального переключения на него. Поэтому второй вариант считается более безопасным.

  2. date

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

  3. alias

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

    alias старое_название новое_название

    Этот же приём отлично подойдёт для устранения опечаток в командах. Отменить действие утилиты переименования поможет команда unalias.

  4. uname

    Утилита, выводящая информацию об операционной системе. Без дополнительных параметров она выдаст только название ядра. Чтобы получить всю возможную системную информацию, введите:

    uname -a
  5. uptime

    Показывает аптайм – время непрерывной работы системы.

  6. sleep

    Задаёт таймер выключения системы.

  7. yes

    Утилита автозаполнения поля согласия в команде или скрипте. Введите: yes название_команды и вам не придётся делать подтверждение вручную, когда этого потребует сценарий взаимодействия программы с пользователем.

Пакетные менеджеры

Пакетные менеджеры (ПМ) в Linux отвечают за установку, обновление и удаление приложений. Принцип их работы – загрузка программных пакетов из собственных сетевых репозитариев. Данные утилиты работают только с правами суперпользователя. Для различных дистрибутивов Linux существуют свои версии ПМ.

  1. apt

    ПМ для Debian, Ubuntu и Mint. Чтобы установить приложение, введите:

    sudo apt install имя_пакета

    Чтобы удалить приложение:

    sudo apt remove имя_пакета
  2. dnf / yum

    Два самых распространённых ПМ для операционных систем Red Hat, Fedora и CentOS. Чтобы установить приложение, введите:

    sudo dnf install имя_пакета

    Чтобы удалить:

    sudo dnf remove имя_пакета
  3. pacman

    Пакетный менеджер дистрибутивов Arch и Manjaro. Чтобы установить приложение, введите:

    sudo pacman -S имя_пакета

    Чтобы удалить приложение:

    sudo pacman -R имя_пакета

Заключение

Полный список команд для дистрибутивов Linux — материал скорее для объемной книги, чем для одной статьи. Однако, в данном обзоре мы постарались собрать самые важные из них. Эти команды будут гарантированно полезны как в повседневных задачах, так и для раскрытия продвинутых возможностей этой операционной системы.

У каждого пользователя Linux есть свой список must have команд. Наверняка и вам есть чем дополнить данный обзор? Делитесь своими любимыми командами Linux в комментариях!

Хотите, чтобы операционка работала как швейцарские часы? Надёжная и мощная платформа для развёртывания любых дистрибутивов Linux — VDS от Eternalhost!

Оцените материал:
[Всего голосов: 8    Средний: 4.5/5]
Подписаться
Уведомление о
guest
11 комментариев
Inline Feedbacks
View all comments
Roma

В примере grep печатка: дан пример для alias

Muhammad

Эти команды и правда помогли мне при изучении управления системой на Linux, спасибо!

Суслин Иван

Установил программу по умолчанию (диск с: /Programm files/Имя папки с программой). Нужно добавить в эту папку пару файлов. Пытаюсь найти эту папку — ни диска С:, ни Programm files, ни имени программы не нахожу даже с помощью терминала. Хотя программа работает и сама видит своё место нахождения и своё имя. В чём секрет скрытности? И как увидеть этот диск и эту папку?

Trulimon

Поддерживаю. Статья хорошая. Но хорошо бы сделать вариант статьи для распечатывания, чтобы не редактировать после копипаста.

Нияз

70 команд или 370, всё равно запомнить ВСЕ их нереально. Единственный годный способ изучить Линуксовые команды — это практика.

DIMAS

Дельная статья – спасибо! Вот только не помешало б все команды в табличку свести, чтобы можно было распечатать и учить.

Юрий Ковалёв

Спасибо за шпаргалку (тут на круг больше, чем 70 получилось) — добавлю в закладки)

Надежный хостинг для сайта. 14 дней - бесплатно!