101 команда Linux на все случаи жизни
Приветствую друзья! Ежедневно я работаю с серверами под управлением ОС Linux, а именно Debian, CentOS и Ubuntu (индекс версии не пишу, так как на моих серверах установлены разные версии, работаю со всеми ими). Несмотря на то, что с Linux я работаю уже как пару десятков лет, запомнить все команды и их параметры мне до сих пор не удалось. Потому я составил список часто используемых(и не очень) команд Linux которые могут мне понадобиться и решил поделиться им с вами. Получилась своего рода шпаргалка. По своей сути все команды в Linux представляют собой отдельные программы(и утилиты), часть из них предустановлена в минимальных версиях сборки ОС, другая же часть нуждается в отдельной установке.
Содержание
- История команд Linux
- Команды для работы с файлами
- Команды для работы с текстом
- Команды для работы с процессами
- Команды для работы с окружением пользователя
- Команды для работы с аккаунтами
- Команды для работы с безопасностью
- Команды для работы с документацией
- Команды для работы с сетью
- Команды для компиляции и инсталляции программ
- Команды для веб-разработчика
- Прочие команды Linux
- Заключение
Заказать услугу >>
История команд Linux
Как известно операционная система Linux бала разработана Линусом Торвальдсом на безе ранее созданного проекта от телефонной корпорации(на тот момент) AT&T под всем знакомым нам названием Unix, разработанного в 1970-х годах такими авторитетами мира разработки как Кеном Томпсоном, Деннисом Ритчи и другими членами их команды, которые трудились в исследовательском центре Bell Labs(принадлежавшем выше упомянутой корпорации). Поэтому множество используемых команд и по сей день в Linux, это команды(программы и утилиты) напрямую позаимствованные из ОС Unix, которые в свою очередь были настоль хорошо спроектированы и написаны, что прошли путь в несколько десятилетий практически без изменений.
Одна из основных идей, лежащих в основе разработки данных команд, это их узкая специализация — когда одна конкретная команда, выполняет одно конкретное действие(с рядом параметров, позволяющих несколько изменить её результат работы). Вторая крайне значимая идея — это возможность перенаправления как источника входящих данных, так и выходящих. То есть, любая команда может получить данные из любого файла, устройства, интерфейса или сети и отправить их аналогично по любому из этих направлений. И пожалуй третья идея «на миллион», это система конвейеров — возможность составлять из команд цепочки вызовов, прописав команды используя разделитель вертикальную черту «|». Суть конвейера проста, первая команда получает данные, работает с ними и результат посылает второй в цепочке команде, и так по всему списку. Эти три основные идеи, сделали 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
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, а также о возможностях использования командной строки.
Заказать услугу >>
Похожие записи
Оставить комментарий
Full Stack
Senior, Architect
предложить оффер
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- Интеграция с API ОСАГО сайта sravni.ru
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
Archive
- +2024 (25)
- Ноябрь 2024 (10)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Интеграция платежной системы MoonPay на сайт по API 10.11.2024
- Парсер товаров с Taobao 08.11.2024
- Упаковка и минификация кода JavaScript онлайн 07.11.2024
- Как эффективно анализировать логи при DDOS атаке 07.11.2024
- Бот для автоматических заказов на OZON (плагин для Chrome) 07.11.2024