101 команда Linux на все случаи жизни

Author Автор: Роман Чернышов    Опубликовано: 28 апреля 2022

101 команда Linux Приветствую друзья! Ежедневно я работаю с серверами под управлением ОС Linux, а именно Debian, CentOS и Ubuntu (индекс версии не пишу, так как на моих серверах установлены разные версии, работаю со всеми ими). Несмотря на то, что с Linux я работаю уже как пару десятков лет, запомнить все команды и их параметры мне до сих пор не удалось. Потому я составил список часто используемых(и не очень) команд Linux которые могут мне понадобиться и решил поделиться им с вами. Получилась своего рода шпаргалка. По своей сути все команды в Linux представляют собой отдельные программы(и утилиты), часть из них предустановлена в минимальных версиях сборки ОС, другая же часть нуждается в отдельной установке.

Содержание

Решение любых задачи по системному администрированию Linux
Заказать услугу >>

История команд Linux

Как известно операционная система Linux бала разработана Линусом Торвальдсом на безе ранее созданного проекта от телефонной корпорации(на тот момент) AT&T под всем знакомым нам названием Unix, разработанного в 1970-х годах такими авторитетами мира разработки как Кеном Томпсоном, Деннисом Ритчи и другими членами их команды, которые трудились в исследовательском центре Bell Labs(принадлежавшем выше упомянутой корпорации). Поэтому множество используемых команд и по сей день в Linux, это команды(программы и утилиты) напрямую позаимствованные из ОС Unix, которые в свою очередь были настоль хорошо спроектированы и написаны, что прошли путь в несколько десятилетий практически без изменений.

Bell Labs
Bell Labs

Одна из основных идей, лежащих в основе разработки данных команд, это их узкая специализация — когда одна конкретная команда, выполняет одно конкретное действие(с рядом параметров, позволяющих несколько изменить её результат работы). Вторая крайне значимая идея — это возможность перенаправления как источника входящих данных, так и выходящих. То есть, любая команда может получить данные из любого файла, устройства, интерфейса или сети и отправить их аналогично по любому из этих направлений. И пожалуй третья идея «на миллион», это система конвейеров — возможность составлять из команд цепочки вызовов, прописав команды используя разделитель вертикальную черту «|». Суть конвейера проста, первая команда получает данные, работает с ними и результат посылает второй в цепочке команде, и так по всему списку. Эти три основные идеи, сделали Unix(а затем и Linux) мощнейшим инструментом в руках практически любого пользователя.

Изначально команды(утилиты) писались с использованием языка программирования Assebmler под процессор компьютера DEC PDP-7, но так как это затрудняло их переносимость на системы с другими процессорами, было решено переписать их с использованием языка Си (C) — компилятор которого был написан в 1972 году не менее авторитетным Деннисом Ритчи, который получил функционал позволяющий компилировать код под все известные архитектуры, в том числе: x86, x86-64, PowerPC, ARM, RISC-V, Alpha AXP, SPARC, Motorola 680×0, SuperH, IBM System/390, MIPS, PA-RISC, AXIS CRIS, Renesas M32R, Atmel AVR32, Renesas H8/300, NEC V850, Tensilica Xtensa, «Эльбрус» и многие другие.

Так как ОС Unix, а затем и Linux, FreeBSD и даже MacOS от Apple(берущий свои корни также в UNIX), все чаще использовалась на совершенно разных платформах, с большим перечнем периферийного оборудования, требовались все новые и новые команды — для работы с сетью, устройствами ввода-вывод, криптографией и т.д. Поэтому в эпоху становления данной операционной системы, её разработчиками было написано множество узкоспециализированных утилит. Некоторые из них, к сожалению, со временем превратились в большие и неповоротливые программные комплексы, утратили возможность использования их в конвейерах(цепочках вызовов), и на полную(с применением всевозможных настроек) используются сегодня только профессиональными системными администраторами. Но к счастью, многие из них все же сохранили свой начальный функционал и предназначение.

Давайте перейдем к списку и рассмотрим каждую команду(утилиту и программу) подробнее.

Команды для работы с файлами

Команды для работы с файлами

1. LS

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

Пример вызова:

$ ls опции /путь/к/папке

Смотреть список всех опций

2. CAT

Слияние данных из файлов. Команда, название которой происходит от (от англ. catenate, concatenate), что буквально переводиться как связывать или соединять, предназначение команды — это соединение нескольких файлов(или данных из других источников) воедино для их последующего вывода в так называемый «стандартный вывод» или печать на экран. Краткая суть команды: — берем данные из любого источника, соединяем их, и выводим в любой вывод.

Пример вызова:

$ cat опции файл1 файл2 ...

Смотреть список всех опций

3. CD

