воскресенье, 15 марта 2015 г.

Как найти и выполнить повторно длинную терминальную команду в Linux

В Linux и Unix-подобных системах существует более тысячи различных терминальных команд. Их список постоянно обновляется и дополняется. Все команды разбиты на тематические разделы и подразделы. Естественно, запоминать все эти команды простому пользователю совсем не обязательно, в этом нет особой необходимости, ниже я объясню почему. 
Кто-то использует терминал часто, кто-то редко, а некоторые пользователи совсем не используют, предпочитая терминалу графические приложения. Но речь в данной статье не о том, что лучше или хуже, у каждого свой выбор, ведь Linux - это прежде всего свобода, свобода выбора!

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

history



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

Как выполнить повторно длинную терминальную команду?

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



Как видно на снимке, после выполнения данной команды !484, терминал нашёл и выполнил нужную мне длинную команду, без необходимости копирования или ввода с клавиатуры.
Естественно, что данная длинная команда будет отображена в истории команд теперь последней. Если вы захотите повторить её выполнение, достаточно ввести в терминал два восклицательных знака (!!) и нажать Enter:


Примечание. Команда из двух восклицательных знаков (!!) всегда выполняет повторно последнюю выполненную команду.

Комментариев нет: