HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Чем больше работаешь в командной строке, тем чаще возникает необходимость повторять введенные ранее команды. Самый простой способ просматривать историю команд - нажимать клавиши "вверх" и "вниз". При каждом нажатии стрелки "вверх" в поле ввода начнет появляться предыдущая выполненная команда, если нажать "вниз" - то следующая.</p>
1 <p>Чем больше работаешь в командной строке, тем чаще возникает необходимость повторять введенные ранее команды. Самый простой способ просматривать историю команд - нажимать клавиши "вверх" и "вниз". При каждом нажатии стрелки "вверх" в поле ввода начнет появляться предыдущая выполненная команда, если нажать "вниз" - то следующая.</p>
2 <p>В этом уроке вы узнаете, как работать с историей и где это может пригодиться.</p>
2 <p>В этом уроке вы узнаете, как работать с историей и где это может пригодиться.</p>
3 <p>История команд bash хранится в специальном файле .bash_history, который лежит в домашней директории пользователя. Каждый раз, когда пользователь вводит команду, она попадает именно в этот файл. Запись происходит при завершении сеанса. Этот файл ничем не отличается от остальных файлов: его можно открыть, посмотреть и даже отредактировать. За то, какое количество команд хранится в истории, отвечает переменная окружения HISTFILESIZE. Если она выставлена, то берется указанное в ней число. Если переменной нет, история не обрезается и файл .bash_history растет бесконечно:</p>
3 <p>История команд bash хранится в специальном файле .bash_history, который лежит в домашней директории пользователя. Каждый раз, когда пользователь вводит команду, она попадает именно в этот файл. Запись происходит при завершении сеанса. Этот файл ничем не отличается от остальных файлов: его можно открыть, посмотреть и даже отредактировать. За то, какое количество команд хранится в истории, отвечает переменная окружения HISTFILESIZE. Если она выставлена, то берется указанное в ней число. Если переменной нет, история не обрезается и файл .bash_history растет бесконечно:</p>
4 <p>Посмотреть историю можно и более простым способом. Достаточно выполнить команду history:</p>
4 <p>Посмотреть историю можно и более простым способом. Достаточно выполнить команду history:</p>
5 - <p>Эта команда выведет содержимое файла .bash_history, добавив слева номер. Если набрать history 5, то отобразятся только пять последних введенных команд. Используя номер команды в выводе history, можно выполнить повторный запуск без необходимости набирать или копировать команду из истории:</p>
5 + <p>Эта команда выведет содержимое файла .bash_history, добавив слева номер. Если набрать history -5, то отобразятся только пять последних введенных команд. Используя номер команды в выводе history, можно выполнить повторный запуск без необходимости набирать или копировать команду из истории:</p>
6 <p>При необходимости историю всегда можно погрепать:</p>
6 <p>При необходимости историю всегда можно погрепать:</p>
7 <p>Последнее и самое интересное -<strong>реверсивный поиск</strong>. Если нажать комбинацию Ctrl + r, то запустится поиск по истории. Он ожидает ввода символов и сразу отображает ближайшую команду, в которой эти символы встречаются. Если найденное соответствие вас не устроило, то повторное нажатие Ctrl + r выберет следующее соответствие из истории:</p>
7 <p>Последнее и самое интересное -<strong>реверсивный поиск</strong>. Если нажать комбинацию Ctrl + r, то запустится поиск по истории. Он ожидает ввода символов и сразу отображает ближайшую команду, в которой эти символы встречаются. Если найденное соответствие вас не устроило, то повторное нажатие Ctrl + r выберет следующее соответствие из истории:</p>
8 <p>На скриншоте выше продвинутая версия этого поиска, работающая через утилиту<a>fzf</a>.</p>
8 <p>На скриншоте выше продвинутая версия этого поиска, работающая через утилиту<a>fzf</a>.</p>