Как не сохранять команду в истории .bash_history

5 февраля 2011
Рубрика: Tips4Linux.com, Переводы
Теги: , , , ,

Zeboton

Если Вы пользуетесь терминалом, а Вы им пользуетесь, так как используете Linux, а терминал в некоторых случаях в разы удобнее GUI. То знаете о существовании истории команд, которую можно вызвать для просмотра, выполнив команду history , и которой можно управлять, используя специальный синтаксис. Также Вам известно, что эта история храниться в файле .bash_history в домашнем каталоге Вашего пользователя. Но как сделать так, чтобы выполняемая команда не записалась в эту историю?

Для того чтобы команда в терминале не записалась в историю (.bash_history) достаточно просто поставить перед ней пробел. То есть, команда
ls -l
сохраниться в истории, а
«пробел»ls -la
в историю команд не попадёт.

В этом есть только один минус. После выполнения команды, начинающейся с пробела, при нажатие кнопки со стрелкой вверх на клавиатуре (на один уровень назад в истории) будет выведена не только что выполненная команда, а последняя команда из сохранённой истории, что логично, но не удобно. Хотя, если учесть для чего можно использовать этот трюк, то при необходимости можно повторно ввести выполненную команду.

По мотивам Leave no traces in your .bash_history file.

3 комментария для “Как не сохранять команду в истории .bash_history”

  1. Андрей29 марта 2016 ~ 15:19

    Видимо работает только на Убунту)

  2. Zeboton31 марта 2016 ~ 16:46

    Да, я находил замечания, что это специфично для Ubuntu, но вероятно это актуально и для всех Debian-based дистрибутивов. У меня сейчас нет возможности проверить.

  3. Безымянный8 июня 2017 ~ 15:12

    Добавте в файл ~/.bashrc след. строку:
    HISTCONTROL=ignorespace
    Откройте/закройте терминал (если был открыт)
    И тогда будет работать в debian.

Ваш комментарий

*