7 классных инструментов командной строки на каждый день
Авторская подборка полезных утилит, которые скрасят суровые терминальные будни любого программиста.
Кадр: сериал «Кремниевая долина»
Эрик Чи (Eric Chi)
Об авторе
Senior Software Engineer, Consultant в Liferay. Обожает изучать, преподавать и создавать классные программные продукты, которые приносят удовольствие пользователям.
Источник
Переводчик
Руслан Гаджиев
Терминал, или командная строка, — пожалуй, самый часто используемый программистами инструмент. CLI довольно нетребователен к ресурсам и при этом потрясающе функционален. Некоторые разработчики даже тратят время на кастомизацию своего терминала — и я их очень уважаю.
В статье я расскажу о нескольких CLI-инструментах, которые мне очень нравятся и которые я применяю практически ежедневно. Хотя это, конечно, лишь верхушка айсберга — существует куча классных утилит для терминала.
1. Vim
Для тех, кто вдруг не знаком с Vim: это легендарный текстовый редактор, который расширяет возможности стандартного Vi и установлен «из коробки» в любой уважающей себя *nix-системе. Он позволяет редактировать или создавать файлы прямо в терминале.
Vim будет полезен, если вам надо быстро отредактировать файл — локально в терминале или на удалённой машине, — а открывать IDE или GUI-редактор слишком долго или даже невозможно. Поначалу Vim может показаться замороченным и непривычным, потому что многие его команды и сочетания клавиш не интуитивно понятны, в отличие от современных редакторов кода.
Но если вы всё же потратите время на изучение Vim, то оцените, насколько это мощный инструмент, и поймёте, почему у такого аскетичного консольного редактора такое огромное сообщество и фан-база. Да, его комьюнити настолько велико, что разработчики даже создают плагины для популярных IDE и редакторов кода, которые превращают их интерфейс в Vim-like.
2. vtop
Для отображения информации о запущенных системных процессах, памяти устройства и загрузке CPU часто используется команда top. Но при работе с ней порой бывает непросто разобраться в отображаемых данных. Чтобы облегчить себе жизнь, рекомендую vtop — это как top, но с графическим интерфейсом.
Мне очень нравится визуальное отображение информации, поэтому vtop запущен у меня всегда — это позволяет следить за загрузкой системы. Правда, для работы с ним вам понадобится npm.
3. fzf
Универсальный инструмент расширенного поиска в командной строке, который позволяет находить файлы, содержащие введённый вами текст. Даже само по себе это прикольно: отображаются любые файлы из директории, в которой вы находитесь, запуская команду. Это как Spotlight, только в терминале.
Но истинный потенциал fzf раскрывается при комбинировании с другими командами — например, kill или cat. Для этого понадобится запустить скрипт установки, который поставляется вместе с пакетом или лежит внутри репозитория:
/usr/local/opt/fzf/install
or
~/.fzf/install
После этого перезапустите терминал или используйте source .bashrc и ответьте на несколько вопросов. Когда вы ответите на них, вам станут доступны все возможности fzf.
Теперь можно использовать следующие команды:
cat **[TAB]
vim **[TAB]
ssh **[TAB]
fzf тут же примется за работу и найдёт все подходящие элементы:
Ещё один прикольный вариант применения fzf — в сочетании с командой kill. Пожалуй, этим способом я пользуюсь чаще всего. Давно прошли те дни, когда я вводил ps -ef | grep [имя процесса], а затем набирал вручную либо копировал ID процесса для его завершения.
Теперь я просто запускаю команду kill [tab] или kill -9 [tab], нахожу процесс, который нужно завершить, и нажимаю Enter. ID процесса подставится автоматически.
4. trash-cli
Бывало ли так, что вы вводите rm -rf и внезапно понимаете, что только что случайно удалили нечто очень важное — причём безвозвратно? Уверен, такое происходило не только со мной.
Если вы хотите впредь не попадать в подобные неприятности, настоятельно рекомендую вместо стандартной команды использовать для удаления trash-cli. Этот инструмент, вместо того чтобы полностью выпиливать с диска помеченные файлы и папки, просто перемещает их в корзину.
Для того чтобы не набирать команду trash и случайно не ошибиться, введя привычную команду, у меня в .bashrc настроен алиас, который заменяет rm:
alias rm=trash
И да, это работает со всеми флагами, которые предоставляет команда rm.
5. speed-test
Если вы хотите узнать, насколько быстрый у вас интернет, не открывая при этом Chrome, то speed-test — это именно то, что вам нужно.
Я пользуюсь этим инструментом довольно часто, и мне нравится, что он всегда под рукой. Кроме того, прикольно проделывать всё это в терминале. Правда, вам понадобится npm.
6. Wikit
Эта тулза очень маленькая, и я её просто обожаю. Терминал на моём компьютере открыт постоянно (я использую iTerm2), и иметь возможность поиска в «Википедии» прямо из терминала — просто потрясающе. А wikit как раз позволяет делать это.
Для работы инструмента вам понадобится npm.
7. Cointop
Последний инструмент в списке, возможно, пригодится далеко не всем, но я использую его каждый день. Те из вас, кто интересуется миром криптовалюты, вероятно, уже с ним знакомы.
Следить за кучей валют и их вечно меняющимися курсами бывает утомительно, и тут на помощь приходит cointop.
сointop — это отсылка к команде top, но вместо информации о системе она выводит статистику по криптовалютам.
Заключение
На самом деле ежедневно я использую гораздо больше CLI-инструментов, но из всего своего зоопарка утилит хочу выделить именно эти. Именно с ними я люблю возиться больше всего. Ещё мне нравится, что большинство этих инструментов поддерживаются комьюнити разработчиков-волонтёров — ну, и они просто прикольные.