- Основные системные утилиты
- CDE (CDEpack)
- CopyQ
- Coreutils
- Diodon
- fbxkb
- Findutils
- Finit
- Flatpak
- Консольные утилиты Linux, которые смогут облегчить вам жизнь
- Почему стоит написать об этом
- Перейдем к списку
- Передвижение по директориям
- Ranger
- Быстрый поиск
- autojump
- Редактирование
- Сами терминалы
- Alacritty (самый быстрый)
- Hyper (самый красивый)
- Быстрая справка (или поиск чего-либо)
- howdoi
- Веб-разработка
- Дополнительные утилиты
- trash-cli
- text-meme-cli
- asciinema
- Youtube-dl
- picofeed
- terminalnews
- А что за список?
- 9. Системные утилиты¶
- Управление ПО¶
- Поиск программ¶
- Установка и удаление программ¶
- Исправление зависимостей¶
- Настройки программ¶
- Управление сервисами¶
- Содержимое пакета¶
- Обеспечение безопасности¶
- Полезное¶
- Зависимости пакетов¶
- Экономия трафика¶
- Чистка distfiles¶
- Дефрагментация дисков¶
- Проверка жесткого диска¶
- Полезные консольные Linux утилиты
Основные системные утилиты
ALSA (Advanced Linux Sound Architecture) — это звуковая подсистема для Linux.
CDE (CDEpack)
Автоматическое создание портативных/переносимых приложений.
CopyQ
Многофункциональный менеджер буфера обмена.
Coreutils
GNU Core Utilities (или coreutils) — пакет программного обеспечения GNU, содержащий большое количество основных утилит, таких как cat, ls и rm, необходимых для UNIX-подобных операционных систем.
D-Bus — система межпроцессного взаимодействия, которая позволяет приложениям в операционной системе общаться друг с другом.
Diodon
Расширяемый плагинами менеджер буфера обмена.
fbxkb
Маленький индикатор раскладки клавиатуры.
Findutils
Набор утилит, предоставляющих доступ через командную строку к переключению беспроводных профилей, синхронизации часов после выхода из режима ожидания, резервному копированию системных конфигурационных файлов, запуску приложений и т.д.
Finit
Finit — это простая альтернатива SysV init и systemd, являющая форком EeePC fastinit.
Flatpak
Flatpak (ранее xdg-app) предлагает систему для сборки самодостаточных пакетов для графических приложений, которые не привязаны к конкретным дистрибутивам Linux и выполняются в специальном контейнере, изолирующем приложение от остальной системы.
GPM — это аббревиатура от англ. general purpose mouse («мышь общего назначения») в виртуальных консолях Linux. Включается во все дистрибутивы Linux.
Источник
Консольные утилиты Linux, которые смогут облегчить вам жизнь
Немного о утилитах на консоли, которые знают немногие, однако они могут быть полезны как для начинающего джуна, так и для крепкого сеньора.
Почему стоит написать об этом
Написать о утилитах (прежде всего консольных) стоит из-за того, что я вижу, как многие люди не используют мощность консоли на все 100%. Многие ограничиваются простым созданием файлов, а также переходом между директориями, работая в консоли. Я считаю что это следствие того, что в рунете мало источников, где бы могли нормально рассказать о утилитах, как на них работать, и что они делают.
Оценивать утилиты мы будем по 5-бальной шкале. Сделано это для того, чтобы вы сразу могли понять, где на мой субъективный взгляд, одна утилита на голову выше другой. Я не призываю использовать что-то определенное, или использовать только командные утилиты. Нет, наоборот, я просто даю вам выбор. Пользоваться или нет полученными знаниями, на которые я потратил кучу времени — дело ваше.
Я сразу хочу сказать, что в этом посте присутствуют утилиты, которые понадобились непосредственно мне при разработке. Если у вас есть свои предложения как дополнить этот список, милости прошу в комментарии.
Перейдем к списку
Передвижение по директориям
ViFM — vim-подобный файловый менеджер, который способен быстро переходить между директориями и выполнять какие-либо операции с файлами и директориями посредством ввода команд или хоткеев. По умолчанию представляет из себя две панели (чёрную и белую) между которыми вы можете переключаться.
Оценка: 3, ибо для того чтобы пользоваться этим ФМ, вам нужно будет выучить кучу vim-подобных команд, а также знать хоткеи vim’а
mc (Midnight Commander) — классика в Linux’e. С помощью него вы сможете также быстро перемещаться между директориями, менять права доступа, открывать файлы с помощью встроенного редактора, а также многое другое. В программу встроен довольно понятный интерфейс, где внизу находятся хоткеи, а вверху две панели (между которыми вы переключаетесь с помощью клавиши Tab).
Оценка: 5. Это то, что нужно новичку, и подходит продвинутому пользователю. Вам не нужны никакие предварительные знания, чтобы полноценно использовать этот ФМ.
Ranger
Ranger — ещё один ФМ с вим-подобной раскладкой. Однако, на этот раз утилита написана на Python, что делает её медленнее, но в то же время чертовски гибкой и удобной. Вы можете открывать файлы сразу из менеджера с помощью rifle (сценарий, который ищет какая программа подойдет для открытия данного файла на вашем ПК). Также доступно редактирование, просмотр быстрых клавиш (отдельно от мануала, который вызывается командой :help), и много других плюшек.
Оценка: 4. Было бы 5, если бы не скорость работы
Быстрый поиск
Быстрый поиск не доступен на оболочке Gnome, например. (Здесь говорится о быстром поиске включая содержимое файлов. Gnome же обладает просто поиском, причем ещё и очень медленным)
fzf (FuzzyFinder) — утилита для быстрого поиска среди директорий, а также текста в определенном массиве файлов. Она может быть легко заменена на find, однако является его более быстрым и удобным аналогом.
Оценка: 5. Утилита отлично выполняет свою работу.
hf (happyfinder) — ещё одна утилита для быстрого поиска в директориях и файлах. Отличается тем, что доступны также некоторые хоткеи и использование команд в самой утилите реализовано чуточку удобнее, чем у конкурента
autojump
autojump — утилита для быстрого перепрыгивания через папки к определенному файлу.
Редактирование
Тут я ограничюсь только списком утилит. Ибо редактор — то, чем вы пользуетесь постоянно (а если не пользуетесь, то тем более вам не нужны лишние объяснения), поэтому тут на вкус и цвет
- Vim
- NeoVim
- Nano (стандартный редактор Linux)
- Vi (ещё один стандартный редактор Linux)
- Emacs
- Micro
- Kakoune
- Doom Emacs (просто конфигурация Emacs, однако изменяет его так, что это уже совсем не похоже на ванильный Emacs)
Сами терминалы
Alacritty (самый быстрый)
Alacritty — эмулятор терминала на Linux/Windows/MacOS, который считается самым быстрым (так пишет сам автор этого терминала)
Оценка: 4. На мой субъективный взгляд — не самый удобный и комфортный терминал.
Hyper (самый красивый)
Hyper — терминал, который заслуживает того, чтобы вы попробовали использовать его на своей системе. Его интерфейс сделан с помощью CSS/HTML, а базируется он на фреймворке Electron (что конечно же будет делать его немножко прожорливее)
Оценка: 5. Терминал удобный и красивый. Он расширяемый и в нём есть куча фич.
Быстрая справка (или поиск чего-либо)
ddgr — командная утилита, которая позволяет пользоваться DuckDuckGo прямо из консоли.
Оценка: 5. Программа быстро выполняет запрос и отдаёт результаты (естественно, ибо не нужно прогружать HTML/CSS. Всё быстренько парсится)
tldr — замена стандартного man, который умеет всё тоже самое, однако вместо того, чтобы давать полный мануал к программе, она даёт краткие вырезки для быстрого использования
Оценка: 4. Иногда tldr выдаёт уж слишком короткую справку, а также на многие программы просто нет документации в tldr
howdoi
howdoi — парсит ответы с разных сайтов на вопросы о программировании.
Оценка: 3. Часто находит ответы на совсем не те вопросы. Также крайне неудобно, что ответ выводится только один
navi — консольная утилита, подобная howdoi, однако отвечающая сугубо на вопросы о командах консоли
how2 — утилита подобная howdoi, однако дающая выбор на какой вопрос посмотреть ответ. (Парсит всё с StackOverflow)
Оценка: 5. Лучшая утилита для быстрого поиска решений
Веб-разработка
Surge — утилита для быстрого пуша сайтов на бесплатный (или платный, в зависимости от ваших требований) сервер
Caniuse — консольная утилита, которая говорит какие теги поддерживаются в браузерах
Дополнительные утилиты
trash-cli
trash-cli — утилита для просмотра того, что содержится в корзине
buku — утилита для быстрой сортировки и хранения закладок сайтов со всех браузеров.
tmux — терминальный мультиплексор. Делит окно вашего терминала на панели. Очень удобно, когда в вашем распоряжении нет GUI вообще.
text-meme-cli
text-meme-cli — утилита для создания анимации текста на каком-либо фоне.
asciinema
asciinema — утилита для записи хронологии команд терминала в гиф-файл.
Youtube-dl
youtube-dl — утилита для скачивания видео/аудио с видеохостинга Youtube.
picofeed
picofeed — легкий RSS клиент для консолей
terminalnews
terminalnews — ещё один удобный RSS-клиент для консоли.
А что за список?
Это список утилит, которые я использую сам лично. Дополнительный список вы можете найти здесь ссылка на репозиторий GitHub
Я настоятельно попрошу вас дополнить список своими утилитами в комментариях. Если этот пост принёс в ваш терминал хоть чуточку чего-нибудь нового — был рад посодействовать.
Источник
9. Системные утилиты¶
Управление ПО¶
Поиск программ¶
Для быстрого поиска программ служит программа eix (пакет app-portage/eix ), имеющая собственную базу данных для ускорения поиска.
Отобразить список установленных пакетов можно при помощи команды:
Отобразить список установленных пакетов с версией:
Отобразить список установленных пакетов с версией и USE флагами:
Если вы не нашли интересующей вас программы в дереве портежей, вы можете поискать ее в оверлеях. Для поиска воспользуйтесь сайтом http://gpo.zugaina.org . Название оверлея будет справа в нижней строке результата поиска.
Прежде чем установить программу, найденную на сайте, подключите оверлей в вашу систему, выполнив:
Список оверлеев можно получить командой:
Установка и удаление программ¶
Для установки и удаления программ используйте программу emerge ( sys-apps/portage) .
В приведенном примере будет установлена игра kgoldrunner и удалена программа mc (Midnight Commander).
В случае если программа замаскирована, вы можете воспользоваться опцией —autounmask для вызова справки по размаскировке пакетов.
Пример установки замаскированной версии пакета:
В конце перечня пакетов, подлежащих установке, вы увидите следующие рекомендации:
Поместите текст под фразой «The following keyword changes are necessary to proceed:» в файл /etc/portage/package.keywords/custom (комментарии можно опустить).
Есть и более простой способ подтверждения размаскировки — использовать dispatch-conf (см. ниже).
Исправление зависимостей¶
Когда вы вносите изменения в установленные пакеты, может наступить случай нарушения зависимостей. Чтобы выявить и исправить такие нарушения, мы рекомендуем после обновления или удаления какой-либо программы выполнять команду revdep-rebuild .
Настройки программ¶
Во время обновления программ, для предотвращения ошибок, новые файлы настроек создаются с суффиксом ._cfg0000_ . Для некоторых сервисов важно после обновления заменять старые настройки новыми. Иногда старые настройки могут привести в нерабочее состояние установленную программу, например, старые скрипты запуска сервисов, расположенные в директории /etc/init.d .
Для своевременной замены конфигурационных файлов используйте программу dispatch-conf .
После запуска программа будет показывать отличия новой версии каждого конфигурационного файла от старого. Обратите внимание: если настройки файла были модифицированы Calculate (вы увидите соответствующий комментарий), заменять эти настройки не следует — нажмите клавишу z для пропуска изменений. Для замены файла новым нажмите клавишу u .
Управление сервисами¶
Для добавления и удаления скрипта из уровня запуска служит скрипт rc-update .
Показать запущенные сервисы можно командой:
Содержимое пакета¶
Получить перечень файлов установленного пакета, а также узнать, какому пакету принадлежит файл в системе, можно при помощи программ qlist и qfile ( app-portage/portage-utils ).
Вам также может пригодиться программка which ( sys-apps/which ), показывающая путь к файлу.
Обеспечение безопасности¶
Постоянное обновление системы — одно из важнейших мероприятий по обеспечению безопасности.
Можно следить за обновлениями посредством GLSA — glsa-check ( app-portage/gentoolkit ).
Просмотреть пакеты, которые необходимо переустановить:
Переустановка уязвимых пакетов:
Не помешает после этой операции проверить зависимости, см. выше Исправление зависимостей.
Полезное¶
Зависимости пакетов¶
Получить информацию о зависимостях пакетов можно с помощью программы qdepends ( app-portage/portage-utils ).
Экономия трафика¶
Если у Вас дорогой или лимитированный трафик, то можно сэкономить с помощью пакета getdelta .
Для его установки, если у вас архитектура i686, выполните:
Необходимо добавить в файл /etc/make.conf строку:
Далее все действия не отличаются от обычной установки программ, с той лишь разницей, что качаются дельты исходников, что значительно сокращает объем необходимого на обновление трафика.
Чистка distfiles¶
С течением времени может накопиться достаточно большое количество разных версий пакетов программ. При нехватке дискового пространства вы можете удалить пакеты с устаревшими версиями программ, для этого воспользуйтесь программой eclean-dist ( app-portage/gentoolkit ):
Дефрагментация дисков¶
Современные файловые системы, используемые в Linux, минимизируют фрагментацию дисков, поэтому существует достаточно небольшое количество программ для дефрагментации.
Для файловой системы XFS — пакет sys-fs/xfsdump (утилиты для дефрагментации и настройки XFS).
Пример команды для просмотра текущей фрагментации диска:
где Х — номер раздела.
Пример команды для дефрагментирования:
Проверка жесткого диска¶
Для проверки жесткого диска на битые секторы используйте утилиту badblocks .
Источник
Полезные консольные Linux утилиты
В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.
Осторожно много скриншотов. Добавил до ката утилиту binenv.
binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.
Bat — это клон команды cat с дополнительной разметкой и подсветкой синтаксиса для большого количества языков программирования, а также интеграцией Git для отображения изменений файлов. Подробнее на русском.
Exa – это изящный инструмент командной строки, получивший множество похвал за то, что он является современной заменой старой доброй команде ls. И это справедливо, учитывая его способность использовать разные цвета при отображении различных типов файлов, прав доступа к файлам и прав собственности, блоков и информации inode, чтобы упомянуть лишь некоторые из них. Подробнее на русском.
Fd — это простой, быстрый и удобный инструмент, предназначенный для более простой и быстрой работы по сравнению с командой find. Подробнее на русском.
Procs — это современная замена ps, программы командной строки по умолчанию в Unix / Linux для получения информации о процессах. По умолчанию он обеспечивает удобный, понятный для человека (и цветной) формат вывода. Подробнее на русском.
Sd — это интуитивно понятный инструмент командной строки для поиска и замены, он является альтернативой sed. sd имеет более простой синтаксис для замены всех вхождений и использует удобный синтаксис регулярных выражений, который вы уже знаете из JavaScript и Python. Sd также в 2-11 раз быстрее, чем sed.
Dust — опрятная версия дефолтного du, c удобной записью памяти, цветом и отступами.
Starship — очень приятный prompt который легко накатывается поверх zsh, fish, bash и прочего.
Ripgrep — быстрый поиск с возможностью замены по содержимому в файлах, аналог GREP, ASK, написан на RUST, понимает регулярные выражения, игнорирует ресурсы указанные в .gitignore, автоматически пропускает бинарные, скрытые файлы. Подробнее на русском.
Ripgrep-all — Инструмент поиска, ориентированный на строки, который позволяет вам искать по регулярному выражению во множестве типов файлов. Ripgrep-all является оберткой над ripgrep и позволяет ему искать в pdf, docx, sqlite, jpg, субтитрах фильмов (mkv, mp4) и т. д.
Grex — это инструмент командной строки и библиотека для генерации регулярных выражений из предоставленных пользователем тестовых примеров. Созданное регулярное выражение имеет синтаксис PCRE.
Fzf — инструмент для «фильтрации» любых списковых данных в консоли. Может использоваться для фильтрации списка файлов, истории команд, процессов, hostnames, коммитов и прочего. Подробнее на русском.
Jq — это легкий и гибкий JSON-процессор командной строки. Подробнее на русском.
Peco — инструмент, способный сильно облегчить навигацию, а также поиск. Это небольшая утилита, которая принимает на вход список строк и выводит на экран псевдографическое меню, с помощью которого можно выбрать или найти нужную строку. Далее peco отдает эту строку на выход и завершает свою работу (по сути, это консольный аналог dmenu). Подробнее на русском.
HTTPie — HTTP клиент для командной строки, с поддержкой json, понятным интерфейсом, подсветкой синтаксиса и прочим. Подробнее на русском.
xh — удобный и быстрый инструмент для отправки HTTP-запросов. Он в максимально возможной степени воплощает превосходный дизайн HTTPie.
Rebound — это инструмент командной строки, который мгновенно извлекает результаты Stack Overflow при возникновении исключения. Просто используйте команду rebound для запуска вашего исполняемого файла.
HTTP Prompt – это интерактивный HTTP-клиент командной строки, созданный на основе prompt_toolkit и HTTPie с более чем 20 темами. Его основные функции включают в себя автоматическое заполнение, подсветку синтаксиса, автоматические куки, Unix-подобные конвейеры, совместимость с HTTpie, http-подсказка, которая сохраняется между сеансами и интеграцию OpenAPI / Swagger. Подробнее на русском.
shell2http — Простой веб сервер для удаленного выполнения команд.
reachable — инструмент, который поможет вам проверить, работает ли домен или нет.
Lazydocker — пользовательский интерфейс для управления докером. С его помощью больше не нужно запоминать команды, алиасы и следить за контейнерами через несколько терминальных окон. Всё это теперь собрано в одном окне. Просмотр состояния, логов, метрик; перезапуск, удаление, восстановление контейнеров и сервисов. Подробнее на русском.
Clog-cli — утилита для создания changelogs из истории коммитов Git.
Gotty — программа позволяет организовывать общий доступ к приложениям командной строки через браузер. Подробнее на русском.
mosh — утилита Mosh (сокращение от mobile shell), обладающая всеми преимуществами безопасности SSH, является более устойчивой в условиях плохих сетевых и мобильных соединений. Кроме того, данное приложение увеличивает способность к реагированию и снижает использование полосы пропускания. Создание подключения и авторизация в Mosh происходят через обычное соединение SSH, что значит, что для безупречной работы каких-либо механизмов безопасности на основе ключей нужно внести всего несколько дополнительных конфигураций. После проверки подлинности ключа Mosh начинает взаимодействие через зашифрованные датаграммы UDP, что делает сессию более устойчивой к изменяющимся клиентским IP-адресам и перебоям соединений, которые часто случаются при использовании мобильных устройств. Подробнее на русском.
ngrok — Безопасные интроспективные туннели к localhost.
tmate — Мгновенный доступ к терминалу (tmux).
Lazygit — псевдографический консольный клиент для Git. Если у вас есть проблемы с восприятием основных моментов в работе с Git-репозиторием из консоли, то вы всегда можете воспользоваться графическим клиентом. Один из них — Lazygit, псевдографический клиент, написанный на языке Go с использованием библиотеки gocui. В официальном описании программы автор описывает, как трудно бывает понять, что и как нужно сделать в гите, если там больше одной ветви или коммита, и как хорошо при этом помогает разобраться его клиент. Думаю, что описывать все возможности программы нет смысла, так как что еще можно сказать про гит, кроме как «позволяет коммитить, мержить и так далее»?
GNU parallel — это инструмент оболочки для параллельного выполнения работ используя один или более компьютер. В качестве работы может быть единичная команда или небольшой скрипт, который должен быть запущен для каждой строки из полученного ввода. Типичным вводом является список файлов, список хостов, список пользователей, список URL, список таблиц. В качестве работы может быть команда, которая считывает по трубе (pipe). GNU parallel затем может разбить ввод на блоки и передать блоки по трубе параллельно в каждую команду. GNU parallel может заменить вам программы xargs и tee. А также не только заменить циклы (loops), но и сделать их выполнение более быстрым за счёт параллельного выполнения нескольких работ. Подробнее на русском.
Bottom — консольное приложение для мониторинга процессов и загрузки системы. Подробнее на русском.
Bandwhich — net monitor с раскладкой по процессам, который работает и на FreeBSD.
mtr — MyTraceRoute Великолепная замена traceroute и аналогам
gdu — Более шустрый и фичастый аналог ncdu (ncurses du), на Go. Удобнее штатного du, при разборах «куда же делось свободное место».
Dog — это красивый DNS-клиент командной строки для поиска DNS, который работает как dig. Он имеет красочный вывод, понимает обычный синтаксис аргументов командной строки, поддерживает протоколы DNS-over-TLS и DNS-over-HTTPS и может генерировать JSON.
dnsmeter — это инструмент для тестирования производительности сервера имен и инфраструктуры вокруг него. Он генерирует DNS-запросы и отправляет их через UDP на целевой сервер имен и считает ответы.
Gitleaks — это инструмент SAST для обнаружения жестко закодированных секретов, таких как пароли, ключи API и токены в репозиториях git. Gitleaks — это простое в использовании универсальное решение для поиска секретов прошлого или настоящего в вашем коде.
localtls — DNS-сервер для предоставления TLS веб-сервисам на локальных адресах
fx — альтернатива jq для обработки JSON из командной строки. Подробнее на русском.
dnspeep — простая утилита, которая позволяет просмотреть DNS запросы.
Dive — инструмент для изучения образа Docker, содержимого слоев и поиска способов уменьшить размер вашего образа Docker/OCI.
datanymizer — Мощный анонимайзер базы данных с гибкими правилами. Подробнее на русском.
termshark — консольный интерфейс терминала для tshark, вдохновленный Wireshark
sysinfo — Скрипт на основе Python для получения системной информации из Linux.
SSH-Attack-Stats — Простой скрипт, который будет запущен в MOTD на сервере Linux и сообщит вам статистику атак.
dry — менеджер для Docker, по ощущениям гораздо быстрее и отзывчивее чем «LazyDocker»
gh — утилита для работы с GitHub из консоли, например можно создать Pull Request
gitlab — аналогичная утилита для работы с GitLab (неофициальная)
watch — запуск любой команды каждые N секунд, позволяет на раз-два сделать реалтайм мониторинг в консоли
runnel — автоматический запуск туннелей SSH с переподключением при обрыве соединения
Ниже утилиты и краткое описание со статьи Sysadmin-util: полезные инструменты для системных администраторов Linux. Подробнее об этих утилитах вы найдете в этой статье.
Ago — Данный инструмент выводит в удобочитаемом формате информацию, как давно файл или каталог были изменены.
Cronic – инструмент запускает команду тихо, пока не завершится неудачей, т.е. он запускает команду и скрывает STDOUT и STDERR, если она успешно завершается. Это полезно для заданий cron.
cidr2ip — Он преобразует блоки CIDR в составляющие их IP-адреса.
collapse — Инструмент collapse удаляет пустые строки и строки, содержащие пробелы, из заданных файлов.
dupes — Инструмент dupes сообщит о идентичных файлах. Это поможет вам найти дубликаты файлов, которые содержат то же самое содержимое. Утилита сравнивает у файлов хэш SHA1 .
empty-dir — Этот инструмент проверит, является ли данный каталог пустым или нет.
expand-ipv6 — Этот инструмент расширяет указанные сокращенные / сжатые адреса IPv6 до их полной формы. Это может быть полезно при настройке DNS.
multi-ping — Это многопротокольная оболочка ping. Он используется для проверки подключения удаленного хоста независимо от того, является ли он хостом IPv6 или IPv4. Значение: если пульт использует IPv4, он вызывает команду ping для проверки возможности подключения. Если удаленный хост использует IPv6, он вызовет команду «ping6».
pyhttpd — Это простой HTTP-сервер на Python, который позволяет мгновенно настроить базовый web-сервер.
randpass — Утилита randpass используется для генерации случайного пароля из командной строки.
since — Он показывает любой новый контент с момента последнего чтения файла. Это полезно для отслеживания файлов журнала.
ssl-expiry-date — Отображает дату истечения срока действия сертификата SSL данного домена или хоста.
timeout — Это позволяет пользователю выполнить команду для определенного интервала и уничтожить ее.
until-error & until-success – повторять команды до тех пор, пока не произойдет сбой или успешно выполнится
when-down & when-up – ждет, пока хост не упадет/ поднимется
mysql-slave-check – выяснить, является текущий хост – ведомым или нет
which-shell – определить оболочку, под которой мы работаем, и т. д.
Утилиты из пакета Moreutils:
sponge — «губка» для стандартного ввода. Подробнее на русском
Утилиты ниже взял из канала https://t.me/SysadminNotes
ssh-config — простая штуковина, позволяющая работать с конфигом SSH.
ssh-tools — набор из нескольких утилит. Проверяем удалённые хосты, получаем информацию о них и т. п.
assh — серьёзный инструмент, который позволяет иначе взглянуть на привычную работу с SSH. Тут вам и регулярки, и возможность использования шаблонов, хуки, работа с конфигом SSH клиента. Причём, lib-ssh запускает assh через ProxyCommand, а значит что весь этот функционал мы можем использовать и с scp, и c rcync’ом, и с git’ом, например.
domain-check-2 — Простой скрипт для проверки срока истечения важных для нас доменных имён. Подробнее на русском
[pingtop]() — интересная top утилита, с помощью которой можно пинговать несколько сайтов одновременно. Подробнее на русском
red — весьма интересный анализатор логов. Пайпим ему json выхлоп и получаем статистику по зафиксированным там событиям.
Watchman — Позволяет отслеживать состояние файлов, и по мере их изменения триггерить нужные действия, если потребуется (запускаем что-то, собираем что-то, уведомляем и т. п.).
localstack — протестировать что-то предназначенное для AWS локально
txeh — Библиотека Go и утилита CLI для управления /etc/hosts.
mkchain — Утилита, с помощью которой можно составить цепочку сертификатов, из присланных от центра сертификации файлов.
Asn — удобная утилита для отображения информации об IP и домене.
tlog — Инструмент для записи / воспроизведения терминального ввода-вывода и сессий. Подробнее на английском
frp — Быстрый обратный прокси-сервер, который поможет вам открыть доступ в Интернет к локальному серверу за NAT или брандмауэром.
tunnelto — Разместите свой локальный веб-сервер в Интернете с помощью общедоступного URL-адреса.
pd.sh — интересная штука для дебага пйплайнов. Подсовываем скрипту наш набор команд, и получаем информацию о том, как пайплайн отрабатывает и в каком месте возникает ошибка, если такое происходит.
logtop — утилита, которая выводит top IP адресов, анализируя логи веб-сервера. Это для тех, кому не очень хочется однострочник на bash писать c awk, sort и uniq.
Choose — аналог cut и awk ‘
whatfiles — простая и удобная утилита, которая покажет, с какими файлами работает тот или иной процесс в системе. Этакий упрощённый вариант strace’а.
topngx — этакий top для Nginx. Утилита анализирует логи и выдаёт администратору итоговую статистику. По сути, это аналог другой утилиты — ngxtop, правда эта уже давно не поддерживается.
SSHHeatmap — Создает тепловую карту IP-адресов, которые сделали неудачные попытки входа в систему по SSH.
desed — Отладчик для Sed: отлаживайте сценарии sed, не выходя из вашего терминала.
3mux — Терминальный мультиплексор, вдохновленный i3
frontail — утилита для трансляции логов по http\https. Удобно использовать в случаях, когда нужно быстро, в браузере, показать содержимое какого-либо лога и его изменения в реальном времени. Подробнее на русском
critic.sh — Суровое тестирование bash скриптов. Выглядит не менее интересным даже в сравнении с shellcheck
jql — Вместо jq можно попробовать jql для работы с JSON.
asciicast2gif — утилита для конвертации ascii кастов, в обычную gif анимацию. Подробнее на русском
Nginx-builder — инструмент, который автоматизирует сборку Nginx с нужными модулями. Описываем всё в yaml, запускаем сборку и получаем готовый rpm или deb пакет
linux-exploit-suggester — Быстрый аудит сервера на возможность применения эксплойтов
linux-exploit-suggester-2 — Подсказка эксплойтов ядра Linux нового поколения
ssl-cert-check — делаем простой мониторинг SSL с уведомлениями на email о необходимости продления сертификата. Подробнее на русском
jl — Удобная утилита для парсинга\чтения JSON логов
Wondershaper — утилита для настройки ограничений скорости сетевого интерфейса на сервере. Подробнее на русском
mkcert — удобная штука, с помощью которой можно у себя на локалхосте для часто употребляемых тестовых имён выписать валидный сертификат.
https-portal — Полностью автоматизированный сервер HTTPS на базе Nginx, Let’s Encrypt и Docker.
httpsat — утилита, которая позволяет получить статистику доступа к нужному сайту. Скрипт работает с cURL’ом, и поддерживает многие доступные в нём опции при соединении. Подробнее на русском
GeoLogonalyzer — И вот ещё занятный анализатор логов, который на основе asn, гео, и некоторых сопутствующих данных выявляет аномалии и сообщает о них. Например, если пользователь много раз заходил с одного IP адреса, но внезапно зашёл с другого (причём из другой подсети вовсе, либо из другой географической точки), анализатор сформирует отчёт об этом.
graphpath — Утилита для быстрого построения ASCII схемы сети прямо в терминале.
Sosreport — утилита для сбора информации о текущем состоянии системы. Удобно использовать самому в рамка первичного осмотра, удобно попросить клиента выполнить команду и прислать отчёт, готовый для изучения. Подробнее на русском
Fatrace (file access trace) — простая и удобная в использовании утилита для мониторинга текущей активности в системе. Отлично подойдёт для тех случаев, когда strace или blktrace оказываются избыточны. Подробнее на русском
httping — простая утилита, с помощью которой можно «пинговать» сайт по определённому адресу и получать общую (а при необходимости подробную) статистику по ответу и доступности. Подробнее на русском
Bashdb — утилита-дебаггер для bash скриптов. Дебаг скриптов задача не частая, но если она стоит, то на bashdb имеет смысл обратить внимание. Подробнее на русском
Goaccess — функциональный анализатор логов, который может работать с ними в реальном времени, визуализировать информацию и отдавать её в разных форматах. Доступен для установки на большинстве популярных дистрибутивов прямо из репозиториев. Подробнее на русском
testssl.sh — это скрипт, который позволяет протестировать SSL сервис и вывести подробную статистику по нему. Это как SSLlabs, только имеется возможность проведения проверки разных сервисов. Кроме того, для скрипта доступен простой веб-интерфейс. Подробнее на русском
iprange — Обнаружилась очень удобная утилита для работы с подсетями и IP адресами. Умеет вычислять нужные подсети из разных диапазонов, что порой бывает необходимо, например, при работе с ipset и фаерволом на сервере.
container-diff — утилита для сравнения образов контейнеров. Сontainer-diff умеет анализировать и учитывать при сравнении историю образа, файловую систему, пакеты apt, pip и npm. Выглядит очень удобно для отслеживания изменений в рамках одного контейнера, либо для сравнения двух разных образов.
https://gist.github.com/agarzon/5554490 — Скрипт для проверки присутствия IP в различных DNSBL
Prochunter — хорошая утилита для поиска скрытых процессов, запущенных в системе. Подробнее на русском
Sysdig — удобный и функциональный инструмент, дающий администратору широкие возможности для сбора информации о работающей системе. Подробнее на русском
ioping — очень простая, но при этом удобная утилита для быстрой проверки отзывчивости дисковой подсистемы. В CentOS ставится из репозитория EPEL. Подробнее на русском
ctop — полезная *top утилита для мониторинга работы контейнеров.
hstr — от англ. history, инструмент для просмотра истории команд.
pastebinit — инструмент командной строки в Deb-системах для отправки данных на «pastebin», сайт, который позволяет пользователям размещать отрывки текста для публичного просмотра. Подробнее на русском
fpaste — инструмент командной строки в RedHat-системах для отправки данных на http://fpaste.org/, сайт, который позволяет пользователям размещать отрывки текста для публичного просмотра.
Eternal Terminal — удаленная оболочка, которая автоматически переподключается. Подробнее на русском
tfquery — Выполняйте SQL-запросы в своей инфраструктуре Terraform. Запрашивайте ресурсы и анализируйте их конфигурацию с помощью SQL.
kubectx — утилита для управления контекстами kubectl и переключения между ними.
kubens — утилита для переключения между пространствами имен Kubernetes.
fselect — утилита для поиска файлов с помощью SQL-подобных запросов.
kubesql — инструмент, использующий sql для запроса ресурсов Kubernetes, таких как поды, узлы и т. д.
k3d — k3d создает кластеры k3s в контейнерах. Вы можете развернуть многоузловой кластер k3s на одной машине с помощью docker.
arkade — arkade предоставляет marketplace для установки ваших любимых DevOps утилит командной строки.
helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя..
cheat.sh — утилита и онлайновый сервис, к которому можно обращаться из командной строки и искать по внушительной коллекции из чит-шитов, собранных силами сообщества. Сюда входит около тысячи команд Unix/Linux и 55 языков программирования.
lnav — это расширенный просмотрщик логов. Это терминальное приложение, которое может понять ваши файлы журналов и упростить вам поиск проблем практически без настройки.
Не утилита, но очень полезное:
Автоматический запуск tmux, при входе на сервер по SSH:
https://t.me/SysadminNotes/1661
автоматический запуск tmux, при входе на сервер по SSH. Добавляем в
И при каждом входе на сервер, получаем либо уже существующую, либо новую сессию tmux.
Для screen можно попробовать такую конструкцию:
if $(screen -ls | grep -q pts); then screen -x; else screen -R; fi
Источник