Многие пользователи Unix-систем знакомы с терминальными командами. Они позволяют моментально выполнять операции с файлами, следить за системой и настраивать её без надобности использовать ПО с графическим интерфейсом. Modern Unix — это коллекция программ, созданных независимыми разработчиками, которые заменят собой стандартные и наиболее распространённые команды. Эти альтернативы удобнее, функциональнее, а порой и быстрее.
bat вместо cat
bat — это аналог часто используемой команды cat для вывода содержимого файлов. В отличие от оригинала, bat умеет подсвечивать синтаксис и не выводит все данные в окно терминала, а открывает файл отдельно, как в текстовом редакторе nano или vim. С помощью отдельных клавиш можно листать содержимое по строке или сразу нескольким.
exa вместо ls
Команда ls используется для отображения списка файлов в текущей директории. exa справляется с этой задачей ещё лучше, предоставляя больше фич — здесь куда больше возможностей отображения (деревом, перевернутой сеткой, списком, таблицей). Эта альтернатива по стандарту выделяет отдельные типы файлов разными цветами, она быстрая, легковесная и удобная для пользователей. Содержимое папок можно отобразить в древовидной структуры.
lsd вместо ls
Ещё одна альтернатива команде ls. Утилита lsd или LSDeluxe умеет выводить список содержимого папок в цветном виде с иконками. А ещё она написана на Rust, что делает её быстрее аналогичных решений. Для правильного отображения иконок придётся дополнительно установить специальный шрифт.
delta вместо diff
delta — это инструмент для сравнения содержимого файлов. В отличие от обычного diff, он умеет подсвечивать синтаксис, имеет оформление в стиле git, возможность сравнивать файлы бок о бок, нумерацию строк и множество других фич. Также может использоваться для команд git: git show или git diff.
dust вместо du
Более удобный и дружелюбный к пользователю аналог команды du, которая позволяет узнать, сколько места на диске занимают директории. В отличие от стандартной утилиты, dust умеет выводить информацию в виде дерева, выделяя в конечных папках самые «тяжёлые» файлы. По стандарту отображает объём не в блоках, а в привычных единицах измерения. Самое «вкусное» — отображение процентного соотношения директорий, позволяющее сразу выявить самые крупные директории. Утилита написана на Rust, отсюда и её название.
duf вместо df
К числу утилит, облегчающих менеджмент свободного места на накопителях, можно отнести и duf — аналог df. Стандартная программа выводит статистику использования всех подключённых дисков. duf делает это лучше — он отображает данные в виде таблицы, окрашивая некоторые элементы цветами и чётко структурируя их. Такое представление намного лучше воспринимается пользователем. Доступен и другой вывод — в формате JSON.
broot вместо команд для навигации
broot — это отличный способ избавиться от команд для навигации по файловой системе. Утилита показывает список директорий в виде интерактивного дерева, позволяя перемещаться стрелками, входить в папки клавишей Enter, возвращаться Esc и открывать файлы. Последние можно искать, копировать и перемещать с помощью команд в специальной строке.
fd вместо find
Простой аналог команды find для поиска файлов по всей системе. fd работает быстро, имеет широкий набор функционала, который, по словам автора, может и не самый мощный, но удобный в использовании для большинства случаев.
ripgrep вместо grep
Инструмент для поиска по содержимому файлов с названием ripgrep быстрее своих аналогов и выдаёт более читабельный вариант, чем стандартный grep. Утилита следует заданным в gitignore правилам и по умолчанию пропускает игнорируемые и скрытые файлы. Предоставляет мощный функционал с поддержкой множества кодировок и поиском по сжатым форматам.
ag вместо grep (и ack)
За командой ag скрывается приложение с названием The Silver Searcher, которое нацелено на поиск по файлам с кодом. Создатель заявляет, что это аналог другой сторонней утилиты ack, но с упором на скорость. Как и предыдущая программа, The Silver Searcher игнорирует файлы, заданные в .gitignore и .hgignore.
fzf вместо обычного поиска
Быстрая программа для поиска по любым спискам, будь то файл или все файлы в директории. Позволяет интерактивно искать по названию, имеет плагин для редактора vim, есть хоткеи и автодополнение.
mcfly вместо стандартной истории
Заменяет обычный поиск по истории команд, запускающийся сочетанием Ctrl+R. McFly представляет из себя интеллектуальный поисковой движок с небольшой встроенной нейросетью, которая в реальном времени выдаёт подсказки исходя из контекста.
choose вместо awk
Быстрый и удобный аналог awk — мощной встроенной команды для работы с текстом и фильтрации нужных данных. choose использует более понятный синтаксис Rust для регулярных выражений, быстрый выбор части файла похож на синтаксис слайсов в Python, обходит конкурентов на больших объёмах данных.
jq вместо sed
Аналог sed, но разработан для работы с JSON-форматом. Проводит операции со структурированными данными в виде потока и выводит соответствующий результат. Написан на C, не имеет зависимостей — достаточно скачать только бинарный файл. Из минусов jq — отсутствие нормальной документации и прекращённая несколько лет назад поддержка.
sd вместо sed
Интуитивная утилита для поиска и замены в файлах. sd хорош тем, что использует более простой синтаксис регулярных выражений, чем обычный sed. Программа не только проще в использовании, но и быстрее стандартной команды.
cheat вместо man
Полезная вещь для тех, кто очень много времени проводит в терминале. Держать в голове все необходимые команды порой сложно, а гуглить их каждый раз — медленно. cheat даёт возможность создавать шпаргалки по конкретным командам и моментально обращаться к ним по надобности. Позволяет искать подсказки по тегам и с помощью регулярных выражений.
tldr вместо man
Как и предыдущая утилита, tldr помогает ориентироваться в тонне команд и аргументов для них. Представляет из себя упрощённый и понятный man, дополняется сообществом, обладает десятками плагинов и выводит текст в цветном и структурированном формате.
bottom вместо top
Кроссплатформенный системный монитор с кастомизируемым интерфейсом и массой функций. Прямо в терминале в реальном времени отображает состояние «железа», нагрузку, а также запущенные процессы.
glances вместо top
Очередной инструмент для мониторинга состояния системы в терминале. Кроссплатформенный, показывает большое количество информации, оптимизирует отображение данных в зависимости от размера окна. Умеет работать в режиме клиент-сервер: на одном ПК запускается серверная часть, а на другом устройстве можно открыть веб-интерфейс в браузере.
gtop вместо top
Третья программа в подборке для просмотра статистики о машине. Вдохновлена htop, выдаёт структурированные данные с графиками, меняющимися в реальном времени.
hyperfine вместо сложных замеров скорости
Бенчмарк, измеряющий время выполнения конкретной команды и умеющий сравнивать скорость нескольких программ. Может использоваться для определения самой быстрой утилиты в классе или тестирования собственных приложений.
gping вместо ping
Тот же ping для проверки соединения с другим узлом сети, но с красивым и информативным графиком.
procs вместо ps
Современная замена команде ps, выводящей список процессов в системе. Показывает данные в удобном для пользователя формате, с цветами и автоматической темой, основанной на цветах терминала. Имеется поиск, добавлена информация, которой нет в обычной ps, больше данных о памяти, древовидное отображение. procs написана на Rust и активно поддерживается разработчиком.
httpie вместо curl
HTTPie — терминальный HTTP-клиент. Цель проекта — дать возможность взаимодействовать с веб-сервисами в максимально простом формате. HTTPie пригодится для тестирования и отладки HTTP-серверов. Утилита позволяет создавать и получать HTTP-запросы с использованием лёгкого синтаксиса.
curlie вместо curl
Тот же HTTPie, но с некоторыми фичами утилиты curl для работы с данными по протоколам вроде FTP, HTTP или HTTPS. curlie вдохновлена HTTPie и дружелюбна к пользователю: простые команды, форматированный цветной вывод, быстрая работа.
xh вместо HTTPie
xh — ещё одна удобная утилита для отправки HTTP-запросов, позаимствовала многое из HTTPie, но получила улучшенную производительность.
zoxide вместо cd
zoxide — молниеносная и интеллектуальная замена привычной команде cd. Отслеживает наиболее используемые директории и благодаря этому предлагает подсказки.
dog вместо dig
DNS-клиент на Rust, позволяющий узнать адрес узла по доменному имени. Имеет большое количество опций для запросов, цветной вывод, а также отображение данных в JSON-формате.
И красиво, и информативно, можно выбирать показываемые диски и также управлять процессами.