Какой ярлык используется для поиска в истории команд в терминале macOS?
Как долго история доступна для поиска? Где это хранится?
Какой ярлык используется для поиска в истории команд в терминале macOS?
Как долго история доступна для поиска? Где это хранится?
Как насчет использования Ctrl +
R для поиска в утилите Terminal
в Mac
для поиска в истории команд,
dudeOnMac: freddy$ whoami
freddy
(reverse-i-search)`who': whoami
Хорошо для того, чтобы контролировать, как долго сохранялся history
, который зависит от нескольких переменных среды shell
, HISTFILESIZE
, который представляет собой не что иное, как количество строк истории, которые вы хотите сохранить. Установите для него огромное значение в .bash_profile
, чтобы он вступил в силу
HISTFILESIZE=10000000
Используйте Ctrl
+ R
для поиска команды из истории в терминале.
(reverse-i-search)`':
Введите любую подстроку команды, которую вы хотите искать, например. Grep
(reverse-i-search)`grep': grep "XYZ" abc.txt
Он вернет последнюю команду, соответствующую вашему вводу. Если это не та команда, которую вы искали, продолжайте нажимать Ctrl
+ R
для следующего совпадения, пока не найдете свою команду.
После того, как вы нашли свою команду, нажмите Return
, чтобы выполнить ее.
Если вы хотите выйти без выполнения какой-либо команды, нажмите Ctrl
+ G
PS: Этот ответ такой же, как предложенный Inian, просто предоставляя более подробную информацию для удобства использования.
История команд хранится в вашей домашней папке в скрытом файле .bash_history. Чтобы просмотреть его содержимое в nano, используйте следующую команду в терминале:
nano ~/.bash_history
Или откройте текстовый редактор (по умолчанию TextEdit):
open ~/.bash_history
В моем случае это очень длинный список, и, когда я просматриваю, кажется, что здесь хранится последняя команда ~ 500.
Перенос ответа на SO из этого ответа на Unix и Linux Stack Exchange:
Нажатие ctrl + R откроет историю поиска назад. Теперь начните вводить вашу команду, это даст первое совпадение. Нажав ctrl + R снова (и снова), вы можете просмотреть историю.
Если вы хотите быть очень ленивым, вы можете связать клавиши со стрелками вверх/вниз для выполнения этого поиска, у меня в .inputrc
есть следующее, чтобы связать клавиши со стрелками вверх/вниз с history-search-backward
и history-search-forward
:
# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward
Просто введите что-нибудь (необязательно), затем нажмите клавишу со стрелкой вверх/вниз для поиска в истории команд, которые начинаются с того, что вы ввели.
Чтобы сделать это в .bashrc
а не .inputrc
, вы можете использовать:
bind '"\e[A": history-search-backward'
Используйте эту команду -
history
Это работает как на MacOS, так и на Linux.
Чтобы просмотреть или вызвать недавно использованные команды, вы можете просто нажать клавишу со стрелкой вверх, чтобы последовательно читать историю, хранящуюся в .bash_history.