Смена директории. Одна из самых популярных команд, позволяет перейти из текущей директории в другую, указанную в качестве параметра. переход в родительскую директорию(выше по уровню) осуществляется с указанием двух точек(cd ..). У команды есть дополнительная функция — переход к предыдущему каталогу, для этого в качестве параметра указывается тире (cd -).

Пример вызова:

$ cd опции папка_назначения

Смотреть список всех опций

4. PWD

Получить название текущего каталога. Как известно в ОС Linux, в качестве командной строки могут использоваться разные оболочки, в том числе которые не выводят название текущего каталога, поэтому при работе в них, может быть востребована данная команда. Также данная команда может использоваться из скрипта написанного на Bash, или в скомпилированных программах на других языках программирования с применением функции exec() для вызова команд уровня операционной системы.

Пример вызова:

$ pwd

Смотреть список всех опций

5. MKDIR

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

Пример вызова:

$ mkdir опции имя_папки

Смотреть список всех опций

6. FILE

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

Пример вызова:

$ file опции название_документа

Смотреть список всех опций

7. CP

Копирование файлов, директорий или символических ссылок. При копировании директорий нужно быть внимательным, т.к. по умолчанию команда копирует файлы не рекурсивно, поэтому для копирование директории со всем содержимым, включая вложенные поддиректории нужно указывать дополнительный флаг -r (Recursive). Для копирования по символическим ссылкам именно файлов(а не самих ссылок), требуется указать опцию -L.

Пример вызова:

$ cp опции файл-источник файл-приемник

Смотреть список всех опций

8. MV

Перемещение или переименование файлов и директорий. В отличи от других ОС в Linux команда MV (от англ. move) выполняет два выше описанных действия по причине того, что переименование это тоже самое что и перемещение, просто в пределах одной директории, но в другой файл с новым именем.

Пример вызова:

$ mv опции файл-источник файл-приемник

Смотреть список всех опций

9. RM

Удаление файлов и директорий. Для удаления директорий рекурсивно, укажите опцию -r. Внимание: в отличии от операционной системы Windows, в Linux файлы при удалении не попадают в корзину, они удаляются безвозвратно, после чего их восстановление будет невозможно(за исключением использования некоторых специализированных средств).

Пример вызова:

$ rm удаляемый-файл

Смотреть список всех опций

10. LN

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

Пример вызова:

$ ln опции файл_источник файл_ссылки

Смотреть список всех опций

11. CHMOD

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

Пример вызова:

$ chmod опции права /путь/к/файлу

Смотреть список всех опций

12. CHOWN

Изменяет права доступа к файлу или директории. На основании информации о владельцах, распределяются установленные права на файл, чтение, запись, выполнение. Владельцев может изменять только суперпользователь (root). Для рекурсивного изменение владельца директории и всего её содержимого используется опция -r.

Пример вызова:

$ chown пользователь опции /путь/к/файлу

Смотреть список всех опций

13. FIND

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

Пример вызова:

$ find [папка] [параметры] критерий шаблон [действие]

Смотреть список всех опций

14. LOCATE

Быстрый поиск файлов и папок. В отличии от команды find, эта команда ищет файлы только по названию, и поиск при этом осуществляется в базе данных updatedb, которая содержит в себе снимок файловой системы, названия файлов, директорий и их структуру. Так как снимок файловой системы осуществляется и записываема в базу данных с определенной периодичностью, при поиске используя команду locate стоит учитывать, что данные в базе могут быть не актуальны.

Пример вызова:

$ locate опции шаблон_для_поиска

Смотреть список всех опций

15. DU

Отобразить размер файла или директории. Команда производит подсчет размера файла или директории со всем её содержимым, при этом есть опция с помощью которой можно указать глубину рекурсии по вложенным директориям — может быть полезна в случае необходимости подсчета размера только файлов, расположенных на определенном уровне вложенности. Полезные опции -h, —human-readable — отобразить размер в единицах измерения удобных для человека, -c, —total — отобразить в конце общий размер всех директорий.

Пример вызова:

$ du опции /путь/к/папке

Смотреть список всех опций

16. DF

Отобразить все устройства хранения файлов, а также сведений по ним. Название команды образуется от сокращения словосочетания «disk free». Команда является мощным инструментом(кто бы мог подумать?), позволяющим исследовать жесткие диски и разделы, просматривать точки монтирования и тип их файловых систем.

Пример вызова:

$ df опции устройство

Смотреть список всех опций

17. DD

Копирование и конвертирование файлов. В отличии от команды cp, данная команда копирует не файл и не директорию, а блоки данных, что позволяет указать количество копируемых данных — например часть файла. Команда часто используется для создания файлов содержащих нули(из /dev/null), для каких либо тестов(например). Также команда может использоваться как посредник, принимать данные из одного источника и отправлять в другой.

