Консольные утилиты Linux, которые смогут облегчить вам жизнь (Часть 2)

    image


    Так как предыдущая статья зашла довольно хорошо, было бы неправильно не поделиться дополнительными утилитами, которые я использую и по сей день. Сразу хочу оговориться, что статья адаптирована и для новичков, а старым линуксоидам придётся немного сточить зубы потерпеть разжевывание материала. Вперёд в тему!


    Предисловие для новичков


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


    • Если вы сидите на ветке Debian (Ubuntu, Debian, Mint, Pop!_os) попробуйте поискать программы на Launchpad, пакеты в репозиториях утилит формата .deb
    • Если вы сидите на ветке Arch (Arch, Manjaro, Void Linux) то попробуйте поискать программу в AUR репозиториях, сами утилиты и программы в формате .appimage (если это графические утилиты), а также PKGBUILD файлы для компилирования исходников автоматически
    • Если вы сидите на ветке RedHat (Fedora, CentOS), то попробуйте воспользоваться встроенной в большинство дистрибутивов ветки RedHat утилитой Flatpak (аналог Snap). Также, попробуйте поискать пакеты в формате .rpm

    Если говорить обо мне, то у меня стоит Manjaro CLI, с установленной на неё i3-gaps и собственными конфигурациями, если кому интересно — можете пользоваться, остальным же советую просто придерживаться правил вверху и помнить, что любая проблема в Linux решается простым гуглением и логическими размышлениями.


    Список программ


    Администрирование


    • gotop — программа для визуализации процессов (аналог htop)
      Установка с помощью Snap:

    snap install gotop --classic



    • glances — ещё один аналог htop, однако на этот раз более функциональный
      Установка с помощью pip

    pip install glances



    Веб-разработка


    • JSShell — если вам по какой-то причине не нравится консоль браузера, то всегда можно сделать те же операции в терминале
    • live-server — утилита для легкого запуска локального сервера с автообновлением при изменении index.html (или другого файла)
      Установка с помощью npm
      sudo npm i live-server -g
    • wp-cli — утилита для администрирования сайта на WordPress с помощью консоли
      Установка с помощью копирования исходника из репозитория

      curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
      php wp-cli.phar --info
      chmod +x wp-cli.phar
      sudo mv wp-cli.phar /usr/local/bin/wp
    • surge — "поднятие сайта за секунду"
      Установка c помощью npm
      sudo npm i surge -g
    • httpie — отладчик веб-приложений из консоли
      Установка с помощью любого менеджера пакетов
      sudo apt install httpie || sudo pacman -Sy httpie || sudo dnf install -Sy httpie
    • hget — утилита для парсинга сайтов в простой текстовый файл
      Установка c помощью npm
      sudo npm install hget -g

    Приложения, которые облегчают работу без GUI


    • nmtui — утилита с TUI для выбора и настройки сети прямо из терминала


    • alsamixer — утилита для настройки звука


    • neovim — удобный редактор с поддержкой асинхнронного скачивания плагинов и линтинга языков


    • browsh — браузер с псевдо-GUI (ASCII-графика) прямо в консоли


    • fzf — быстрый поиск файлов (FuzzyFinder)


    Дополнения


    Если у вас есть утилиты, которые вам нравятся, напишите о них в комментариях и я дополню ими статью! Спасибо за то, что дочитали.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      +4
      fdupes — поиск дубликатов в заданном каталоге
      ncdu — du с псевдографическим интерфейсом (удобно искать разжиревший каталог)
        0

        fdupes можно натравить на папку, в которой много вложенных папок с фотографиями?

          0
          duc в плане поиска разжиревших каталогов тоже крайне удобен)
          +2
          atop — без графиков, но показывает много информации, включая IO по процессам и позволяет вести лог процессов и потребления ими ресурсов с заданной периодичностью
            0

            В атопе имхо самое удобное — наличие простенького и быстро устанавливаемого мониторинга

            0

            GoAccess — парсит логи веб-сервера, выдаёт красивый отчёт и графики.
            httpstat — помогает понять, как быстро отдаётся страница с сервера
            Pass/gopass — лучший менеджер паролей для консоли


            Есть ещё какая-то мелочёвка, которой нет в статье, но которую я регулярно использую, но как только я пытаюсь что-то вспомнить — сразу забываю это. Any way в нужный момент руки сами знают, что им набирать в консоли.

              +1
              Если вы сидите на ветке

              Если вы в gentoo, то вам сюда.
                0
                bmon — мониторинг активного потребления трафика.
                weechat — jabber/matrix/прочий IM-клиент.
                at — отложенный запуск команд.
                axel — много-поточная закачка файлов.
                bettercap — швейцарский нож среди снифферов.
                borg — дедублирующий коллектор бакапов.
                dialog — диалоги для ваших скриптов.
                espeak — синтез речи из текста (поддерживает русский язык).
                exa — стильная замена ls.
                xclip xsel — управление буффером обмена с командной строки.
                  0
                  axel — много-поточная закачка файлов.

                  а почему не lftp?

                    0
                    Есть плюсы и минусы. axel не умеет скачивать torrentы, зато умеет одновременную загрузку файла с разных серверов. А так, их же много там: curl, wget, hget, aria2, nugget, lftp.
                      0

                      я пользуюсь wget если нужно просто скачать файл (в нём это проще всего, плюс он из коробки есть практически везде), или нужно скачать рекурсивно (только не вспоминается когда это нужно было в последний раз).
                      curl если нужно отдать файл в stdout (wget тоже умеет, но мне лень вспоминать опции) или что-то эдакое (нестандартные заголовки, посмотреть заголовки, POST/PUT, явное указание CA, etc). он самый "прямолинейный" из тройки, например, по умолчанию он не идёт по редиректам 301/302.
                      lftp использую для многопоточного скачивания (lftp -c "pget -n 10 http://someurl"), ну и изредка как интерактивный ftp-клиент.


                      это то, что "помнят пальцы", вроде бы хватает на основные случаи "что-то нужно скачать в консоли/скрипте" (разве что иногда огорчает, что все три игнорируют заголовок Content-Disposition).
                      но мало ли, вдруг axel умеет что-то, что мне жизненно необходимо, а я об этом пока не знаю ))

                        0
                        Всё гораздо проще, я просто нажал Tab два раза и он (axel) среди прочего вывода оказался где-то в начале списка, вот и вспомнился. Киллер фич там скорее всего нету.

                        А так мне тоже нравится wget. Особенно закачка страниц с содержимым (картинки, стили, скрипты, и даже просто файлы, ссылки на которые есть на странице).
                  +1

                  tcpflow -pc — посмотреть в текстовом виде что бегает по сети. понимает опции и фильтры от tcpdump. пишет на stdout, можно grep'ать.
                  iptraf-ng — интерактивно посмотреть как много трафика бегает (в разрезе интерфейсов/портов/отдельных соединений).
                  mtr — интерактивный traceroute. в debian пакет mtr-tiny. помимо q иногда пользуюсь кнопкой y.
                  simpleproxy — разово/без требований к производительности прокинуть порт (есть ещё socat, но я привык к более простому simpleproxy).
                  iotop -mxz 10 — общая дисковая активность + задержки ввода-вывода (очень полезно чтобы оценить не перегружен ли диск). процент нагрузки на диск врёт. в debian пакет systat.
                  fatrace — текущие обращения к диску (показывает обращения по nfs, но не показывает mysql).
                  pv — "cat с прогрессбаром".

                    0
                    Добавлю еще к списку:
                    powertop — настройка энергопотребления ноутбука в ncurse-стиле.
                    nyx — утилита по контролю tor-соединений в ncurse-стиле.
                    ncdc — клиент к DC(++)-сетям в ncurse-стиле.
                      0
                      Для быстрого поиска удобен ag. В апте silversearcher-ag
                        0

                        devd хорош как быстросервер для разработки

                          0
                          по тому что не было указано ещё пользую:
                          taypo/redial — управление SSH-сессиями
                          lfos/calcurse — text-based calendar and scheduling application

                          ещё хотел упомянуть про запись терминала — asciinema, сам как-то не активно юзаю, но вообще очарован)

                          спасибо за подборку
                            0

                            rg — ripgrep замена греп для поиска по сорсами с учётом. gitignore, быстрее чем любые аналоги.
                            fd — https://github.com/sharkdp/fd, замена find+parallel, удобная замена find
                            bat — замена cat с подсветкой синтаксиса и автопайпом в pager, если текст не влезает в 1 экран консоли https://github.com/sharkdp/bat

                              0
                              спасибо, очень классные штукенции.
                                0
                                Кстати, fd — вообще не приспособлен для скриптов. Его вывод слишком хаотичен для обработки. А вы пробовали ack? или это из другой оперы?
                                  0
                                  Попробовал bat. Штука весьма удобная. Печально, что подсветка синтаксиса просто нулевая, сравните с pygmentize. На мой скромный взгляд, pygmentize даже без указания языка синтаксиса даёт более детальную подсветку.
                                  0
                                  Есть ли что-то подобное для мониторинга текущего потребления сети? В Windows это есть в Диспетчере задач, в macOS — в Activity Monitor.
                                  Не хватает подобного для Linux, не обязательно GUI, консольное тоже подойдёт.
                                    0

                                    озвучьте требования, пожалуйста.
                                    уже были упомянуты bmon и iptraf-ng, это не то?

                                    0
                                    screen — управляет несколькими сессиями из одной консоли или окна терминала.
                                    Странно что не упомянули.
                                      0
                                      Однажды видел, как человек очень классно оперировал окнами в screen.
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                          0
                                          Не такой же, screen — gnuшный, а tmux будут еще пилить десятки лет… про промежуточный результат — это все про tmux.
                                            0
                                            Вроде на tmux тоже давно подзабили.
                                        +2
                                        Если вы сидите на ветке Debian (Ubuntu, Debian, Mint, Pop!_os) попробуйте поискать программы на Launchpad, пакеты в репозиториях утилит формата .deb

                                        Не надо новичкам Дебиана рекомендовать Launchpad: Don't Break Debian
                                        Понатаскают всё подряд в рот в систему и потом бегут жаловаться, мол ваш Дебиан говно, где же хвалённая стабильность.
                                          0
                                          А зачем ставить npm пакет через sudo? Я помню, рекомендовали не делать этого.
                                            0

                                            Часто пакеты не ставятся без него. Мб такая особенность только на Manjaro, хотя на Ubuntu у меня было то же самое

                                              0
                                              NPM добавляет алиасы в /bin для запуска программ с короткой команды, то есть без указания интерпретатора /usr/bin/node и полного пути к js-файлу.

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

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