| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| linux:console:base_comands [2022/08/29 19:52] – [Команды Linux для управления файлами] so_v_a | linux:console:base_comands [2026/09/08 09:33] (текущий) – so_v_a |
|---|
| | <!DOCTYPE markdown> |
| | |
| # 42 команды Linux которые стоит знать | # 42 команды Linux которые стоит знать |
| |
| Здесь представлены основные простые и сложные команды Linux, которые должен знать пользователь, чтобы наиболее эффективно управлять своей системой. | Здесь представлены основные простые и сложные команды Linux, которые должен знать пользователь, чтобы наиболее эффективно управлять своей системой. |
| |
| ## Команды Linux для управления файлами | ## Команды Linux для управления файлами |
| |
| ## Команды консоли Linux для работы с текстом | ## Команды консоли Linux для работы с текстом |
| |
| 19. **MORE/LESS** - Это две простенькие команды терминала для **_просмотра длинных текстов, которые не вмещаются на одном экране_**. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью **less**. **Less** новее, чем **more** и поддерживает больше опций, поэтому использовать more нет причин. | 19. **more/less** - Это две простенькие команды терминала для **_просмотра длинных текстов, которые не вмещаются на одном экране_**. |
| | Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью **less**. **Less** новее, чем **more** и поддерживает больше опций, поэтому использовать more нет причин. |
| |
| 20. **HEAD/TAIL** - Ещё одна пара, но здесь у каждой команды своя область применения. Утилита **head** **_выводит несколько первых строк из файла_** (голова), а **tail** **_выдает несколько последних строк_** (хвост). По умолчанию каждая утилита выводит _десять строк_. Но это можно изменить с помощью опции `-n`. Ещё один полезный параметр `-f`, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите _следить за лог файлом_, вместо того, чтобы постоянно открывать и закрывать его, используйте команду `tail -nf`. | 20. **head/tail** - Ещё одна пара, но здесь у каждой команды своя область применения. Утилита **head** **_выводит несколько первых строк из файла_** (голова), а **tail** **_выдает несколько последних строк_** (хвост). |
| | По умолчанию каждая утилита выводит _десять строк_. Но это можно изменить с помощью опции `-n`. |
| | Ещё один полезный параметр `-f`, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите _следить за лог файлом_, вместо того, чтобы постоянно открывать и закрывать его, используйте команду `tail -nf`. |
| |
| 21. **GREP** - **Grep**, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она **_ищет текст по шаблону_**. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. | 21. **grep** - **Grep**, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она **_ищет текст по шаблону_**. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. |
| |
| 22. **SORT** - **_Сортировка строк текста по различным критериям_**. Наиболее полезные опции: `-n` (Numeric), по числовому значению, и `-r` (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды. | 22. **sort** - **_Сортировка строк текста по различным критериям_**. Наиболее полезные опции: |
| | `-n` (Numeric), по числовому значению, и |
| | `-r` (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды. |
| |
| 23. **WC** - Утилита командной строки Linux для **_подсчёта количества слов, строк, байт и символов_**. | 23. **wc** - Утилита командной строки Linux для **_подсчёта количества слов, строк, байт и символов_**. |
| | |
| 24. **DIFF** - **_Показывает различия между двумя файлами в построчном сравнении_**. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом `с`, удалнные - `d`, а новые - `а`. | |
| |
| | 24. **diff** - **_Показывает различия между двумя файлами в построчном сравнении_**. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом `с`, удалнные - `d`, а новые - `а`. |
| |
| ## Команды linux для управления процессами | ## Команды linux для управления процессами |
| |
| 25. **KILL/XKILL/PKILL/KILLALL** - **_Служат для завершения процессов_**. Но они принимают различные параметры для идентификации процессов. **Kill** нужен PID процесса, **xkill** - достаточно кликнуть по окну, чтобы закрыть его, **killall** и **pkill** принимают имя процесса. Используйте ту, которая удобна в определенной ситуации. | 25. **kill/xkill/pkill/kilall** - **_Служат для завершения процессов_**. Но они принимают различные параметры для идентификации процессов. |
| | **Kill** нужен PID процесса, |
| | **xkill** - достаточно кликнуть по окну, чтобы закрыть его, **killall** и **pkill** принимают имя процесса. |
| | Используйте ту, которая удобна в определенной ситуации. |
| |
| 26. **PS/PGREP** - Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита **ps**, которая **_печатает информацию о запущенных процессах_**. По умолчанию вывод очень длинный, поэтому используйте опцию `-e`, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда **ps** с ключом `aux` **_выводит полную информацию о процессах_**. **Pgrep** работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор. | 26. **ps/pgrep** - Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита **ps**, которая **_печатает информацию о запущенных процессах_**. |
| | По умолчанию вывод очень длинный, поэтому используйте опцию `-e`, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. |
| | Команда **ps** с ключом `aux` **_выводит полную информацию о процессах_**. |
| | **Pgrep** работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор. |
| |
| 27. **TOP/HTOP** - Обе команды похожи, обе **_отображают процессы и могут быть использованы как консольные системные мониторы_**. Рекомендуется установить **htop**, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс. | 27. **[[..:top|]]/[[..:htop|]]** - Обе команды похожи, обе **_отображают процессы и могут быть использованы как консольные системные мониторы_**. Рекомендуется установить **htop**, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс. |
| |
| 28. **TIME** - **_Время выполнения процесса_**. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду **date**. | 28. **time** - **_Время выполнения процесса_**. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду **date**. |
| |
| ## Команды Linux окружения пользователя | ## Команды Linux окружения пользователя |
| ## Команды Linux для управления пользователями | ## Команды Linux для управления пользователями |
| |
| 35. **USERADD/USERDEL/USERMOD** - Эти команды консоли Linux позволяют вам **_добавлять, удалять и изменять учетные записи пользователей_**. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай. | 35. **useradd/userdel/usermod** - Эти команды консоли Linux позволяют вам **_добавлять, удалять и изменять учетные записи пользователей_**. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай. |
| | |
| 36. **PASSWD** - Эта команда позволяет **_изменить пароль учетной записи пользователя_**. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности - менять пароль почаще. | |
| |
| | 36. **passwd** - Эта команда позволяет **_изменить пароль учетной записи пользователя_**. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности - менять пароль почаще. |
| |
| ## Linux команды для просмотра документации | ## Linux команды для просмотра документации |
| |
| 37. **MAN/WHATIS** - Команда **man** **_открывает руководство по определённой команде_**. Для всех основных команд Linux есть man страницы. **Whatis** **_показывает, какие разделы руководств есть для данной команды_**. | 37. **man/waits** - Команда **man** **_открывает руководство по определённой команде_**. Для всех основных команд Linux есть man страницы. **Whatis** **_показывает, какие разделы руководств есть для данной команды_**. |
| | |
| 38. **WHEREIS** - **_Показывает полный путь к исполняемому файлу программы_**. Также может показать путь к исходникам, если они есть в системе. | |
| |
| | 38. **whereis** - **_Показывает полный путь к исполняемому файлу программы_**. Также может показать путь к исходникам, если они есть в системе. |
| |
| ## Команды Linux для управления сетью | ## Команды Linux для управления сетью |
| |
| 39. **IP** - Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита - **ip**. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. | 39. **ip** - Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита - **ip**. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. |
| | |
| | 40. **ping** - **Ping** - это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом. Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи. |
| | |
| | 41. **nethogs** - Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты **nethogs**. Для того чтобы задать сетевой интерфейс используйте опцию `-i`. |
| | |
| | 42. **traceroute** - Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов. |
| |
| 40. **PING** - **Ping** - это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом. Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи. | ## Команды Linux для получения информации о системе. |
| |
| 41. **NETHOGS** - Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты **nethogs**. Для того чтобы задать сетевой интерфейс используйте опцию `-i`. | 43. 𝘂𝗻𝗮𝗺𝗲 - Информация об операционной системе и аппаратной платформе Linux-машины |
| | 44. 𝗹𝘀𝗰𝗽𝘂 - Получить информацию о процессоре системы |
| | 45. 𝗹𝘀𝗵𝘄 - Информация об аппаратной конфигурации системы |
| | 46. 𝗹𝘀𝗯𝗹𝗸 - Перечисляет информацию обо всех доступных или указанных блочных устройствах |
| | 47. 𝗱𝗳 - Отображение использования дискового пространства. |
| | 48. 𝗱𝘂 - Оценка использования пространства в файлах. |
| | 49. 𝗳𝗿𝗲𝗲 - Отображение объема свободной и используемой памяти в системе. |
| | 50. **lsb_release -a** - Отображает LSB (Linux Standard Base) информацию про установленный дистрибутив Debian |
| |
| 42. **TRACEROUTE** - Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов. | |
| |