Поиск старой команды в истории оболочки [дубликат]

Как мне найти старую команду, которую я запускал в своем терминале?

Я использовал команду appengine и хочу просто найти ее в своей локальной истории команд, не исследуя ее снова в Интернете.

11
задан 26 March 2017 в 14:48

3 ответа

История - то, что Вы ищете.

Выполненный history получить список последних 1 000 команд или работать:

history | grep command_to_search

искать некоторый шаблон в рамках истории генерировало список, например:

history | grep apt

Искать любого apt связанная команда, отметьте это grep не привязывает Ваш шаблон ни к одному концу строки, таким образом, никакие подстановочные знаки, необходимые в большинстве случаев.


history список сгенерирован от последних 1 000 команд (по умолчанию) сохраненных в ~/.bash_history (который хранит в прошлом 2000 по умолчанию), и такой файл становится только обновленным каждый раз, когда Вы выходите из своей сессии Bash чисто. Это означает, все команды от Вашей текущей сессии не будут в том файле, пока Вы не закроете свой терминал. Они не будут также записаны при уничтожении процесса оболочки.

Поэтому история команд (2000 последние команды) может также быть найдена в ~/.bash_history, также:

  • less ~/.bash_history или, например. gedit ~/.bash_history
  • Открытие Nautilus, Ctrl+h, и ища .bash_history файл.

Оба history и ~/.bash_history поведение может быть изменено путем добавления или изменения опций в ~/.bashrc, это несколько примеров:

  • Добавить export HISTCONTROL=ignoreboth:erasedups или измените существующее HISTCONTROL строка, для удаления дублирующихся команд, т.е. если Вы работаете echo Hello сразу после echo Hello, только один появится в bash_history.

  • Изменить HISTSIZE=1000 расширять или уменьшать объем команд, показанных с history

  • Изменить HISTFILESIZE=2000 расширять или уменьшать объем команд, сохраненных в bash_history. Набор HISTFILESIZE=-1 для неограниченного.

  • Добавить HISTFILE=/path/to/file сохранить историю где-то в другом месте.


Источники и дополнительные материалы для чтения:

Страницы справочника Bash

Кредит к комментариям от Командующего Байта

16
ответ дан 23 November 2019 в 03:53

Существует много способов найти недавно выполненную команду.

  • самый простой должен просто совершить нападки в † ‘ ключ и цикл через Вашу историю команд линию за линией, пока Вы не определяете то, что Вы искали.

  • можно также нажать Ctrl + R для ввода так называемого (reverse-i-search) режим.

    Это - поисковая подсказка, которая автоматически завершит то, что Вы начинаете вводить с последний раз командой выполнения, которая содержит эту строку. Когда это показывает то, что Вы искали, нажмите Входят для выполнения его, или Esc для выхода из поисковой подсказки при хранении команды на подсказке, так, чтобы можно было отредактировать его. Для отбрасывания результата и поиска выхода поразите Ctrl + C .

  • можно использовать history Bash, встроенный для показа полного списка зарегистрированных команд из истории.

    можно отфильтровать тот список для строк, соответствующих определенному использованию шаблона, например, grep, как history | grep 'appengine'.

    [еще 1120] информация о history встроенная команда Bash может быть найдена путем ввода help history.

  • расширение удара Использования для прямого выполнения последний раз выполняемой команды, содержащей строку. Это заменит строку, которую Вы ввели с согласующим отрезком длинной линии из истории и сразу выполнили его, без подтверждения, так быть осторожными.

    Просто тип !string и это заменят это новой командной строкой, которая запустилась со "строки".

    , Если Вы хотите выполнить последнюю команду, которая закончилась "строкой", тип !?string вместо этого.

    Или если Вы хотите последнюю командную строку, содержащую "строку" где-нибудь, тип !?string?.

    [еще 1125], информация о расширении удара истории может быть найдена путем ввода man history.

11
ответ дан 23 November 2019 в 03:53

Если это несколько недавно использовалось, для Вас может быть легко найти его путем открытия терминала и использования стрелок вверх и вниз на клавиатуре для прохождения через последних используемых команд.

0
ответ дан 23 November 2019 в 03:53

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

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