Пример вызова:

$ dd if=источник_копирования of=место_назначения параметры

Смотреть список всех опций

18 MOUNT / UMOUNT

Монтирование и размонтирования диска или образа. Linux, что называется «из коробки» поддерживает монтирование образов дисков .iso в качестве файловой системы доступной для работы с ними, как с обычным физическим диском. Разумеется данные команды также используются для работы с реальными физическими дисками, томами, USB-накопителями и т.д.

Пример вызова:

$ mount файл_устройства папка_назначения

Смотреть список всех опций

19. MC (*)

Консольный файловый менеджер. Сокращенное название образованное от Midnight Commander. Это один из самых популярных файловых менеджеров в Linux. В системе Windows, аналогами являются Norton, Volcov Commander и Far Manager. Программа имеет очень обширный функционал: поиск, копирование, редактирование прав доступа, просмотр, редактирование и многое другое.

Пример вызова:

$ mc [-abcCdfhPstuUVx] [-l журнал] [каталог1 [каталог2]] [-e [файл] .     ..] [-v файл]

Смотреть список всех опций

20. TEE

Сохранить вывод любой команды. Команда tee получает вывод из любой предварительно выполненной команды(в конвейере команд) и перенаправить его на сохранение в файл или любое другое устройство. Например опция -a позволяет записать данные в конец любого другого файла.

Пример вызова:

$ tee опции файл

Смотреть список всех опций

21. TAR

Архивирование файлов и директорий. В системе Linux существует множество архиваторов, но этот заслужил особое внимание из-за своей скорости работы и качества сжатия, а также того, что при архивировании сохраняются все атрибуты файлов и информация о правах доступа к ним. Опции архиватора совпадают с опциями таких архиваторов как bzip2 и gzip.

Пример вызова:

$ tar опции архив.tar файлы_для_архивации

Смотреть список всех опций

22. ZIP / UNZIP (*)

Архивирование и распаковка файлов и директорий. Основным преимуществом данного архиватора является его популярность, это лидер среди всех архиваторов по количеству использования. Основную популярность сыскал за счет совместимости с ОС Windows и другими ОС. Для архивирования используется алгоритм сжатия Deflate, который легко воспроизводиться практически на любом языке программирования, за счет чего с архивами в формате .zip можно реализовать работу практически в любых системах (например есть реализация архиватора на PHP).

Пример вызова:

$ zip опции файлы
$ unzip опции файлы

Смотреть список всех опций

Команды для работы с текстом

Команды для работы с текстом

23. MORE / LESS

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

Пример вызова:

$ more опции файл
$ less опции файл

Смотреть список всех опций

24. HEAD / TAIL

Вывод десяти строк(как сначала, так и с конца). Команда выводит строки из файла начиная сначала, по умолчанию первые 10 строк, но их количество можно изменить соответствующей опцией -n(—lines). Также команда может применяться для вывода данных из других источников. Аналогичным образом устроена команда tail, с той лишь разницей, что вывод последних десяти строк осуществляется из конца файла. Удобно для просмотра логов, например.

Пример вызова:

$ head опции файл
$ tail опции файл

Смотреть список всех опций

25. GREP

Поиск данных внутри файлов. Grep(расшифровывается как global regular expression print) — Мощнейший инструмент для поиска данных внутри файлов, а также в результатах вывода других команд, ввиду чего grep часто используется в bash сценариях.

Пример вызова:

$ grep [опции] шаблон [имя файла...]

Смотреть список всех опций

26. SORT

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

Пример вызова:

$ команда | sort опции

Смотреть список всех опций

27. WC

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

Пример вызова:

$ wc файл

Смотреть список всех опций

28. DIFF

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

Пример вызова:

$ diff опции файл1 файл2

Смотреть список всех опций

29. EGREP

Поиск данных внутри файлов с использованием регулярных выражений. Команда является расширенной(Extended Extended Expression) версией grep, кстати которая в свою очередь тоже может работать в режиме поиска по регулярным выражением при использовании флага -E. Egrep обрабатывает метасимволы(маску регулярного выражения) как есть, т.е. не заменяет их на строки.

Пример вызова:

$ egrep [опции] шаблон [имя файла...]

Смотреть список всех опций

30. FGREP

Поиск строк внутри файлов целиком. Еще одна разновидность команды grep, только на этот раз команда осуществляет поиск рассматривая метасимволы и регулярные выражения как строки. Команда исключительно для поиска строк, что может быть полезно в ряде случаев.

Пример вызова:

$ fgrep [опции] шаблон [имя файла...]

Смотреть список всех опций

31. NROFF / TROFF

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

Пример вызова:

$ nroff [опции] [имя файла...]

