Полезные советы. Использование bash history.
23.02.2009Bash используется в большинстве современных Linux систем по умолчанию и в некоторых других (например, Mac OS x). Использование истории команд позволяет просматривать, изменять и повторно использовать команды, которые вы запускали раньше. Очень помогает при повторном использовании длинных команд.
Как только bash запускается, то файл ~/.bash_history загружается в память. Имя файла установлено в переменной $HISTFILE.
Во время сеанса работы команды добавляются в историю в памяти. При выходе из bash история записывается обратно в файл .bash_history. Количество команд, записываемых в файл истории, находится в переменной $HISTSIZE. Текущее количество команд записано в переменной $HISTFILESIZE.
$ echo $HISTFILE $HISTSIZE $HISTFILESIZE
Посмотреть список команд, наберите history. чтобы просмотреть определенное количество команд, нужно запустить с нужным числом:
$ history 5
Для перемещения между предыдущими командами используйте клавиши вверх, вниз. Для редактирования нужной команды используйте стрелку влево, стрелку вправо, Del, Backspace. В качестве альтернативы можно использовать: !! (запустить предыдущую команду), !998 (запустить 998 команду из истории), !998 *doc (добавить *doc в конец команды 998), !?CF? (запустить предыдущую команду содержащую CF), !ls (запустить предыдущую команду ls), !ls:s/CF/l (запустить предыдущую команду при этом заменив CF на l).
Альтернативный способ редактирования команды истории это использование fc команды.
$ fc
По умолчанию это редактор vi. Можно заменить редактор через переменную FCEDIT или напрямую из командной строки.
$ fc -e /usr/bin/nano 989
Для поиска строки в истории нужно использовать Ctrl+r. При нахождении строки в истории можно нажать Ctrl+r, чтобы найти еще одно предыдущее вхождение найденной строки.