Что самый быстрый путь состоит в том, чтобы перезагрузить команды истории, начинаются с определенных символов в Linux?

В DOS мы можем ввести первые несколько символов к истории команды фильтрации и найти надлежащую быстро. Но как сделать то же самое в Linux?

например, когда я тестирую локальный сервер:

cd 
sudo /etc/init.d/vsftpd start
wget ...
ls
emacs ...
sudo /etc/init.d/vsftpd restart
sudo /etc/init.d/vsftpd stop
...

В DOS можно легко ввести sudo и переключатель среди трех команд, начинающихся с него с помощью клавиш со стрелками. Но в Linux, ниже команды лучшее, которое мы можем сделать?

historty | grep sudo

Мне не нравится он, потому что история может легко стать путаницей, и этому также нужно действие мыши.

2
задан 05.11.2014, 11:11

3 ответа

Вставьте следующее Ваш ~/.inputrc:

"\e[A": history-search-backward
"\e[B": history-search-forward

Затем после ввода sudo, Будет искать команды, запускающиеся с sudo.

(Необходимо будет перезапустить удар.) (Не уверенный, если это работает в csh.)

6
ответ дан 08.12.2019, 04:36

В Bash (и большинство находящихся в readline приложений как он) можно нажать Ctrl-R для перевода в рабочее состояние истории ищут функцию:

$ date
Tue Feb  1 15:40:06 EET 2011
(reverse-i-search)`d': date

Путем нажатия Enter здесь я добираюсь:

$ date
Tue Feb  1 15:40:06 EET 2011
$ date
Tue Feb  1 15:40:52 EET 2011

Править:

Вы видите полный список связанных с историей нажатий клавиш Bash здесь.

Вы видите текущий список клавиатурных привязок поиска истории:

$ bind -P | grep search | grep history
forward-search-history can be found on "\C-s".
history-search-backward can be found on "\e[5~".
history-search-forward can be found on "\e[6~".
non-incremental-forward-search-history can be found on "\en".
non-incremental-forward-search-history-again is not bound to any keys
non-incremental-reverse-search-history can be found on "\ep".
non-incremental-reverse-search-history-again is not bound to any keys
reverse-search-history can be found on "\C-r".

В моем случае Page-Up/Down может также использоваться для поиска команд, которые запускаются с того, что я уже ввел, как настроено в моем /etc/inputrc:

# Page Up/Down cycles through history only for matching entries
"\e[5~": history-search-backward       # Previous
"\e[6~": history-search-forward        # Next
6
ответ дан 08.12.2019, 04:36

В дополнение к Ctrl+R можно ввести !sudo + Войдите в удар, и он выполнит последнюю команду, запускающуюся с sudo.

3
ответ дан 08.12.2019, 04:36

Введите первую букву как sudo, нажмите Ctrl и затем или .

2
ответ дан 08.12.2019, 04:36

Теги

Похожие вопросы