Смотреть список всех опций

32. EMACS (*)

Текстовый редактор. Один из популярнейших текстовых редакторов в среде Linux, а также ОС основанных на платформе UNIX. Редактор выполняет функции: просмоторщика файлов, интегрированной среды разработки(IDE) и даже операционной системы(может загружаться используя Boot Loader при старте ПК).

Пример вызова:

$ emacs [имя файла...]

Смотреть список всех опций

33. VI

Модальный текстовый редактор. Модальный редактор — позволяет редактировать текст только с использованием клавиш, при этом одни и те же клавиши в разных режимах выполняют разные действия, благодаря чему редактор становиться мощнейшим инструментом, пригодным для использования даже на маломощных ПК с урезанной ОС Linux.

Пример вызова:

$ vi [имя файла...]

Смотреть список всех опций

34. VIM (*)

Новый текстовый редактор на базе vi. Более современный и мощный текстовый редактор, основанный на старом редакторе vi, с поддержкой широкого списка команд, а также функций автоматизации. Есть возможность его гибкой и расширенной настройки практически под любые нужды пользователя.

Пример вызова:

$ vim [опции] [имя файла...]

Смотреть список всех опций

35. NANO (*)

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

Пример вызова:

$ nano [опции] [имя файла...]

Смотреть список всех опций

Команды для работы с процессами

Команды для работы с процессами

36. KILL / XKILL / PKILL / KILLALL

Завершение процесса(ов). Все четыре команды выполняют одно действие, это завершение процесса, разница между ними в том, какой аргумент им передается в качестве параметра. Например команда kill в качестве аргумента принимает PID процесса, в то время как команда pkill принимает название процесса. Команда killall также принимает название процесса, но при этом завершает не один, а все процессы имеющие аналогичное название. Еще одной интересной командой является xkill — которая используется при работе с графической оболочкой Linux, команда позволяет завершить процесс — по окну которого будет осуществлен клик мыши после вызова команды.

Пример вызова:

$ kill [опции] [процесс]

Смотреть список всех опций

37. PS

Список запущенных процессов. Команда не только выводит список процессов, но и отображает информацию по ним, в частности PID процесса, владельца, время его работы, команду запуска и т.д. Команда может использоваться в сочетании с командой grep(а какая не может?) для поиска нужных процессов, по различным параметрам.

Пример вызова:

$ ps [опции]

Смотреть список всех опций

38. TOP / HTOP / ATOP

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

Пример вызова:

$ top [опции]

Смотреть список всех опций

39. TIME

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

Пример вызова:

$ time опции команда_для_выполнения аргументы

Смотреть список всех опций

40. SYSTEMCTL / SERVICE

Управление службами. Специальный сервис, который позволяет управлять фоновыми процессами — службами. А именно запускать, останавливать или перезапускать службы. Также данный сервис служит своего рода системой мониторинга для работы служб и выполняет такие операции как просмотр состояния служб, их параметры управления и статус. Также systemctl позволяет работать с автозагрузкой служб и производить обновление их конфигураций.

Пример вызова:

$ systemctl опции команда служба служба...

Смотреть список всех опций

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

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

41. SU / SUDO

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

Пример вызова:

$ su опции пользователь

Смотреть список всех опций

42. DATE

Отображение текущей даты и времени. Команда выводит в терминал день недели, месяц, год, а также часы, минуты и секунды, также отображается часовой пояс(в представлении ISO). Дополнительные опции позволяют переключить вывод на 12 или 24 часовой формат и многое другое.

Пример вызова:

$ date [ОПЦИИ] ... [+ФОРМАТ]

Смотреть список всех опций

43. ALIAS

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

Пример вызова:

$ alias имя="команда аргумент1 аргумент2"

Смотреть список всех опций

44. UNAME

Вывод информации об операционной системе. В зависимости от переданных аргументов команда возвращает всю или частичную информацию о системе, например для того чтобы узнать версию ядра Linux, следует указать аргумент -r, а для вывода всей информации аргумент -a, включая домен.

Пример вызова:

$ uname [опции]...

Смотреть список всех опций

45. UPTIME

Время работы ОС без перезагрузки. В зависимости от опций выводит продолжительность времени работы системы, с момента последнего запуска, а также дату и время запуска системы. Также если указать опцию -p, выведет время работы системы в красивом представлении.

Пример вызова:

$ uptime [опции]...

Смотреть список всех опций

46. SLEEP

Выполняет задержку на указанное время. Время задержки можно указывать как в секундах(-10), так и в часах(-10h). Помимо задержки, команда в качестве аргумента может принимать название другой команды, которую необходимо выполнить по истечению установленого времени задержки. Команда часто используется в bash сценариях.

Пример вызова:

$ uptime [опции]...

Смотреть список всех опций

Команды для работы с аккаунтами

Команды для работы с аккаунтами

47. USERADD / USERMOD / USERDEL

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

Пример вызова:

$ useradd опции имя_пользователя

Смотреть список всех опций

48. PASSWD

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

Пример вызова:

$ passwd опции пользователь

Смотреть список всех опций

Команды для работы с безопасностью

Команды для работы с безопасностью

49. VISUDO (*)

Редактирование настроек sudo. Данная команда позволяет редактировать файл настроек /etc/sudoers, отвечающий за работу программы sudo / su, также выполняет проверку на корректность вносимых изменений. Для редактирования настроек используется редактор vi.

Пример вызова:

$ visudo

Смотреть список всех опций

50. LAST

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

Пример вызова:

$ last опции имя_пользователя название_tty

Смотреть список всех опций

51. WHICH

Отобразить полный путь к выполняемой команде. Выполняет поиск выполняемого файла используя тот же алгоритм что и bash, поэтому использовав which для определения пути к исполняемому файлу, вы всегда можете быть уверено в его точности.

Пример вызова:

$ which имя_программы

Смотреть список всех опций

52. UFW (*)

Оболочка для упрощенной работы с iptables. UFW или Uncomplicated FireWall позволяет настраивать брандмауэр Linux используя достаточно простой синтаксис. С помощью данной команды можно включить файрволл и добавить его в автозагрузку, перезагрузить файрволл, посмотреть его состояние и многое другое.

Пример вызова:

$ iptables -t таблица действие цепочка дополнительные_параметры

Смотреть список всех опций

53. IPTABLES

Интерфейс управления межсетевого экрана Netfilter. В системе Linux весь сетевой трафик, все его пакеты, проходят через так называемый фильтр(Netfilter), команда iptables позволяет настроить правила обработки входящих/исходящих соединений, настроить маршрутизацию, ограничить или разрешить доступ к определенным портам.

Пример вызова:

$ iptables опции действие параметры

Смотреть список всех опций

54. PWCK

Проверка целостности файлов аутентификации. Утилита проверяет файлы /etc/passwd и /etc/shadow на целостность, а также корректность формата, уникальность имени пользователя, корректность идентификаторов и групп.

Пример вызова:

$ pwck опции файл_для_проверки

Смотреть список всех опций

55. SETFACL / GETFACL

Работа с правами доступа ACL. Access control list — cписки контроля доступа, более расширенная и интеллектуальная система безопасности в сравнении со стандартным набором параметров доступа (ограничение чтения, записи, выполнения, а также владельца и группы). Списки контроля доступа используются в таких системах как FreeBSD, Ubuntu а также в ряде других коммерческих проектах Linux. Команда getfacl позволяет получить сведения о правах доступа к объекту в системе.

Пример вызова:

$ setfacl опции файл_для_проверки

Смотреть список всех опций

56. SESTATUS (*)

Статус работы системы SELinux. SELinux это система принудительного контроля доступа, реализованная на уровне ядра, а утилите sestatus позволяет получить данные о том, включена ли эта система.

Пример вызова:

$ sestatus опции

Смотреть список всех опций

57. APPARMOR (*)

Настройка прав доступа для программ. Еще один мощнейший инструмент для работы с политикой безопасности в рамках системы Linux, в отличии от других инструментов apparmor работает не с пользователями, а программами, т.е. настройки доступа будут привязаны именно к ним. Это значит вы можете ограничить доступ для какой-то отдельно взятой программы, независимо от принадлежности её к группе пользователей.

Пример вызова:

$ apparmor опции команды

Смотреть список всех опций

Команды для работы с документацией

Команды для работы с документацией

58. MAN / WHATIS

Вывод руководства по указанной программе. В операционной системе Linux достаточно продумано организована система документации, а также максимально облегчен доступ к ней из командной строки. Достаточно просто выполнить команду man указав в качестве параметра название программы или утилиты, и на экран будет выведено её описание с описанием всех опций и параметров. Whatis показывает, какие разделы руководств есть для данной команды.

Пример вызова:

$ man имя_команды

Смотреть список всех опций

59. WHEREIS

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

Пример вызова:

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

Смотреть список всех опций

Команды для работы с сетью

Команды для работы с сетью

60. IP

Многофункциональная сетевая утилита. Позволяет просматривать список сетевых интерфейсов, IP4/IP6 адресов, MAC адресов, настраивать маршрутизацию, включать/выключать сетевые карты, работать с ARP. Утилита ip является более расширенной и современной версией ipconfig.

Пример вызова:

$ ip [опции] объект команда [параметры]

Смотреть список всех опций

61. PING

