При использовании терминала может возникнуть ситуация когда снова необходимо воспроизвести какую-то команду, которая использовалась ранее. В этом может помочь команда 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:

И так пока не найдётся нужная команда.

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

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

А стрелочка вниз в направлении вперёд.