Как работать с командной строкой эффективно: 6 советов от разработчика Дейва Керра

Читать в полной версии →

Чем больше программист работает в командной строке, тем сложнее ему ориентироваться в тексте и командах. Мы перевели статью разработчика Дейва Керра и узнали, как с помощью сочетаний клавиш (шорткатов) упростить навигацию и поиск в командной строке.

Вы читаете обновленную и улучшенную версию нашей старой статьи

Предположим, что разработчик составляет простую команду, которая будет записывать цитату в текстовый файл:

echo "The trouble with writing fiction is that it has to make sense,
whereas real life doesn't. -- Iain M. Banks" >> quote.txt

Между длинными блоками текста разработчик может перемещаться стрелками. Но это долго и неудобно. Есть более простой способ навигации — шорткаты:

Поиск в командной строке

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

Допустим, разработчик запускает три следующие команды:

$ command1 param1 param2 param3
$ command2 param4 param5 param6
$ command3 param7 param8 param9

Он может выполнять поиск вперед или назад с помощью Ctrl + r и Ctrl + s. Поиск будет вестись по текущей команде, а затем итеративно по предыдущим:

Также шорткаты можно использовать для поиска по истории команд вперед и назад:

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

Читайте также: Как читать чужой код: 6 правил, которые стоит помнить разработчику

Редактирование в командной строке

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

Вот шорткат, который позволит редактировать команду прямо в командной строке: Ctrl + x , Ctrl + e

Очистка экрана в командной строке

Шорткат Ctrl + l очищает экран, не удаляя текущую команду. Это выглядит так:

Транспонирование

Транспонирование в командной строке меняет местами последние два слова в команде. Можно, конечно, их стереть и заново набрать, но на это уйдет больше времени, чем на использование сочетания клавиш.

Вызвать транспонирование можно с помощью шортката Alt + t. А сочетание клавиш Ctrl + t поменяет местами последние две буквы:

Библиотека для управления командной строкой в интерпретаторах

Чтобы вывести свою работу в командной строке на новый уровень, стоит изучить библиотеку GNU Readline. С ее помощью можно настроить все низкоуровневые детали работы любых интерпретаторов, которые используют Readline. Для этого есть конфигурационный файл .inputrc.

Шорткаты GNE Readline работают в любой командной строке, которая использует эту библиотеку. То есть все, о чем мы писали выше, применяется к:

  1. Bash
  2. zsh
  3. Python REPL
  4. Node.js REPL

На сайте Readline есть отличная шпаргалка по командам — рекомендуем ее изучить.

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

Итог

Мы рассказали о нескольких классных шорткатах, которые упрощают работу с командной строкой. Вот небольшой схематический конспект статьи:

Изучите основы командной строки бесплатно! На Хекслете есть бесплатный курс по основам командной строки. Пройдите его, чтобы подробнее узнать о командах linux, навигации и поиске, а также научиться манипулировать файловой системой как профи.