Проверка доступности удаленного хоста. Команда ping обменивается с удаленным хостом отправляя на указанный IP адрес или домен пакеты по протоколу ICMP (эхо-запрос/эхо-ответ), замеряет время прохождения пакета, задержки, потери, TTL.

Пример вызова:

$ ping опции адрес_узла

Смотреть список всех опций

62. NETHOGS

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

Пример вызова:

$ nethogs опции

Смотреть список всех опций

63. TRACEROUTE

Определения маршрута следования данных в сетях. Утилита работает с сетями TCP/IP и может анализировать маршруты пакетов разных протоколов, таких как UDP, TCP, ICMP или GRE (а также ICMP-протокол для ОС Windows). Она отправляет пакет с TTL=1 и получает адрес ответившего узла, дальше TTL=2, TTL=3 и так пока не достигнет цели. Результат прохождения пакетов по каждому TTL выводится на экран.

Пример вызова:

$ traceroute опции адрес_узла

Смотреть список всех опций

64. TELNET (*)

Утилита для подключения к удаленному порту любого устройства. Позволяет установить интерактивный канал связи для обмена данными, передачи команд или сообщений. Широко используется по сей день для тестирования сетей различных IoT устройств и роутеров.

Пример вызова:

$ telnet опции хост порт

Смотреть список всех опций

65. ARP

Утилита для сканирования локальной сети. ARP (Address Resolution Protocol) — протокол разрешения адресов, позволяет устройствам обмениваться информацией по сети, сообщая друг другу свой IP, с последующим занесением их в таблицы маршрутизации. Утилита arp позволяет просканировать локальную сеть и получить сведения о всех находящихся в ней устройствах.

Пример вызова:

$ telnet опции хост порт

Смотреть список всех опций

66. ROUTE

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

Пример вызова:

$ route [-f] [-p] command -net [destination] netmask [MASK netmask] gw [gateway] metric [METRIC metric] dev [IF interface]

Смотреть список всех опций

67. NSLOOKUP

Проверка работоспособности DNS. Позволяет получить информацию об IP адресе на который делегирован домен, данные о DNS и замерить скорость получения IP адреса по домену. Дополнительные опции позволяют задать DNS сервер, на котором стоит осуществить проверку NS записей, его порт, количество попыток проверки и многое другое.

Пример вызова:

$ nslookup опции домен сервер

Смотреть список всех опций

68. IW (*)

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

Пример вызова:

$ iw опции команды

Смотреть список всех опций

69. IFCONFIG

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

Пример вызова:

$ ifconfig опции интерфейс команда параметры адрес

Смотреть список всех опций

70. TCPDUMP (*)

Перехват и анализ сетевых пакетов. Позволяет как просматривать сетевые(входящие и исходящие) пакеты, так и сохранить их в виде дампа в файл, что делает данный инструмент незаменимым в своей нише. Функционал позволяет выводить: все пакеты в формате ASCII, доменное имя для ip адресов, доступные Timestamp, поддерживаемые протоколы подключения и многое другое.

Пример вызова:

$ tcpdump опции -i интерфейс фильтры

Смотреть список всех опций

71. ETHTOOL (*)

Настройка сетевого интерфейса. Данная утилита позволяет производить настройки сетевой карты, задавать скорость её работы 10/100/1000 Mbit, выбирать используемый драйвер, просматривать статистику и даже настраивать работу светового диода на карте.

Пример вызова:

$ ethtool опции интерфейс параметры

Смотреть список всех опций

72. SS

Статистика сетевых подключений. Новый аналог популярной утилиты netstat, но в отличии от неё работающей на основе подсистем ядра Linux. Утилита позволяет просматривать информация о сокетах, портах, TCP, определять сетевые имена адресов с помощью DNS, а также UDP, DHCP, RAW и UNIX сокеты.

Пример вызова:

$ ss опции [фильтр_состояния] [фильтр_адреса]

Смотреть список всех опций

73. NETSTAT (*)

Информация о сетевых соединениях и портах. Утилита позволяет просматривать прослушиваемые порты, показать имя программы и ее PID, а также TCP/UDP порты и IP адреса в числовом виде.

Пример вызова:

$ nc -параметры адрес порт(ы)

Смотреть список всех опций

74. NC (*)

Получение и передача данных по протоколу TCP/UDP. Утилита позволяет проверить порт, просканировать диапазон портов, установить прослушивание на конкретный порт, реализовать обмен сообщениями на подобии чата и даже реализовать простой веб-сервер.

Пример вызова:

$ nc -параметры адрес порт(ы)

Смотреть список всех опций

75. IPERF (*)

