5 Современных Альтернатив Старым Инструментам Командной Строки Linux

Используя более современные альтернативы наряду со старыми инструментами командной строки, вы получите больше удовольствия и даже повысите свою производительность.



5 современных альтернатив старым инструментам командной строки Linux

В нашей повседневной работе с Linux/Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов.

Некоторые из этих инструментов существуют уже давно.

Например, top появился в 1984 году, а первый выпуск du датируется 1971 годом.

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

Это отличные инструменты, которые нужны многим системным администраторам.

Однако сообщество разработало альтернативные инструменты, предлагающие дополнительные преимущества.

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

В этом переводе мы поговорим о пяти альтернативах стандартным инструментам командной строки Linux.



1. ncdu против du

Использование диска NCurses ( нкду ) похож на du, но с интерактивным интерфейсом, основанным на библиотеке проклятий.

ncdu отображает структуру каталогов, которая занимает большую часть вашего дискового пространства.

ncdu анализирует диск, а затем отображает результаты, отсортированные по наиболее часто используемым каталогам или файлам, например:

  
  
  
  
  
  
  
  
  
  
   

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help --- /home/rgerardi ------------------------------------------------------------ 96.7 GiB [##########] /libvirt 33.9 GiB [### ] /.

crc 7.0 GiB [ ] /Projects .

4.7 GiB [ ] /Downloads .

3.9 GiB [ ] /.

local 2.5 GiB [ ] /.

minishift 2.4 GiB [ ] /.

vagrant.d .

1.9 GiB [ ] /.

config .

1.8 GiB [ ] /.

cache 1.7 GiB [ ] /Videos 1.1 GiB [ ] /go 692.6 MiB [ ] /Documents .

591.5 MiB [ ] /tmp 139.2 MiB [ ] /.

var 104.4 MiB [ ] /.

oh-my-zsh 82.0 MiB [ ] /scripts 55.8 MiB [ ] /.

mozilla 54.6 MiB [ ] /.

kube 41.8 MiB [ ] /.

vim 31.5 MiB [ ] /.

ansible 31.3 MiB [ ] /.

gem 26.5 MiB [ ] /.

VIM_UNDO_FILES 15.3 MiB [ ] /Personal 2.6 MiB [ ] .

ansible_module_generated 1.4 MiB [ ] /backgrounds 944.0 KiB [ ] /Pictures 644.0 KiB [ ] .

zsh_history 536.0 KiB [ ] /.

ansible_async Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540

Перемещаться по записям можно с помощью клавиш со стрелками.

Если вы нажмете Enter, ncdu отобразит содержимое выбранного каталога:

--- /home/rgerardi/libvirt ---------------------------------------------------- /.

91.3 GiB [##########] /images 5.3 GiB [ ] /media

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

Вы можете перейти в предыдущий каталог, нажав клавишу со стрелкой влево.

С помощью ncdu вы можете удалять файлы, нажав клавишу d. Перед удалением запрашивается подтверждение.

Если вы хотите отключить функцию удаления, чтобы предотвратить случайную потерю ценных файлов, используйте опцию -r, чтобы включить режим доступа только для чтения: ncdu -r. ncdu доступен для многих платформ и дистрибутивов Linux. Например, вы можете использовать dnf для установки его в Fedora прямо из официальных репозиториев:

$ sudo dnf install ncdu



2. хтоп против топа

Хтоп — это интерактивная программа просмотра процессов, похожая на Top, но уже готовая к использованию она обеспечивает приятный пользовательский интерфейс.

По умолчанию htop отображает ту же информацию, что и top, но более наглядно и красочно.

По умолчанию htop выглядит так:

5 современных альтернатив старым инструментам командной строки Linux

В отличие от топа:

5 современных альтернатив старым инструментам командной строки Linux

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

Вы можете настроить его, нажав F2, чтобы открыть экран конфигурации.

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

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



3. тлдр против человека

Инструмент командной строки tldr отображает упрощенную справочную информацию о командах, в основном примеры.

Он был разработан сообществом проект страниц tldr .

Стоит отметить, что tldr не является заменой человека.

Это по-прежнему канонический и наиболее полный инструмент вывода man-страниц.

Однако в некоторых случаях человек излишен.

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

Например, страница руководства команды Curl содержит почти 3000 строк.

Страница tldr для Curl имеет длину 40 строк.

Его фрагмент выглядит так:

$ tldr curl # curl Transfers data from or to a server. Supports most protocols, including HTTP, FTP, and POP3. More information: < https://curl.haxx.se >.

- Download the contents of an URL to a file: curl http://example.com -o filename - Download a file, saving the output under the filename indicated by the URL: curl -O http://example.com/filename - Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer: curl -O -L -C - http://example.com/filename - Send form-encoded data (POST request of type `application/x-www-form-urlencoded`): curl -d 'name=bob' http://example.com/form - Send a request with an extra header, using a custom HTTP method: curl -H 'X-My-Header: 123' -X PUT http://example.com - Send data in JSON format, specifying the appropriate content-type header: curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234 .

TRUNCATED OUTPUT

TLDR означает «слишком долго; не читал»: то есть некоторый текст был проигнорирован из-за его чрезмерной многословности.

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

Для Fedora tldr был написан на Python. Установить его можно с помощью dnf-менеджера.

Обычно для работы инструмента требуется доступ в Интернет. Но клиент Python в Fedora позволяет загружать и кэшировать эти страницы для автономного доступа.



4.jq против sed/grep

jq — процессор JSON для командной строки.

Он похож на sed или grep, но специально разработан для работы с данными JSON. Если вы разработчик или системный администратор, использующий JSON в повседневных задачах, этот инструмент для вас.

Основное преимущество jq перед стандартными инструментами обработки текста, такими как grep и sed, заключается в том, что он понимает структуру данных JSON, что позволяет создавать сложные запросы в одном выражении.

Например, вы пытаетесь найти имена контейнеров в этом файле JSON:

{ "apiVersion": "v1", "kind": "Pod", "metadata": { "labels": { "app": "myapp" }, "name": "myapp", "namespace": "project1" }, "spec": { "containers": [ { "command": [ "sleep", "3000" ], "image": "busybox", "imagePullPolicy": "IfNotPresent", "name": "busybox" }, { "name": "nginx", "image": "nginx", "resources": {}, "imagePullPolicy": "IfNotPresent" } ], "restartPolicy": "Never" } }

Запустите grep, чтобы найти имя строки:

$ grep name k8s-pod.json "name": "myapp", "namespace": "project1" "name": "busybox" "name": "nginx",

grep вернул все строки, содержащие имя слова.

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

Чтобы получить тот же результат с помощью jq, просто напишите:

$ jq '.

spec.containers[].

name' k8s-pod.json "busybox" "nginx"

Эта команда даст вам имена обоих контейнеров.

Если вы ищете только имя второго контейнера, добавьте в выражение индекс элемента массива:

$ jq '.

spec.containers[1].

name' k8s-pod.json "nginx"

Поскольку jq знает о структуре данных, он дает те же результаты, даже если формат файла немного изменится.

grep и sed в этом случае могут работать неправильно.

jq имеет множество функций, но для их описания нужна отдельная статья.

Для получения более подробной информации, пожалуйста, свяжитесь страница проекта jq или в tldr.

5. ФД против найти

ФД Это упрощенная альтернатива утилите find. Fd не призван его полностью заменить: в нем по умолчанию установлены самые распространенные настройки, определяющие общий подход к работе с файлами.

Например, при поиске файлов в каталоге репозитория Git fd автоматически исключает скрытые файлы и подкаталоги, включая каталог .

git, а также игнорирует подстановочные знаки в файле .

gitignore. В целом, это ускоряет поиск, возвращая более релевантные результаты с первой попытки.

По умолчанию fd выполняет поиск в текущем каталоге без учета регистра с цветным выводом.

Тот же поиск с помощью команды find требует ввода дополнительных параметров в командной строке.

Например, чтобы найти все файлы .

md (или .

MD) в текущем каталоге, вы должны написать такую команду поиска:

$ find .

-iname "*.

md"

Для ФД это выглядит так:

$ fd .

md

Но в некоторых случаях fd требует и дополнительных опций: например, если вы хотите включить скрытые файлы и каталоги, необходимо использовать опцию -H, хотя при поиске это обычно не требуется.

fd доступен для многих дистрибутивов Linux. В Fedora его можно установить следующим образом:

$ sudo dnf install fd-find



Вам не нужно ни от чего отказываться

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






В качестве рекламы

Многие наши клиенты уже оценили преимущества эпические серверы ! Этот виртуальные серверы с процессорами AMD EPYC , частота ядра процессора до 3,4 ГГц.

Максимальная конфигурация позволит вам оторваться — 128 ядер ЦП, 512 ГБ ОЗУ, 4000 ГБ NVMe. Спешите сделать заказ!

5 современных альтернатив старым инструментам командной строки Linux

Теги: #*nix #Системное администрирование #Настройка Linux #sed #bash #top #man #tldr #du #grep #jq #htop #ncdu

Вместе с данным постом часто просматривают: