7 классных инструментов командной строки на каждый день
Авторская подборка полезных утилит, которые скрасят суровые терминальные будни любого программиста.
![](https://248006.selcdn.ru/main/iblock/6dd/6dd33b98250788798c9855f20496c7b8/81b69c51739be352acc7160529400e82.jpg)
![](https://248006.selcdn.ru/main/iblock/6dd/6dd33b98250788798c9855f20496c7b8/81b69c51739be352acc7160529400e82.jpg)
Кадр: сериал «Кремниевая долина»
![](/upload/setka_images/09395715042022_c480ac8990d169985f8fec04c80d707f904ddb55.jpeg)
Эрик Чи (Eric Chi)
Об авторе
Senior Software Engineer, Consultant в Liferay. Обожает изучать, преподавать и создавать классные программные продукты, которые приносят удовольствие пользователям.
Источник
Переводчик
Руслан Гаджиев
Терминал, или командная строка, — пожалуй, самый часто используемый программистами инструмент. CLI довольно нетребователен к ресурсам и при этом потрясающе функционален. Некоторые разработчики даже тратят время на кастомизацию своего терминала — и я их очень уважаю.
В статье я расскажу о нескольких CLI-инструментах, которые мне очень нравятся и которые я применяю практически ежедневно. Хотя это, конечно, лишь верхушка айсберга — существует куча классных утилит для терминала.
1. Vim
Для тех, кто вдруг не знаком с Vim: это легендарный текстовый редактор, который расширяет возможности стандартного Vi и установлен «из коробки» в любой уважающей себя *nix-системе. Он позволяет редактировать или создавать файлы прямо в терминале.
![](/upload/setka_images/09412315042022_f8e2668d468d0a83016bd9d8a261b330ff850882.gif)
Vim будет полезен, если вам надо быстро отредактировать файл — локально в терминале или на удалённой машине, — а открывать IDE или GUI-редактор слишком долго или даже невозможно. Поначалу Vim может показаться замороченным и непривычным, потому что многие его команды и сочетания клавиш не интуитивно понятны, в отличие от современных редакторов кода.
Но если вы всё же потратите время на изучение Vim, то оцените, насколько это мощный инструмент, и поймёте, почему у такого аскетичного консольного редактора такое огромное сообщество и фан-база. Да, его комьюнити настолько велико, что разработчики даже создают плагины для популярных IDE и редакторов кода, которые превращают их интерфейс в Vim-like.
2. vtop
Для отображения информации о запущенных системных процессах, памяти устройства и загрузке CPU часто используется команда top. Но при работе с ней порой бывает непросто разобраться в отображаемых данных. Чтобы облегчить себе жизнь, рекомендую vtop — это как top, но с графическим интерфейсом.
![](/upload/setka_images/10453615042022_b8b950158ed363441af3103e809e878eefbb1590.gif)
Мне очень нравится визуальное отображение информации, поэтому vtop запущен у меня всегда — это позволяет следить за загрузкой системы. Правда, для работы с ним вам понадобится npm.
3. fzf
Универсальный инструмент расширенного поиска в командной строке, который позволяет находить файлы, содержащие введённый вами текст. Даже само по себе это прикольно: отображаются любые файлы из директории, в которой вы находитесь, запуская команду. Это как Spotlight, только в терминале.
![](/upload/setka_images/10454815042022_27324f4a3beef004c1188ee2cafbc30aab61df6a.gif)
Но истинный потенциал fzf раскрывается при комбинировании с другими командами — например, kill или cat. Для этого понадобится запустить скрипт установки, который поставляется вместе с пакетом или лежит внутри репозитория:
/usr/local/opt/fzf/install
or
~/.fzf/install
После этого перезапустите терминал или используйте source .bashrc и ответьте на несколько вопросов. Когда вы ответите на них, вам станут доступны все возможности fzf.
Теперь можно использовать следующие команды:
cat **[TAB]
vim **[TAB]
ssh **[TAB]
fzf тут же примется за работу и найдёт все подходящие элементы:
![](/upload/setka_images/09443915042022_9f4177150537e15f4549b4114125e7b7fd1ba2c4.gif)
Ещё один прикольный вариант применения fzf — в сочетании с командой kill. Пожалуй, этим способом я пользуюсь чаще всего. Давно прошли те дни, когда я вводил ps -ef | grep [имя процесса], а затем набирал вручную либо копировал ID процесса для его завершения.
Теперь я просто запускаю команду kill [tab] или kill -9 [tab], нахожу процесс, который нужно завершить, и нажимаю Enter. ID процесса подставится автоматически.
![](/upload/setka_images/09453115042022_08b05e7a793ee96c87ad6538ed513e45f4ce5704.gif)
4. trash-cli
Бывало ли так, что вы вводите rm -rf и внезапно понимаете, что только что случайно удалили нечто очень важное — причём безвозвратно? Уверен, такое происходило не только со мной.
Если вы хотите впредь не попадать в подобные неприятности, настоятельно рекомендую вместо стандартной команды использовать для удаления trash-cli. Этот инструмент, вместо того чтобы полностью выпиливать с диска помеченные файлы и папки, просто перемещает их в корзину.
![](/upload/setka_images/09461115042022_5a1bba1c28b4a49e108d429d2577500dc235af18.gif)
Для того чтобы не набирать команду trash и случайно не ошибиться, введя привычную команду, у меня в .bashrc настроен алиас, который заменяет rm:
alias rm=trash
И да, это работает со всеми флагами, которые предоставляет команда rm.
5. speed-test
Если вы хотите узнать, насколько быстрый у вас интернет, не открывая при этом Chrome, то speed-test — это именно то, что вам нужно.
![](/upload/setka_images/09465215042022_3cd9ef3440d95f4bb61a3e415a1c8e825d3ce05e.gif)
Я пользуюсь этим инструментом довольно часто, и мне нравится, что он всегда под рукой. Кроме того, прикольно проделывать всё это в терминале. Правда, вам понадобится npm.
6. Wikit
Эта тулза очень маленькая, и я её просто обожаю. Терминал на моём компьютере открыт постоянно (я использую iTerm2), и иметь возможность поиска в «Википедии» прямо из терминала — просто потрясающе. А wikit как раз позволяет делать это.
![](/upload/setka_images/09522915042022_67577da4d8977ebae7bbc26fe09eaca85147b425.gif)
Для работы инструмента вам понадобится npm.
7. Cointop
Последний инструмент в списке, возможно, пригодится далеко не всем, но я использую его каждый день. Те из вас, кто интересуется миром криптовалюты, вероятно, уже с ним знакомы.
Следить за кучей валют и их вечно меняющимися курсами бывает утомительно, и тут на помощь приходит cointop.
сointop — это отсылка к команде top, но вместо информации о системе она выводит статистику по криптовалютам.
![](/upload/setka_images/09530115042022_11a1d33ad10be24be98dc84cf3f4c2293103c450.gif)
Заключение
На самом деле ежедневно я использую гораздо больше CLI-инструментов, но из всего своего зоопарка утилит хочу выделить именно эти. Именно с ними я люблю возиться больше всего. Ещё мне нравится, что большинство этих инструментов поддерживаются комьюнити разработчиков-волонтёров — ну, и они просто прикольные.