Генератор сетевого трафика. Утилита предназначена для тестирования пропускной способности сетей, серверов и маршрутизаторов. Умеет работать в фоновом режиме, использовать протоколы TCP/SCTP/UDP, использовать IP4 или IP6, присутствуют возможность настройки битрейта, можно записывать информацию в лог файл и многое другое.

Пример вызова:

$ iperf3 адрес_сервера опции

Смотреть список всех опций

76. IPTRAF (*)

Мониторинг сетевой активности в режиме реального времени. Утилита поддерживает большое количество сетевых интерфейсов Ethernet, FDDI, ISDN, SLIP, PPP. Также утилита позволяет генерировать сетевой трафик TCP/UDP и отображать сводную статистику по всем сетевым интерфейсам.

Пример вызова:

$ iptraf опции интерфейс

Смотреть список всех опций

77. WGET (*)

Скачивание данных из сети. Утилита позволяет скачивать различные данные из сети, как отдельные файлы, так и сайты целиком с рекурсивным обходом всех найденных ссылок(обработка содержимого страниц). Утилита умеет работать в фоновом режиме, докачивать прерванную загрузку файлов, проверять работоспособность и доступность URL, имитировать различные USER AGENT и так далее.

Пример вызова:

$ wget опции аддресс_ссылки

Смотреть список всех опций

Команды для компиляции и инсталляции программ

Команды для компиляции и инсталляции программ

78. MAKE

Автоматизация преобразования файлов(управление компиляцией из исходников). Работа утилиты описывается правилами размещенными в файле Makefile и включат в себя цели, реквизиты и команды. Есть возможность реализации инкрементной компиляции и многое другое.

Пример вызова:

$ make [ -f make-файл ] [ цель ] ...

Смотреть список всех опций

79. CHECKINSTALL

Генерация готового пакета для установки Slackware-, RPM- или Debian-севместимых. Утилита работает с скомпилированным программным обеспечением из исходных кодов и подготавливает пакет для установки, обновления или удаления используя стандартный менеджер пакетов операционной системы.

Пример вызова:

$ checkinstall [options] [command [command arguments]]

Смотреть список всех опций

80. DPKG

Система управления пакетами в Debian и основанных на ней операционных системах Linux, например Ubuntu. Утилита позволяет, работая на низком уровне, устанавливать, обновлять и удалять пакеты.

Пример вызова:

$ dpkg опции имя_пакета

Смотреть список всех опций

81. APT-GET

Система управления пакетами в Debian. APT (Advanced Package Tool) — более удобный инструмент для работы с пакетами, в сравнении с dpkg, позволяет устанавливать, обновлять и удалять пакеты. Утилита поддерживает репозитории.

Пример вызова:

$ apt опции команда параметры_команды

Смотреть список всех опций

82. APT-CACHE

Очистка кеша и удаление временных пакетов. Утилита предназначена для Debian и основанных на ней операционных системах Linux, например Ubuntu, использующих систему управления пакетами APT. Позволяет очистить жесткий диск от неиспользуемых данных(кеша).

Пример вызова:

$ apt-cache команда

Смотреть список всех опций

83. YUM

Менеджер пакетов Yum (Yellowdog Updater, Modified). Утилита предназначена для RedHat и основанных на ней операционных системах Linux, например CentOS, Scientific Linux (и других). Позволяет устанавливать, обновлять и удалять пакеты.

Пример вызова:

$ yum опции команда имя_пакета

Смотреть список всех опций

84. GCC

Компилятор из сходного кода C или С++. GNU Compiler Collection — включает в себя набор компиляторов для различных языков программирования, последняя актуальная версия также поддерживает языки: C++, Objective-C, Java, Фортран, Ada, Go, GAS и D. Список поддерживаемых архитектур включает в себя порядка более шестидесяти процессоров.

Пример вызова:

$ gcc [option | filename]...

Смотреть список всех опций

Команды для веб-разработчика

Команды для веб-разработчика

85. GIT (*)

Система контроля версий. Любопытный факт, система Git была создана Линусом Торвальдсом для управления разработкой ядра Linux. Система позволяет хранить историю изменения кода, производить сравнение версий кода, клонирование, работать с локальной и сетевой версией репозитория и многое другое. Позволят работать не только с кодом, но и документацией.

Пример вызова:

$ git опции команда аргументы

Смотреть список всех опций

86. PHP (*)

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

Пример вызова:

$ php опции файл_скрипта

Смотреть список всех опций

87. PYTHON (*)

Высокоуровневый язык программирования. Преимущества интерпретатора данного языка программирования, заключается в его широких возможностях по части написания командных файлов ОС. Это значит, на данном языке можно писать приложения взаимодействующие с ОС на прямую(более широкие возможности в сравнении с PHP), аналогично таким языкам как C, C++. Также можно писать скрипты веб-приложений, работающих с базами данных, файловой системой и сокетами.

