Основы Терминала. Команды отвечающие за историю
При использовании терминала может возникнуть ситуация когда снова необходимо воспроизвести какую-то команду, которая использовалась ранее. В этом может помочь команда 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:
И так пока не найдётся нужная команда.
Также можно переключаться между командами при помощи стрелочек на клавиатуре:
Стрелочка вверх переключает команды в направлении назад:
А стрелочка вниз в направлении вперёд.
Если вам понравилась статья, то поделитесь ею в социальных сетях: