История команд в Linux или Учитесь использовать уже выполненное вами ранее

Автор: . Дата статьи: 24.02.2010 г.

Работая в командной строке Linux, мы часто вводим какие-либо команды. Некоторые из них мы выполняем довольно редко, а некоторые каждый день.


Хорошую возможность не тратить время на набор одних и тех же команд подарили нам разработчики оболочки bash. Они предоставили возможность использовать историю команд, чтобы сократить время набора команд и сделать работу в командной строке более эффективной.


Сегодня мы поговорим о истории команд в Linux и научимся эффективно управлять ею.




По умолчанию, история команд включена, и все команды, которые вы выполняете в командной строке, могут быть использованы вами повторно без особых затрат времени на их набор.


Историю команд в Linux можно отключить, выполнив в командной строке команду:


$ set o history


Если, после отключения истории команд, вы вновь захотите использовать ее в своей работе, просто выполните команду:


$ set -o history


Как вы знаете, ничего не бывает бесконечного, и размер истории команд в Linux не исключение. Одна из переменных окружения, имеющая название HISTSIZE, хранит в себе количество выполненных команд. По умолчанию, ее значение - 1000, но в некоторых дистрибутивах встречается и значение 500. Вы можете посмотреть значение переменной HISTSIZE в вашей системе, выполнив в командной строке следующую команду:


$ echo $HISTSIZE


Рассмотрим команды, которые позволят вам работать с историей команд Linux и управлять ее содержимым.


Если вы хотите посмотреть все содержимое истории, выполните в командной строке команду:


$ history


Для того, чтобы показать последние 12 выполненных команд, выполните:


$ history 12


Может случиться так, что вы случайно, вместо команды, наберете свой пароль.. Оставлять свой пароль где-либо - дурная примета и исправить вам это поможет команда:


$ history -d257


Она удалит строку 257 (предположим, что именно эта строка хранит случайно набранный вами пароль) из общего списка, хранящегося в истории команд.


Команда:


$ !!


позволит повторить последнюю выполненную вами команду.


Предположим, что вы хотите повторить предпоследнюю выполненную команду.. Для этого используйте следующую команду:


$ !-2


Если это будет двадцатая, с конца списка истории, команда, то вам поможет выполнение следующей команды:


$ !-20


Команду, выполненную ранее и начинающуюся с букв sud (многие догадались что это за команда?), вы можете повторить, используя следующую команду:


$ !sud


Будьте внимательны, если вы ранее выполняли какую-либо команду несколько раз, но использовали при выполнении разные ключи или опции.


К примеру, вы добавили в систему несколько пользователей и назначали им пароль. Но после ввода последнего пароля, вы решили изменить пароль одному из пользователей (предположим его логин andy). В этом случае вам поможет следующая реализация:


$ !?andy


она позволит повторить команду passwd andy, выполненную вами ранее. Или, к примеру, выполненную ранее команду:


# less /var/log/messages | grep tty1


вам позволит повторить следующая команда:


# !?messages?


Работая с историей команд Linux, вы можете редактировать ее, используя для этого комбинации клавиш. Вот некоторые из них (приведен список основных комбинаций клавиш редактора Emacs):


Ctrl f   - перемещение вправо на один символ;


Ctrl b  - перемещение влево на один символ;


Ctrl a (или клавиша Home)  - перемещение на начало строки;


Ctrl e (или клавиша End)   - перемещение в конец строки;


Alt f  - перемещение на начало предыдущего слова;


Alt-b  - перемещение на начало последующего слова;


Ctrl d (или клавиша Delete)  - удаление  символа, на котором стоит курсор;


Ctrl k  - удаление всех символов справа от курсора до конца строки с запоминанием удаленного для дальнейшего использования;


Alt d   - удаление  символов справа от курсора до конца текущего слова с запоминанием удаленного для дальнейшего использования;


Ctrl y   -  вставка удаленных символов и слов, удаленных при помощи двух предыдущих комбинаций.


Использование  истории команд, на мой взгляд, крайне удобно в работе и помогает экономить время.



Понравилась статья? Оставайтесь со мной на Linuxway.ru, подписавшись на новые материалы сайта по RSS. Или просто добавьте статью в свои любимые закладки:




IT-поддержка

Оказываем квалифицированную помощь в поддержке Вашей IT-инфраструктуры

Подробнее