История команд помогает вам просматривать команды, которые вы ранее запускали в терминале. Вот как вы можете управлять историей команд в Linux.

В Linux каждая введенная вами команда сохраняется в файле истории. Команда history позволяет просматривать и повторно использовать эти команды без повторного ввода. Вы можете перемещаться по списку истории, используя Вверх и Вниз ключи. Однако могут быть случаи, когда вы хотите удалить некоторые команды из истории или навсегда отключить функцию сохранения истории.

К счастью, Linux позволяет вам контролировать функции ведения журнала команд, такие как временное отключение или навсегда, удаление всей истории или предотвращение сохранения определенных команд в истории список. Посмотрим, как.

Удалить всю историю команд в Linux

Чтобы удалить весь история команд в Linux с самого начала используйте команду history с вариант:

история -с

Это удалит всю историю команд, которые вы ранее запускали.

Удалить определенные команды из истории

Иногда вместо удаления всей истории может потребоваться удалить определенные команды. В этом случае вам необходимо определить номер, связанный с этой конкретной командой в списке истории. Вы можете сделать это, просто набрав:

история

Или вы также можете направить вывод истории в grep, чтобы упростить поиск нужной информации:

история | grep ifconfig

Как только вы нашли номер команды, вы можете удалить его, используя команду истории с опция, за которой следует номер команды:

история -д 

Выполнение команды без включения ее в историю

Чтобы выполнить команду без записи в историю, просто добавьте Космос перед командой. Однако, чтобы эта функция работала, вам необходимо установить ГИСТКОНТРОЛЬ переменная среды для игнорспейс используя следующую команду:

экспорт HISTCONTROL=игнорировать пробел

Это изменение не сохраняется после перезагрузки. Чтобы сделать его постоянным, добавьте его в свой .bashrc файл с помощью следующей команды:

echo 'HISTCONTROL=ignorespace' >> ~/.bashrc

Включив эту функцию, Bash не будет записывать в файл истории команды, начинающиеся с символа пробела.

Например, следующая команда не будет записана оболочкой:

[пробел] echo 'привет, это первая строка'

Если вы запустите ту же команду без пробела, Bash запишет ее в историю:

echo 'привет, это первая строка'

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

echo 'HISTCONTROL=ignoredups' >> ~/.bashrc

Эта функция будет сохранять последовательные дубликаты только один раз в списке истории.

Как включить/отключить историю команд в Linux

Хотя предыдущий метод может помешать оболочке регистрировать команды в журнале, он может оказаться непрактичным при работе с большим количеством команд.

Вставка пробела перед каждой командой может стать монотонной и обременительной. В таком случае вы можете временно отключить историю оболочки, выполнив следующую команду:

установить +o история

Чтобы снова включить его, используйте следующую команду:

установить -o история

Чтобы навсегда отключить историю команд Linux, используйте:

echo 'установить историю +o' >> ~/.bashrc

Игнорировать определенные команды от записи в историю

Могут быть определенные команды, которые вы хотите исключить, поскольку они могут загромождать список истории и затруднять навигацию. Некоторые из распространенных примеров: pwd, ls, man, cat и команда компакт-диска так как это может быть повторяющимся и лишним.

Используя ИСТИНЬОР переменная среды, вы можете контролировать, какие команды не следует добавлять в список истории. Например, чтобы исключить определенные команды, такие как history, pwd и cat, из списка истории, разделите их двоеточием и заключите в двойные кавычки следующим образом:

экспорт HISTIGNORE="история: pwd: кошка"

Чтобы сделать изменение постоянным, добавьте команду в .bashrc файл с использованием:

echo 'HISTIGNORE="история: pwd: cat"' >> .bashrc

Управляйте историей команд Bash в Linux

Linux предлагает широкие возможности управления историей командной строки, позволяя пользователям указывать, какие команды сохранять в историю, удалить определенные команды из истории, временно включить или отключить историю или даже удалить всю история.

Это не только помогает защитить конфиденциальность пользователя, но и предотвращает загромождение истории Bash ненужными или повторяющимися командами.

Еще лучший способ получить доступ к истории командной строки — использовать McFly, замену на основе нейронной сети стандартному обратному поиску в Linux.