Как говориться "лень - двигатель прогресса" поэтому я покажу как можно еще работать с командной строкой bash, стандартно с помощью клавиш перемещения курсора можно перемещаться по списку ранее введенных команд. Если мне была нужна определенная команда из ранее введенных - „стрелка вверх“ и до тех пор пока нужная команда не появиться в терминале далее корректировка по надобности и выполнения ее.
Оказываеться есть еще один хороший способ - для просмотра списка ранее введенных команд в bash - имеется команда history. По умолчанию она выводит список команд хранящийся в истории.
$ history
1 sudo route del -net
2 cat /etc/resolv.conf
3 htop
......
50 nslookup
51 ping mail.ru
52 ifconfig
......
200 sudo aptitude full-upgrade
......
300 mc
далее ...
По умолчанию все пишиться в файл ~/.bash_history, а его размер - 500 команд.
Если хотим хранить историю в другом файле, то нужно в .bashrc, задать команду HISTFILE=~/.my_history.
HISTSIZE - определяет число строк, хранящихся в списке истории (в памяти интерпретатора).
HISTFILESIZE - максимальное количество команд хранящихся в файле истории.
Если интересует больше записей, по можно поменять под себя:
$ export HISTSIZE=1000
$ export HISTFILESIZE=1000
При запуске команды history без параметров, выдаеться весь список сохранненных команд, что довольно громоздко, поэтому есть возможность указать
количество выводимых строк (команд):
$ history 20
280 sudo aptitude full-upgrade
281 ps ax | grep conky
282 dig @217.23.122.130 ya.ru mx
......
300 mc
Выдаст 20 последних команд, все команды имеею свой номер, с помощью которого к ней можно обратится.
Если нам надо повторить 282 команду, то просто набираем в терминале:
$ !282
dig @217.23.122.130 ya.ru mx
; <<>> DiG 9.5.0-P2 <<>> @217.23.122.130 ya.ru mx
; (1 server found)
... ......
Сначало показываеться команда соответствующая этому номеру, потом ее выполнения.
Cписок наиболее распространенных команд:
!! - ссылается на предыдущую команду;
!n - ссылается на команду под номером n;
!-n - ссылается на команду по номером „текущая минус n“;
history -c -- очистить историю команд, удалив все записи
history -d n -- удалить из истории запись под номером n
history -a -- дописать команды, введенные в текущей сессии bash, в конец файла $HISTFILE
Дополнения:
Так же можно сохранить дату и время для каждой команды в истории, для этого в конец .bashrc дописываем:
$ nano .bashrc
export HISTTIMEFORMAT="%h/%d-%H:%M:%S "
и применяем изменений в .bashrc без перезапуска сеанса/системы делаем командой
$ bash
Получаем :
$ history 3
147 Aug/11 - 11:05:28 sudo aptitude install gspca-source
148 Aug/11 - 11:07:23 cd /lib/modules/2.6.32-22-generic/
149 Aug/11 - 11:11:08 modprobe gspca