При работе в командной строке Linux часто требуется повторно выполнять предыдущие команды. Рассмотрим, как быстро найти и при необходимости изменить команду, которую вы уже выполняли ранее.
Если это относительно недавняя команда, то можно просто нажимать клавишу Вверх пока не появится нужная команда. Но если команда использовалась давно, то это не всегда удобно.
Ctrl+R — быстрый поиск по истории команд
Есть еще один очень простой и удобный способ для поиска по истории команд — это использование сочетания клавиш:
Ctrl+R
Работая в командной строке, нажмите сочетание клавиш Ctrl+R.
Вы попадете в режим поиска по истории команд. Приглашение в командной строке изменится на строку:
(reverse-i-search)`’:
Теперь можно начать вводить название команды, которую вы ищете или любую часть команды. То есть любую последовательность символов из команды, которую вы хотите найти.
По мере ввода символов будет осуществляться автоматический поиск по истории команд в соответствии с вводимыми вами символами, и если соответствующая команда найдена, то она отобразится в командной строке.
Перейти к следующей найденной команде
Нажмите повторно Ctrl+R, чтобы перейти к следующей найденной команде. Это похоже на перемещение по результатам поиска в текстовом редакторе, когда используется сочетание клавиш Ctrl+F.
Изменить найденную команду
Найденную команду можно изменить. Для этого нужно нажать клавишу Влево или Вправо, чтобы выйти из режима поиска. Команда при этом появится в командной строке и будет доступна для редактирования.
Чтобы выполнить команду, нажмите Enter.
Пример
Например, вы когда-то выполняли команду для копирования файла из одного каталога в другой:
cp pingvinus.ru/myfile.txt ~/Downloads/myfile2.txt
Вы хотите повторить эту команду и, возможно, немного ее изменить.
Нажимаем Ctrl+R и попадаем в режим поиска по истории команд.
(reverse-i-search)`':
Начинаем вводить какую-либо часть команды, которую мы ищем. Например, введем символы: myfi. Команда отобразится в терминале.
(reverse-i-search)`myfi': cp pingvinus.ru/myfile.txt ~/Downloads/myfile2.txt
Теперь можно нажать Enter, что ее сразу выполнить, или нажать клавишу Влево или Вправо, чтобы выйти из режима поиска и изменить команду.
Комментарии