Пример вызова:

$ python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]

Смотреть список всех опций

88. CRON (*)

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

Пример вызова:

$ crontab опции файл_таблицы

Смотреть список всех опций

89. NGINX ()

Высокоскоростной веб-сервер. Преимущества данного веб-сервера заключается в его скорости работы и возможности кеширования различных типов файлов с высокой отказоустойчивость, модульностью и фильтрами. Поддержка в том числе сжатия (gzip), byte-ranges (докачки), chunked-ответов, HTTP-аутентификации, SSI-фильтров, а также поддержка HTTPS и даже встроенная поддержка Perl.

Пример вызова:

$ nginx опции команда

Смотреть список всех опций

90. APACHE (*)

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

Пример вызова:

$ apache опции команда

Смотреть список всех опций

91. RSYNC (*)

Синхронизация файлов между локальным и удаленным сервером. Достоинством утилиты является быстрая скорость работы(достигается за счет передачи файлов одним потоком), стабильность, поддержка SSH и SSL, кроссплатформенность, а также работа с директориями и рекурсивным обходом всего дерева вложенных файлов и поддиректорий.

Пример вызова:

$ rsync опции источник приемник

Смотреть список всех опций

92. LFTP (*)

Подключение к удаленным хостам с возможностью передачи файлов. Помимо основного протокола передачи данных FTP, по сети, данная утилита также поддерживает работу по протоколам: ftps, http, https, hftp, fish и file. Для работы с SSL утилита должна быть скомпилирована с поддержкой OpenSSL.

Пример вызова:

$ lftp [ -d ] [ -e cmd ] [ -p порт ] [ -u пользователь [, pass ]] [ сайт ]

Смотреть список всех опций

93. MYSQL (*)

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

Пример вызова:

$ mysql опции команда

Смотреть список всех опций

94. MYSQLDUMP (*)

Утилита для выполнения резервного копирования базы данных MySQL. Преимуществами утилиты являются широкие возможности настройки, скорость и стабильность работы. Чаще всего утилита mysqldump используется для получения резервной копии всех баз данных.

Пример вызова:

$ mysqldump [опции] > <в какой файл сделать дамп>

Смотреть список всех опций

95. SCP

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

Пример вызова:

$ scp опции пользователь1@хост1:файл пользователь2@хост2:файл

Смотреть список всех опций

Прочие команды Linux

Прочие команды Linux

96. HISTORY

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

Пример вызова:

$ history опции файл

Смотреть список всех опций

97. AWK

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

Пример вызова:

$ awk опции 'условие {действие} условие {действие}'

Смотреть список всех опций

98. BIFF (*)

Система почтовых уведомлений. Утилита уведомляет пользователя о новых E-Mail используя командную строку Linux. Название утилита получила в честь одного из разработчиков BSD 4.0 из Калифорнийского университета в Беркли. Интересная утилита, но я ей не разу не пользовался, надо попробовать…

Пример вызова:

$ biff опции

Смотреть список всех опций

99. RC

Настройка автозагрузки. Утилита позволяет работать с автозагрузкой в ОС Linux, на уровне ядра и в момент инициализации системы, а также параметрами автозагрузки окружения и командной оболочки bash.

Пример вызова:

$ rc команда

Смотреть список всех опций

100. BASH

Командная оболочка. Born again shell(BASH) — позволяет пользователю отправлять операционной системе команды используя интерактивную командную строку, а также получать результат выполнения команд выводимый на экран терминала. Также оболочка поддерживает работу со списком команд записанных в файл в виде скрипта(.sh).

Пример вызова:

$ bash команда

Смотреть список всех опций

101. SQUID (*)

Кеширующий прокси-сервер. Утилита позволяет организовать прокси-сервер по протоколам HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS, с функцией контроля доступа, ограничения максимальной скорости соединения и обратного кеширования(вместо кэширования запросов нескольких пользователей к множеству сайтов кешируются запросы множества пользователей к нескольким сайтам).

Пример вызова:

$ bash команда

Смотреть список всех опций

Заключение

Работая над этой статьей, я выиграл дважды, во первых составил список-шпаргалку(для себя и для вас), а во вторых еще раз освежил в памяти некоторые команды! Имея данный список команд под рукой, всегда можно быть уверенным в том, что при возникновении внештатной ситуации не придется долго искать решение(когда времени нет), а достаточно будет просто взять несколько подходящих команд из списка, ознакомиться с их опциями и решить задачу. Данный список полезен еще и тем, что прочитав его единожды, у неопытного пользователя сформируется представление о широких возможностях ОС Linux, а также о возможностях использования командной строки.

Решение любых задачи по системному администрированию Linux
Заказать услугу >>

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Оформить предзаказ
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка