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

Автор оригинала: Ricardo Gerardi
  • Перевод
Используя более современные альтернативы наряду со старыми инструментами командной строки, можно получить больше удовольствия и даже повысить производительность труда.



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

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

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

1. ncdu vs du


NCurses Disk Usage (ncdu) похож на du, но с интерактивным интерфейсом на основе библиотеки curses. 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. htop vs top


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

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


В отличие от top:


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

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

3. tldr vs man


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

Стоит отметить, что tldr — это не замена man. Он по-прежнему является каноническим и наиболее полным инструментом вывода справочных страниц. Однако в некоторых случаях man является избыточным. Когда вам не нужна исчерпывающая информация о какой-либо команде, вы просто пытаетесь запомнить основные варианты её использования. Например, страница 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 означает «слишком длинно; не читал»: то есть, некоторый текст был проигнорирован из-за его чрезмерной многословности. Название подходит для этого инструмента, потому что man-страницы, хотя и полезны, но иногда бывают слишком длинными.

Для Fedora tldr был написан на Python. Вы можете установить его с помощью менеджера dnf. Обычно для работы инструмента необходим доступ к интернету. Но клиент Python в Fedora позволяет загружать и кэшировать эти страницы для автономного доступа.

4. jq vs 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 для поиска строки name:

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

grep вернул все строки, содержащие слово name. Вы можете добавить ещё несколько параметров в 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. fd vs find


fd — это упрощённая альтернатива утилите find. Fd не призван заменить её полностью: в нём по умолчанию установлены наиболее распространённые настройки, определяющие общий подход к работе с файлами.

Например, при поиске файлов в каталоге репозитория Git, fd автоматически исключает скрытые файлы и подкаталоги, включая каталог .git, а также игнорирует шаблоны из файла .gitignore. В целом, он ускоряет поиск, выдавая более релевантные результаты с первой попытки.

По умолчанию fd выполняет поиск без учёта регистра в текущем каталоге с цветным выводом. Тот же поиск с использованием команды find требует ввода дополнительных параметров в командной строке. Например, чтобы найти все файлы .md (или .MD) в текущем каталоге, нужно написать такую команду find:

$ find . -iname "*.md"

Для fd она выглядит так:

$ fd .md

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

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

$ sudo dnf install fd-find

Необязательно от чего-то отказываться


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



На правах рекламы


Многие наши клиенты уже оценили преимущества эпичных серверов!
Это виртуальные серверы с процессорами AMD EPYC, частота ядра CPU до 3.4 GHz. Максимальная конфигурация позволит оторваться на полную — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe. Спешите заказать!

VDSina.ru — хостинг серверов
Серверы в Москве и Амстердаме

