На этот вопрос уже есть ответ здесь:
Как мне найти старую команду, которую я запускал в своем терминале?
Я использовал команду appengine и хочу просто найти ее в своей локальной истории команд, не исследуя ее снова в Интернете.
История - то, что Вы ищете.
Выполненный 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
.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
сохранить историю где-то в другом месте.
Источники и дополнительные материалы для чтения:
Существует много способов найти недавно выполненную команду.
самый простой должен просто совершить нападки в † ‘ ключ и цикл через Вашу историю команд линию за линией, пока Вы не определяете то, что Вы искали.
можно также нажать Ctrl + R для ввода так называемого (reverse-i-search)
режим.
Это - поисковая подсказка, которая автоматически завершит то, что Вы начинаете вводить с последний раз командой выполнения, которая содержит эту строку. Когда это показывает то, что Вы искали, нажмите Входят для выполнения его, или Esc для выхода из поисковой подсказки при хранении команды на подсказке, так, чтобы можно было отредактировать его. Для отбрасывания результата и поиска выхода поразите Ctrl + C .
можно использовать history
Bash, встроенный для показа полного списка зарегистрированных команд из истории.
можно отфильтровать тот список для строк, соответствующих определенному использованию шаблона, например, grep
, как history | grep 'appengine'
.
history
встроенная команда Bash может быть найдена путем ввода help history
.
расширение удара Использования для прямого выполнения последний раз выполняемой команды, содержащей строку. Это заменит строку, которую Вы ввели с согласующим отрезком длинной линии из истории и сразу выполнили его, без подтверждения, так быть осторожными.
Просто тип !string
и это заменят это новой командной строкой, которая запустилась со "строки".
, Если Вы хотите выполнить последнюю команду, которая закончилась "строкой", тип !?string
вместо этого.
Или если Вы хотите последнюю командную строку, содержащую "строку" где-нибудь, тип !?string?
.
man history
.
Если это несколько недавно использовалось, для Вас может быть легко найти его путем открытия терминала и использования стрелок вверх и вниз на клавиатуре для прохождения через последних используемых команд.