Выборочная история команд в терминале?

В терминале, когда Вы нажимаете в Вашей клавиатуре, Вы добираетесь для наблюдения прошлых команд, которые Вы дали ей прежде в порядке. Я задавался вопросом, был ли способ видеть только команды в прошлом запуске с - например, "ls-l". Тот путь, если список команд:

  1. ls-l-a
  2. cmake
  3. CD ~ / Рабочий стол
  4. cmake

Способ просто записать "ls" и вкладку или безотносительно комбинации нажатий клавиш должен был открыться прошлая команда, признающая терминальный запуск с "ls"

Спасибо,

9
задан 27 February 2012 в 14:05

5 ответов

Это не покажет вещи только начиная с ls, но вы можете сделать Ctrl-R ls, чтобы выполнить обратный поиск по истории. Повторите Ctrl-R, чтобы найти следующее совпадение.

0
ответ дан 27 February 2012 в 14:05

Иногда полезно иметь это ...

Пример

Подключение к другой машине с помощью ssh:

начать печатать

[ 110]

Используйте клавишу PgUp , и ваш ssh заканчивается вашим последним использованным ... нажмите PgUp еще раз, и вы получите следующий и так далее. Понравилось?

Вы можете использовать это:

Отредактируйте ваш .bashrc (vi /home/<yourfolder>/.bashrc) и добавьте это:

$if Bash
    # Search history back and forward using page-up and page-down
    "\e[5~": history-search-backward
    "\e[6~": history-search-forward

    # Completion
    set match-hidden-files off
    set page-completions off
    set completion-query-items 350
    set show-all-if-ambiguous on

$endif

Это добавляет только к терминалу вашего пользователя это функция. Вам также нужно будет отредактировать и тот из корня, чтобы иметь то же самое: вы можете следовать этому уроку из вики, нет способа сделать это неправильно, также есть много дополнительных вещей для улучшения вашего Терминальный опыт ...

0
ответ дан 27 February 2012 в 14:05

Для наблюдения истории команд использование может использовать:

$ history

Если Вы только хотите видеть, что прошлая команда начинается, например, "ls", по-моему, я использую:

$ history | grep ls

Конечно, вывод будет содержать что-то не команда, но содержать "ls" символы, но я думаю, что он может помочь.

5
ответ дан 27 February 2012 в 14:05

История находится ~ / .bash_history. Также, для удобного поиска истории в bash нажмите ctrl + r, а затем введите начало нужной команды.

и http://ubuntuforums.org/showthread.php?t=204382 для удобных псевдонимов и приемов командной строки

0
ответ дан 27 February 2012 в 14:05

Самый простой способ достичь желаемого - это !<whatever-command>. Например, чтобы выполнить ls, который вы выполнили последним, вы можете выполнить !ls. Взгляните на следующий журнал, чтобы узнать, нужен ли он вам:

nits@nits-excalibur:~$ ls /mnt/Storage_1/Music/
Music I  Music II  Music III  Music IV  Music V  Music_VI
nits@nits-excalibur:~$ cd Documents/
nits@nits-excalibur:~/Documents$ top
nits@nits-excalibur:~/Documents$ !ls
ls /mnt/Storage_1/Music/
Music I  Music II  Music III  Music IV  Music V  Music_VI
0
ответ дан 27 February 2012 в 14:05

Другие вопросы по тегам:

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