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

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Материалы распространяются под лицензией Creative Commons: Атрибуция — Некоммерческое использование — С сохранением условий (Attribution-NonCommercial-ShareAlike) 3.0 Unported.
Рейтинг@Mail.ru