Комментарии 104

    +5
    atop vs htop?
      +1
      atop запускает свой сервис и пишет логи, у меня однажды место закончилось на диске по этой причине
        +1

        Не верно. Зависит от настройки. Если вы не включили сервис в автозагрузку, и запускаете его из консоли, он работает также как и top. Вероятно вы включили его в автозагрузку, или в вашем дистре postinstall-хук после установки его включает самостоятельно. На большинстве дистров, вроде Centos, если не включить сервис в автозагрузку, то и в режиме сервиса с записью логов он не выполняется.

          0
          Возможно, это было давно и на Gentoo.
            0
            Возможно, это было давно и на Gentoo.
            Кстати насколько я помню, там для сетевой подсистемы нужно собирать сторонний модуль netatop
            0

            Дополню glowingsword. Возможно изменили интервал снятия метрик с умолчательных 300 секунуд на 1? Может отлючили ротацию логов (по умолчанию они ротируются)?

              0

              Вот и мне подумалось, что настройки, вероятно, были не дефолтные… Частно бывает, что приложение человек ставит по гайду с SO или чьего-то бложика. и вбивая команды, не обращает внимание на то, что он не только пакет установил, но и в автозагрузку что-то добавил, и sed-ом какие-то настройки изменил. Если инструмент человек видит в первый раз, он может и не озадачиться вопросом, для чего были нужны дополнительные "твики" и что они делают...

                0
                Нет, я просто установил atop через emerge atop
              +3

              Теплое vs очень-теплое.
              Это разный утиль под разные цели. htop дает этакий сводный дашборд. Быстро зашел на сервер и посмотреть, покилял прямо там же ненужно, может кого-то поstrace-ил. atop хорошо показывает нагрузку на все подсистемы + пишет бинарные логи которые в случае проблем на сервере можно отсмотреть и проанализировать.

                0

                Или, даже, glances vs atop.

                  0
                  atop круче — мы его используем когда что-то с сервером произошло/нагрузка пошла на сеть, диск/etc.
                  В графане смотришь на графики, видишь что что-то не то с системными метриками на сервере, идешь на сервер и смотришь исторический срез через atop. Htop так может?
                    0
                    Хватает графаны и логов.
                      0
                      вы увидели по графикам, что утилизация дисков сильно выросла (ну или любая другая системная метрика). Ваши действия? Что вы будете смотреть в логах?
                        0
                        Для начала, прямо в графане и посмотрю графики конкретных приложений, потому что я собираю метрики из micrometers или actuator.
                        В текущем проекте все процессы которые могут нагружать известны и мониторятся детально
                  +4
                  За tldr спасибо не знал про нее, иногда удобнее с помощью tldr, посмотреть параметры редко используемых команд
                    +2
                    1. nnn в режиме du
                    2. bashtop
                      +1

                      bashtop — требует bash 4.4, а в centos 7 bash 4.2 только (4.4 только самому собирать — это неинтересно).

                        +2
                        mc (Midnight Commander) поинтуитивнее для меня (в 90-x еще познакомился с ним). Лучше Far, конечно, но mc подоступнее (только комбинации клавиш не очень удобные)
                          0

                          Я сидел долго на mc из-за сходства с Far, потому что на винде только Far. Привык к двухпанельным файловым менеджерам, но быстродействие и удобство nnn порадовало, поэтому это основной фм на linux.

                            +3
                            Мне vifm зашёл. У него внутри неонка vimscript и vim-like биндинги.
                            image
                              0
                              Попробуйте ranger.
                                +1

                                Тормоз по сравнению с vifm

                                  +1
                                  Пробовал. vifm — лучше. Быстрее и чуть более расширяемый.
                                0
                                Дык уже есть Far для linux. Только на нём и сижу.
                                  0
                                  Он в консоли не работает ведь?
                                    0

                                    Уже работает: far2l --tty

                                      +1
                                      Давно прикрутили?
                                        +1

                                        tty-шный fa2l был как минимум полгода назад. Туда еще по моей просьбе прикрутили поддержку ssh-agent. Но как-то вот прям полностью сидеть не получается. Использую попеременке с mc, и в основном для целей работы с sftp/scp.

                                          0
                                          Жду когда под Mac соберут
                                            0

                                            Эм, я не знаю, чего вы ждете, но я его именно под маком и собирал.

                                    +2

                                    А чем он лучше нормального mc?
                                    Только тем что он привычен вам по винде?
                                    Просто я виндой стал пользоваться всего два с половиной года назад, когда ее купил под игры в VR, а до этого 20 лет пользовался *nix-like(сначала FreeBSD, потом GNU/Linux) и у меня привычки к виндовым вещам нет, вот и хочу понять может ли этот far2l предложить мне что-то или он нужен только тем кто под виндой к нему привык.

                                      0
                                      Сравнивать mc и FAR довольно сложно, FAR функциональнее в разы, если не на порядок.
                                      Главное в mc то, что он просто есть.
                                        0

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

                                          +2
                                          Огромное количество плагинов, хороший API для написания собственных плагинов.

                                          Шикарные встроенные макросы, возможность писать макросы как последовательность клавиш, так и на ЛУА.

                                          Очень удобный встроенный редактор.

                                          Хорошая удобная интеграция с командной строкой и панельками для написания скриптов (например выполнить скрипт с файлами выделенными в панели),

                                          продвинутое многоуровневое user menu (в mc вроде один уровень, но могу ошибаться)

                                          Хороший глобальный поиск и временная панель

                                          Ну не знаю, если вы знакомы с FAR и mc на примерно одинаковом продвинутом уровне, я не понимаю что именно нужно пояснять.

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

                                          Поэтому far2l КОНЕЧНО менее функционален, чем far for windows, но я думаю что он все равно будет более функциональным, чем mc
                                            –1
                                            Вдобавок FAR это все-таки гуишное приложение с консолью, и в gui он только выигрывает, например плагинов с просмотром картинок, mc чисто консольный

                                            far не имеет консоли, а просмотрщик картинок, как и либреофис для его файлов, как и все остальное, если я нахожусь в X11(или Wayland) у меня mc прекрасно вызывает.


                                            Ну не знаю, если вы знакомы с FAR и mc на примерно одинаковом продвинутом уровне, я не понимаю что именно нужно пояснять.

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


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

                                              0
                                              far не имеет консоли,

                                              Простите, я сижу под FAR+Conemu. Они оба друг с другом дружат и имеют предварительные настройки для интеграции, и я даже забываю что у них разные разработчики.

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

                                              Простите, но если человек какое-то время работает с компом, он в любом случае набирает какой-то набор удобных ему инструментов и привычек.
                                              Я работал с разными панельными менеджерами, начав еще до нортон коммандера, и FAR с третьей версии более чем хорош.
                                              Был момент, когда мир перешел на UTF-8, а фар 1.0 сильно отставал, и я пытался найти ему замену. Это было мучительно, но вышел Far 3.0, который поборол все эти проблемы и сейчас все отлично.

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

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

                              Еще могу добавить ack, как замену grep, и ag, как замену* ack.


                              * в ряде задач.
                                +11

                                и ripgrep как замену ag.

                                  0
                                  Только привык к ag, а ему уже замену сделали.
                                    –3

                                    Привет, Марсель ;))))

                                      –3
                                      Дарова Тагир :-)
                                +2

                                bat еще весьма удобна для чтения файлов в консоли.

                                  +2

                                  fzf для fuzzy search по любому списку строк.

                                    0

                                    так це отдельная функциональность, а не альтернатива чему-либо

                                    –6
                                    нужно написать такую команду find:
                                    $ find . -iname "*.md"

                                    Неправильная команда-то. Одинарные кавычки нужны.

                                      +3
                                      Вы получите один и тот же результат несмотря на то как указаны кавычки.
                                        –3

                                        Вы правы, хотя это странно.

                                          +4

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


                                          https://stackoverflow.com/questions/6697753/difference-between-single-and-double-quotes-in-bash

                                            –2

                                            Странно, что звёздочка не входит в "и т. п."

                                              +3

                                              А почему странно? Wildcards (*,?) и brace expansion ({a,b,c}) влияют на число аргументов, т.е. они ближе к операторам, нежели к переменным.
                                              А вообще вот они, кавычки, и правила с ними связанные:
                                              https://www.gnu.org/software/bash/manual/html_node/Quoting.html

                                                +2

                                                А в данном случае звёздочка — аргумент к find, а не wildcard shell'а.

                                          0

                                          Даже если в текущей директории есть файл foo.md, а в поддиректории файл bar.md?

                                            0

                                            find ищет рекурсивно в директории и поддиректориях, так что найдёт оба этих файла.

                                              0

                                              Я к тому что шелл развернёт "*.md" до foo.md и find будет вызван с аргументом -name foo.md, и соотвественно не найдёт bar.md

                                                +4

                                                Шелл не разворачивает звёздочки в кавычках, так что в данном случае найдутся оба файла.

                                        +5
                                        А можно ли назвать эти инструменты современными?
                                        Тому же htop уже 14 лет, ncdu примерно так же.
                                          0
                                          А сколько лет du и ls? ;)
                                            +2
                                            Думаю что намного больше, однако причем тут это?)
                                              +2
                                              Ну вот в сравнении с ними упомянутые программы — вполне современные.
                                                0
                                                А в сравнении с числом данной статьи, эти программы очень очень не современные.
                                                  0
                                                  Но статья писалась не для сравнения программ с сегодняшним числом, а для сравнения их с аналогами.
                                                    0
                                                    В статье написано современных альтернатив, слово современный всегда значило «новый», относительно (например) статьи в которой это слово употребляется. А перечисленные тут программы явно не новые. Для многих из них есть куча альтернатив новее.
                                          +5

                                          Может не совсем сюда, но просто полезная утилита: lnav (log navigator).


                                          Позволяет смотреть логи (в том числе одновременно из разных файлов), подсвечивает ошибки или свои паттерны, понимает разные форматы (например, apache logs), умеет читать файлы в рeал-тайме (типа tail -f), скрывать ненужные строки (например debug сообщения) и кучу всего ещё.


                                          Ставлю её на некоторые сервера, где надо много и часто смотреть логи; удобнее, чем cat и (е)grep.

                                            0
                                            а вы less пробовали?
                                              +1

                                              Да, конечно. Как сторонник минимализма я стараюсь использовать и изучать то, что уже установлено и широко распространено. Думаю less покроет большинство моих кейсов использования lnav.


                                              Но у lnav есть пара фишек, которые мне сильно помогают: более интуитивный (панель снизу, сообщения, автодополнение по tab), подсветка паттернов логов из коробки, форматирование json или xml, и sql-like язык для выборки логов. Мне это не очень часто нужно, но иногда сильно помогает ускорить процесс анализа.

                                                0

                                                Предлагаю попробовать peep

                                                0
                                                Ставлю её везде и сразу! Отличное решение!
                                                +2

                                                всячески рекомендую https://github.com/Wazzaps/jqed/ — для интерактивного составления запросов к jq

                                                  –1
                                                  Я бы добавил ещё bat/cat (https://github.com/sharkdp/bat). Довольно удобно и читабельно.
                                                    –3

                                                    htop показывает сильно меньше информации, чем top, обратите внимание на заголовок.

                                                      +5
                                                      Интересно, а как минусующие, взглянув на экран htop, определяют, что процессор сейчас сильно занят дисковыми операциями, например? Вот как это видно в top (подчёркнуто):
                                                      image

                                                      Собственно сразу видно, что процессор не ждёт завершения дисковых операций ибо wait I/O меньше 10-ки (да что там… меньше единицы ;-)). В htop же, как я ни крутил в настройках отображение инфы о процесоре максимум удалось добиться вот такого:
                                                      image
                                                      что конечно-же никуда не годится в практической работе.
                                                      Собственно какие метрики показывает top:
                                                      • us — (User CPU time) время, затраченное на работу программ пользователей
                                                      • sy — (System CPU time) время, затраченное на работу процессов ядра
                                                      • ni — (Nice CPU time) время, затраченное на работу программ с измененным приоритетом
                                                      • id — (Iddle time)простой процессора
                                                      • wa — (iowait) время, затраченное на завершение ввода-вывода
                                                      • hi — (Hardware IRQ) время, затраченное на обработку hardware-прерываний
                                                      • si — (Software Interrupts) время, затраченное на работу обработку software-прерываний (network)
                                                      • st — (Steal Time) время, «украденное» гипервизором у этой виртуальной машины для других
                                                        задач (например работа другой виртуальной машины)


                                                      © Wikipedia

                                                      На самом деле такая нелюбовь к штатному top идёт от того что люди не умеют его готовить ну и от того что он менее эргономичен чем htop, особенно в плане посылания процессам различнх сигналов, что особенно полезно разработчикам софта под *nix. Но вот в плане быстро посмотреть отчего это систему так «раскорячило» ему замену найти сложно (тем более он есть в каждом утюге). И то что htop ей не является, это однозначно.
                                                        +6
                                                        В настройках (F2) можно указать display options → detailed CPU time, IOWAIT будет отображаться серым цветом.
                                                          0
                                                          Ишь ты, как-то я этот крыжик пропустил… Ну почти хорошо… Спасибо!
                                                          +1
                                                          Я дико извиняюсь, но шрифты на скриншотах просто ужасные.
                                                            0
                                                            Это вы ужасных шрифов на советском, чёрно-зелёном CGA мониторе не видели. ;-)
                                                              0
                                                              Да, есть такое.
                                                              Но что всё таки произошло с вашими шрифтами? Их же можно в качестве демотиватора использовать. Как будто кто-то выпустил моноширинную версию Comic Sand.
                                                                +1
                                                                Ничего особенного, просто после их обновления (шрифт IBM 3270) случилась такая ерунда. Всё никак не могу побороть лень и взять их из сорцов Cool Retro Term, где они нормальные.
                                                        0
                                                        tldr порицаю. Название амбициозно «ToLongDon'tRead» и пафос спорен. Я пользуюсь man каждый день и вполне удобно.
                                                          +6
                                                          Пафоса тут никакого нет. TLDR на самом деле расшифровывается как «Too Long; Didn't Read». То есть не «не читай это», а «я не смог прочесть это». И утилита пытается таким пользователям хоть как-то помочь, дать упрощённый вариант описания, который они смогут воспринять.
                                                          +2
                                                          imsnif/diskonaut как замена ncdu/du
                                                          lazygit — консольный git клиент
                                                          lazydocker — консольный docker клиент
                                                          thameera/vimv — vim rename
                                                          exa — замена ls
                                                          tanrax/terminal-AdvancedNewFile — аналог touch, но умеет создавать папки и умеет в патерны.
                                                            +9
                                                            IMHO сравниваются несопоставимые команды.

                                                            Например, du не обязан быть интерактивным, зато его можно использовать в скриптах.

                                                            Сравнивать jq и grep/sed совершенно некорректно. Они для разных задач. jq не распарсит вам ничего, кроме JSON, зато его распарсят корректно. Но зачем их сравнивать?

                                                            tldr vs man — в man работает поиск, фильтр, навигация.

                                                            htop/top — ну одинаковая там информация. Нюансы не в счет.

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

                                                            А вот альтернативой в настоящее время становятся интеграция с разными графанами/кибанами, webadmin и так далее. Но под капотом большинство параметров собирается теми же самими утилитами или питоном.
                                                              –5
                                                              По поводу top/htop — не соглашусь. Разная там информация и top пизже! Хотя раньше я его не любил.
                                                                0
                                                                А что конкретно вы регулярно смотрите в htop для решения проблем, чего нет в top?

                                                                Если есть реальная задача мониторинга, то ни top ни htop тут не советчики, они для посмотреть здесь и сейчас. А для наблюдения нужно что-то из мониторинга — нагиос, прометей, ммонит, в общем что-то с историческими графиками.
                                                                  0
                                                                  Там-же ссылка есть, на моё сообщение в треде. Правда мне тут уже подсказали, что процессорные метрики таки есть в htop. Вообщем и целом, разумеется, top/htop не являются системами мониторинга, но вот быстро оценить состояние системы в текущий момент времени, бывает удобно. Что мне ещё нравится в классическом top — в многоэкранном режиме можно оценить какие из процессов жрут память, какие проц и причём одновременно. В htop для этого приходится переключать режимы сортировки.
                                                              +1

                                                              Вместо jq использую fx

                                                                +2
                                                                Странная классификация перечисленных утилит к современным)

                                                                По современному: prometheus + grafana + elastik search + kafka ))

                                                                вот это да, понимаю, модно и молодежно )

                                                                А у вас — просто альтеративы: сделать тоже, но другим макаром.

                                                                По поводу производительности труда: bash решает… чтобы не писать тищу раз в сутки одно и тоже — делаешь простой скрипт под себя, и вуаля, там хоть мейл отправляй при некоторых случаях…

                                                                кста, тотже netstat можно частично заменить iotop… да и вообще, альтератив полно…
                                                                  0
                                                                  По современному: prometheus + grafana + elastik search + kafka ))

                                                                  Интересно было бы посмотреть на эти инструменты в разрезе CLI, ведь речь в статье именно про инструменты командной строки. Это вопрос без сарказма :) я где-то встречал инструмент CLI, который визуализирует в терминале данные из Elasticsearch, но когда целенаправленно поискал его через какое-то время, нагуглить не удалось. И было бы полезно иметь тул, который умеет рисовать в терминале метрики из Prometheus.
                                                                  +5

                                                                  Пользуйтесь ls/cd/pushd/popd/du/top/grep/man/find/less/vim
                                                                  По началу будет тяжеловато. Но когда вы находитесь на изолированном/сломанном сервере. Каждая минута на счету, а вы привыкли к "хипстерским" утилиткам, которых, внезапно, не оказалось на сервере. И вместо того чтобы диагностировать и решать проблему вы будете учиться пользоваться тем, что есть.

                                                                    +5

                                                                    man из списка удалить, манов может не быть и команда может не стоять.
                                                                    Не vim, а vi нужно знать, опять же потому, что vim опционален, а vi входит в стандарт.


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


                                                                    Я использую pydf вместо df, htop вместо top и так далее, они мной ставятся при первом же заходе на сервер. Но я оказавшись на чужом сервере так же спокойно использую стандартные утилиты. Это вопрос стандарт vs удобство.

                                                                    0
                                                                    pydf vs df
                                                                      0

                                                                      Да, тоже использую pydf, но мой коммент был на модерации какое-то время
                                                                      На мой взгляд самая удобная альтернатива dfу

                                                                      –5
                                                                      А давно на хабре ссылку на оригинальную статью не оставляют и не говорят что это перевод?
                                                                      opensource.com/article/20/6/modern-linux-command-line-tools
                                                                        +6
                                                                        Ссылка на оригинал есть, под заголовком «Автор оригинала: Ricardo Gerardi» и этот текст кликабельный.
                                                                        +1
                                                                        Ну всё обмазался новинками
                                                                        tldr rrg
                                                                        No tldr entry for rrg
                                                                        $ fuck
                                                                        tldr rg [enter/↑/↓/ctrl+c]

                                                                        tldr показывает справку даже для программ, которых нет в системе o_O

                                                                        Хотел предложить ещё HTTPie, но не прижился, так и использую wget&curl.
                                                                          0
                                                                          Вот это кстати да. man обычно показывает справку не только по команде, которая есть в системе, но еще и справку по той версии команды, что стоит в системе.
                                                                            +1

                                                                            Кстати, один из способов оценить, установлена программа или нет. А то бывает, что --help не справку выводит, а как аргумент берется.

                                                                            –1

                                                                            teeldeer лучше tldr и написан на Rust

                                                                            +1
                                                                            можно еще упомянуть pinfo как замену man — значительно удобнее в работе.
                                                                              0
                                                                              multitail vs tail -f
                                                                              +1
                                                                              Против grep/ack есть ag (https://github.com/ggreer/the_silver_searcher)
                                                                                0
                                                                                А что с перформансом `ncdu` — нормально работает или медленне «du»?
                                                                                  0
                                                                                  Ну это несколько разные инструменты. Но мне он очень зашёл, в отличие от хипстерского broot. Тот сканирует значительно быстрее и красивше, но сам по себе тормозной и не сильно удобный, ну как мне показалось. У broot просто другой алгоритм сканирования. Если ncdu сразу проходится по всему дереву, то broot досканирует при переходе в подкаталоги.
                                                                                  broot
                                                                                  image

                                                                                  ncdu
                                                                                  image
                                                                                  +2

                                                                                  Думается мне что замена grep это все же rg, а не jq.

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

                                                                                  Самое читаемое