Основы Терминала. Команды отвечающие за историю

При использовании терминала может возникнуть ситуация когда снова необходимо воспроизвести какую-то команду, которая использовалась ранее. В этом может помочь команда history, которая выводит список ранее введённых команд:
history
Как можно видеть я вводил 30 команд:

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

Чтобы узнать расположение данного файла существует переменная $HISTFILE:

А для того, чтобы узнать количество команд, которые можно сохранить в данном файле переменная $HISTFILESIZE:

Также можно выводить определенное количество последних команд. Для этого после команды history необходимо указать количество выводимых команд:
history 3
Например укажу три и выведется три последних команды:

Также можно запустить какую-то команду. Для этого введу восклицательный знак и номер команды который необходимо запустить:
!33
Например повторю команду под номером 33, которая выводила значение переменной $HISTFILESIZE:

Также, если необходимо повторить последнюю введённую команду с правами администратора, то можно воспользоваться двумя восклицательными знаками:
sudo !!
Введу sudo и два восклицательных знака для повтора последней команды. И как можно видеть команда apt upgrade выполнилась от прав администратора:

Также при помощи символа ^ можно заменять строчки в последней команде. Это будет полезно если вы отпечатались. Например заменю tap на apt:
^tap^apt
И команда выполнилась:

Для того, чтобы удалить какую-либо команду необходимо указать ключ -d и через пробел номер этой команды. Например удалю тридцать восьмую команду:
history -d 38
И как можно видеть она пропала:

Также можно указывать диапазон команд. Например удалю все команды с сороковой по сорок вторую:
history -d 40-42
И они удалились:

Для того, чтобы полностью очистить все команды существует флаг -c:
history -c
И команды были очищены:

Для того, чтобы найти какую-то команду можно воспользоваться комбинацией клавиш Ctrl R и затем ввести часть, которая содержалась в команде:

Если нашлась не та команда, то можно снова нажать Ctrl R:

И так пока не найдётся нужная команда.
Также можно переключаться между командами при помощи стрелочек на клавиатуре:

Стрелочка вверх переключает команды в направлении назад:

А стрелочка вниз в направлении вперёд.
Если вам понравилась статья, то поделитесь ею в социальных сетях: