View in Telegram
Учимся работать с историей bash Чем больше работаешь в командной строке, тем чаще возникает необходимость повторять введенные ранее команды. Самый простой, но иногда неоптимальный способ — нажимать клавиши «вверх» и «вниз». При каждом нажатии стрелки «вверх» в поле ввода начнет появляться предыдущая выполненная команда, если нажать «вниз» — следующая. История команд bash хранится в специальном файле .bash_history, который лежит в домашней директории пользователя. Каждый раз, когда пользователь вводит команду, она попадает именно в этот файл. Запись происходит при завершении сеанса. За то, какое количество команд хранится в истории, отвечает переменная окружения HISTFILESIZE. Если она выставлена, то берется указанное в ней число, иначе история не обрезается и файл .bash_history растет бесконечно:
$ cat ~/.bash_history

history | grep qdbu
qdbus org.kde.KWin /Compositor suspend
Посмотреть историю можно и более простым способом - выполнить команду history. Эта команда выведет содержимое .bash_history, добавив слева номер:
$ history
6  exit
7  docker ps
Если набрать "history 5", то отобразятся только пять последних введенных команд:
$ history 5
1498  sudo reboot
1499  cat ~/.bash_history
...
При необходимости историю всегда можно погрепать:
$ history | grep export
174  export HOME=/tmp
183  history | grep export
Еще один способ - использовать комбинацию Ctrl+R прямо в оболочке. После нажатия клавиш начинается поиск:
$ (reverse-i-search)`qdb': qdbus org.kde.KWin /Compositor suspend
Настройка истории Linux По умолчанию, команда history дополняет .bash_history только порядковым номером, но вы можете выводить еще и дату выполнения команды. Для этого нужно экспортировать переменную HISTORYFORMAT вместе нужным форматом:
$ export HISTTIMEFORMAT='%F %T '

$ history
1503  2024-10-28 11:17:56 cat ~/.history
Также можно отключить вывод одинаковых команд:
$ export HISTCONTROL=ignoredups
Вы можете указать какие команды не стоит отображать, например, не будем выводить ls -l, pwd и date:
$ export HISTIGNORE='ls -l:pwd:date:'
Linux++ | IT-Образование
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily