0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>18 апр 2022</li>
2
<ul><li>18 апр 2022</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Авторская подборка полезных утилит, которые скрасят суровые терминальные будни любого программиста.</p>
4
</ul><p>Авторская подборка полезных утилит, которые скрасят суровые терминальные будни любого программиста.</p>
5
<p>Кадр: сериал "Кремниевая долина"</p>
5
<p>Кадр: сериал "Кремниевая долина"</p>
6
<p>Переводчик, специалист по авиационной безопасности, начинающий веб-разработчик. Убеждён, что любой человек может сочетать абсолютно разные интересы и сферы профессиональной деятельности, ведь наши возможности безграничны.</p>
6
<p>Переводчик, специалист по авиационной безопасности, начинающий веб-разработчик. Убеждён, что любой человек может сочетать абсолютно разные интересы и сферы профессиональной деятельности, ведь наши возможности безграничны.</p>
7
<p><strong>Об авторе</strong></p>
7
<p><strong>Об авторе</strong></p>
8
<p>Senior Software Engineer, Consultant в Liferay. Обожает изучать, преподавать и создавать классные программные продукты, которые приносят удовольствие пользователям.</p>
8
<p>Senior Software Engineer, Consultant в Liferay. Обожает изучать, преподавать и создавать классные программные продукты, которые приносят удовольствие пользователям.</p>
9
<p>Терминал, или командная строка, - пожалуй, самый часто используемый программистами инструмент. CLI довольно нетребователен к ресурсам и при этом потрясающе функционален. Некоторые разработчики даже тратят время на кастомизацию своего терминала - и я их очень уважаю.</p>
9
<p>Терминал, или командная строка, - пожалуй, самый часто используемый программистами инструмент. CLI довольно нетребователен к ресурсам и при этом потрясающе функционален. Некоторые разработчики даже тратят время на кастомизацию своего терминала - и я их очень уважаю.</p>
10
<p>В статье я расскажу о нескольких CLI-инструментах, которые мне очень нравятся и которые я применяю практически ежедневно. Хотя это, конечно, лишь верхушка айсберга - существует куча классных утилит для терминала.</p>
10
<p>В статье я расскажу о нескольких CLI-инструментах, которые мне очень нравятся и которые я применяю практически ежедневно. Хотя это, конечно, лишь верхушка айсберга - существует куча классных утилит для терминала.</p>
11
<p>Для тех, кто вдруг не знаком с Vim: это легендарный текстовый редактор, который расширяет возможности стандартного Vi и установлен "из коробки" в любой уважающей себя *nix-системе. Он позволяет редактировать или создавать файлы прямо в терминале.</p>
11
<p>Для тех, кто вдруг не знаком с Vim: это легендарный текстовый редактор, который расширяет возможности стандартного Vi и установлен "из коробки" в любой уважающей себя *nix-системе. Он позволяет редактировать или создавать файлы прямо в терминале.</p>
12
Базовое применение Vim<p>Vim будет полезен, если вам надо быстро отредактировать файл - локально в терминале или на удалённой машине, - а открывать IDE или GUI-редактор слишком долго или даже невозможно. Поначалу Vim может показаться замороченным и непривычным, потому что многие его команды и сочетания клавиш не интуитивно понятны, в отличие от современных редакторов кода.</p>
12
Базовое применение Vim<p>Vim будет полезен, если вам надо быстро отредактировать файл - локально в терминале или на удалённой машине, - а открывать IDE или GUI-редактор слишком долго или даже невозможно. Поначалу Vim может показаться замороченным и непривычным, потому что многие его команды и сочетания клавиш не интуитивно понятны, в отличие от современных редакторов кода.</p>
13
<p>Но если вы всё же потратите время на изучение Vim, то оцените, насколько это мощный инструмент, и поймёте, почему у такого аскетичного консольного редактора такое огромное сообщество и фан-база. Да, его комьюнити настолько велико, что разработчики даже создают плагины для популярных IDE и редакторов кода, которые превращают их интерфейс в Vim-like.</p>
13
<p>Но если вы всё же потратите время на изучение Vim, то оцените, насколько это мощный инструмент, и поймёте, почему у такого аскетичного консольного редактора такое огромное сообщество и фан-база. Да, его комьюнити настолько велико, что разработчики даже создают плагины для популярных IDE и редакторов кода, которые превращают их интерфейс в Vim-like.</p>
14
<p>Для отображения информации о запущенных системных процессах, памяти устройства и загрузке CPU часто используется команда top. Но при работе с ней порой бывает непросто разобраться в отображаемых данных. Чтобы облегчить себе жизнь, рекомендую<a>vtop</a> - это как top, но с графическим интерфейсом.</p>
14
<p>Для отображения информации о запущенных системных процессах, памяти устройства и загрузке CPU часто используется команда top. Но при работе с ней порой бывает непросто разобраться в отображаемых данных. Чтобы облегчить себе жизнь, рекомендую<a>vtop</a> - это как top, но с графическим интерфейсом.</p>
15
vtop в действии<p>Мне очень нравится визуальное отображение информации, поэтому vtop запущен у меня всегда - это позволяет следить за загрузкой системы. Правда, для работы с ним вам понадобится npm.</p>
15
vtop в действии<p>Мне очень нравится визуальное отображение информации, поэтому vtop запущен у меня всегда - это позволяет следить за загрузкой системы. Правда, для работы с ним вам понадобится npm.</p>
16
<p>Универсальный инструмент расширенного поиска в командной строке, который позволяет находить файлы, содержащие введённый вами текст. Даже само по себе это прикольно: отображаются любые файлы из директории, в которой вы находитесь, запуская команду. Это как Spotlight, только в терминале.</p>
16
<p>Универсальный инструмент расширенного поиска в командной строке, который позволяет находить файлы, содержащие введённый вами текст. Даже само по себе это прикольно: отображаются любые файлы из директории, в которой вы находитесь, запуская команду. Это как Spotlight, только в терминале.</p>
17
Как работает расширенный поиск в моей домашней директории<p>Но истинный потенциал fzf раскрывается при комбинировании с другими командами - например, kill или cat. Для этого понадобится запустить скрипт установки, который поставляется вместе с пакетом или лежит внутри репозитория:</p>
17
Как работает расширенный поиск в моей домашней директории<p>Но истинный потенциал fzf раскрывается при комбинировании с другими командами - например, kill или cat. Для этого понадобится запустить скрипт установки, который поставляется вместе с пакетом или лежит внутри репозитория:</p>
18
<p>/usr/local/opt/fzf/install</p>
18
<p>/usr/local/opt/fzf/install</p>
19
<p>or</p>
19
<p>or</p>
20
<p>После этого перезапустите терминал или используйте source .bashrc и ответьте на несколько вопросов. Когда вы ответите на них, вам станут доступны все возможности fzf.</p>
20
<p>После этого перезапустите терминал или используйте source .bashrc и ответьте на несколько вопросов. Когда вы ответите на них, вам станут доступны все возможности fzf.</p>
21
<p>Теперь можно использовать следующие команды:</p>
21
<p>Теперь можно использовать следующие команды:</p>
22
<p>cat **[TAB]</p>
22
<p>cat **[TAB]</p>
23
<p>vim **[TAB]</p>
23
<p>vim **[TAB]</p>
24
<p>ssh **[TAB]</p>
24
<p>ssh **[TAB]</p>
25
<p>fzf тут же примется за работу и найдёт все подходящие элементы:</p>
25
<p>fzf тут же примется за работу и найдёт все подходящие элементы:</p>
26
Аналогично поиску по файлам в IDE<p>Ещё один прикольный вариант применения fzf - в сочетании с командой kill. Пожалуй, этим способом я пользуюсь чаще всего. Давно прошли те дни, когда я вводил ps -ef | grep [имя процесса], а затем набирал вручную либо копировал ID процесса для его завершения.</p>
26
Аналогично поиску по файлам в IDE<p>Ещё один прикольный вариант применения fzf - в сочетании с командой kill. Пожалуй, этим способом я пользуюсь чаще всего. Давно прошли те дни, когда я вводил ps -ef | grep [имя процесса], а затем набирал вручную либо копировал ID процесса для его завершения.</p>
27
<p>Теперь я просто запускаю команду kill [tab] или kill -9 [tab], нахожу процесс, который нужно завершить, и нажимаю Enter. ID процесса подставится автоматически.</p>
27
<p>Теперь я просто запускаю команду kill [tab] или kill -9 [tab], нахожу процесс, который нужно завершить, и нажимаю Enter. ID процесса подставится автоматически.</p>
28
Отличный пример использования fzf<p>Бывало ли так, что вы вводите rm -rf и внезапно понимаете, что только что случайно удалили нечто очень важное - причём безвозвратно? Уверен, такое происходило не только со мной.</p>
28
Отличный пример использования fzf<p>Бывало ли так, что вы вводите rm -rf и внезапно понимаете, что только что случайно удалили нечто очень важное - причём безвозвратно? Уверен, такое происходило не только со мной.</p>
29
<p>Если вы хотите впредь не попадать в подобные неприятности, настоятельно рекомендую вместо стандартной команды использовать для удаления<a>trash-cli</a>. Этот инструмент, вместо того чтобы полностью выпиливать с диска помеченные файлы и папки, просто перемещает их в корзину.</p>
29
<p>Если вы хотите впредь не попадать в подобные неприятности, настоятельно рекомендую вместо стандартной команды использовать для удаления<a>trash-cli</a>. Этот инструмент, вместо того чтобы полностью выпиливать с диска помеченные файлы и папки, просто перемещает их в корзину.</p>
30
trash-cli перемещает файлы в корзину, а не удаляет их<p>Для того чтобы не набирать команду trash и случайно не ошибиться, введя привычную команду, у меня в .bashrc настроен алиас, который заменяет rm:</p>
30
trash-cli перемещает файлы в корзину, а не удаляет их<p>Для того чтобы не набирать команду trash и случайно не ошибиться, введя привычную команду, у меня в .bashrc настроен алиас, который заменяет rm:</p>
31
<p>И да, это работает со всеми флагами, которые предоставляет команда rm.</p>
31
<p>И да, это работает со всеми флагами, которые предоставляет команда rm.</p>
32
<p>Если вы хотите узнать, насколько быстрый у вас интернет, не открывая при этом Chrome, то <a>speed-test</a> - это именно то, что вам нужно.</p>
32
<p>Если вы хотите узнать, насколько быстрый у вас интернет, не открывая при этом Chrome, то <a>speed-test</a> - это именно то, что вам нужно.</p>
33
Да, у меня ужасная скорость интернета, но я не об этом. Улавливайте суть<p>Я пользуюсь этим инструментом довольно часто, и мне нравится, что он всегда под рукой. Кроме того, прикольно проделывать всё это в терминале. Правда, вам понадобится npm.</p>
33
Да, у меня ужасная скорость интернета, но я не об этом. Улавливайте суть<p>Я пользуюсь этим инструментом довольно часто, и мне нравится, что он всегда под рукой. Кроме того, прикольно проделывать всё это в терминале. Правда, вам понадобится npm.</p>
34
<p>Эта тулза очень маленькая, и я её просто обожаю. Терминал на моём компьютере открыт постоянно (я использую iTerm2), и иметь возможность поиска в "Википедии" прямо из терминала - просто потрясающе. А <a>wikit</a>как раз позволяет делать это.</p>
34
<p>Эта тулза очень маленькая, и я её просто обожаю. Терминал на моём компьютере открыт постоянно (я использую iTerm2), и иметь возможность поиска в "Википедии" прямо из терминала - просто потрясающе. А <a>wikit</a>как раз позволяет делать это.</p>
35
Чтобы найти страницу Apple введите "wikit apple company"<p>Для работы инструмента вам понадобится npm.</p>
35
Чтобы найти страницу Apple введите "wikit apple company"<p>Для работы инструмента вам понадобится npm.</p>
36
<p>Последний инструмент в списке, возможно, пригодится далеко не всем, но я использую его каждый день. Те из вас, кто интересуется миром криптовалюты, вероятно, уже с ним знакомы.</p>
36
<p>Последний инструмент в списке, возможно, пригодится далеко не всем, но я использую его каждый день. Те из вас, кто интересуется миром криптовалюты, вероятно, уже с ним знакомы.</p>
37
<p>Следить за кучей валют и их вечно меняющимися курсами бывает утомительно, и тут на помощь приходит<a>cointop</a>.</p>
37
<p>Следить за кучей валют и их вечно меняющимися курсами бывает утомительно, и тут на помощь приходит<a>cointop</a>.</p>
38
<p>сointop - это отсылка к команде top, но вместо информации о системе она выводит статистику по криптовалютам.</p>
38
<p>сointop - это отсылка к команде top, но вместо информации о системе она выводит статистику по криптовалютам.</p>
39
<p>На самом деле ежедневно я использую гораздо больше CLI-инструментов, но из всего своего зоопарка утилит хочу выделить именно эти. Именно с ними я люблю возиться больше всего. Ещё мне нравится, что большинство этих инструментов поддерживаются комьюнити разработчиков-волонтёров - ну, и они просто прикольные.</p>
39
<p>На самом деле ежедневно я использую гораздо больше CLI-инструментов, но из всего своего зоопарка утилит хочу выделить именно эти. Именно с ними я люблю возиться больше всего. Ещё мне нравится, что большинство этих инструментов поддерживаются комьюнити разработчиков-волонтёров - ну, и они просто прикольные.</p>
40
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
40
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>