История команд
Оболочка Bash позволяет выполнять уже исполненные команды. Выполнен- ные команды сохраняются в файле ~/.bash_history (в переменной окружения HISTFILE можно указать другой файл). Количество команд, запоминаемых
в файле истории, устанавливается с помощью переменной окружения
HISTFILESIZE.
Историю команд можно получить с помощью history (пример 2.26).
Пример 2.26. Команда history |
$ history
...
685 echo $HISTFILE
686 echo $HISTFILESIZE
687 history
В примере 2.26 показаны лишь последние команды из файла истории. Перед каждой командой из файла истории выводится ее номер, с помощью которо- го эту команду можно вызвать заново. Наиболее простой способ для этого — ввести в командной строке знак восклицания и номер команды для повтора (пример 2.27).
Пример 2.27. Повторный вызов команды по номеру в истории |
$ !685
echo $HISTFILE
Последнюю выполненную команду можно выполнить снова, если ввести в командной строке два знака восклицания (!!).
Удобно вызывать из истории команды, вводя после знака восклицания пер- вые символы их имен. Например, если необходимо вновь выполнить команду ls /tmp, достаточно ввести в командной строке !l. При этом история будет просмотрена с конца до тех пор, пока не будет найдена команда с подходя- щими первыми символами.
Можно вызвать команду из истории, указав строку символов, содержащуюся в любом месте командой строки. Для этого следует ввести эту строку после знака восклицания и знака вопроса (!?).
Исключительно удобное сочетание клавиш <Ctrl>+<R> позволяет произ- водить поиск команд в истории по любым символам в командной строке. Нажмите комбинацию клавиш <Ctrl>+<R>, и вам будет предложено ввести символы из командной строки, причем найденная команда будет отобра- жаться до своего исполнения (пример 2.28).
Пример 2.28. Поиск команды в истории с помощью комбинации клавиш <Ctrl>+<R> |
$
(reverse-i-search)`ec': echo $USER
$ echo $USER colobok
Пример 2.28 показывает, как производится поиск команды после нажатия комбинации клавиш <Ctrl>+<R>. Пользователь ввел два символа из имени команды (не обязательно лидирующие), найденная команда была показана, далее пользователь нажал клавишу <Enter>, и найденная команда была вы- полнена.
Дата добавления: 2015-06-12; просмотров: 810;