Полезные советы. Использование bash history.

23.02.2009

Bash используется в большинстве современных 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, чтобы найти еще одно предыдущее вхождение найденной строки.


gruzchik

06.11.2009

./bash_history хорошая штука, сам одно время им пользовался, только следует учитывать что им можетет воспользоваться не только вы но и злоумышленник, проникнувший в систему, пункт7 здесь http://ukritie.org.ua/index.php?option=com_fireboard&Itemid=38&func=view&catid=11&id=234#233 указывает ./bash_history как одну из угроз безопасности






9 + 5 =

© 2001-2015 NLG