Как полностью очистить историю bash?

Я хочу удалить все предыдущие команды из истории моего сервера. Я использовал history -c и кажется, что все очищено, но когда я подключаюсь к серверу по ssh, все команды все еще там.

Как я могу очистить их навсегда?

Файл ~/.bash_history хранит историю.

Чтобы полностью очистить историю bash на сервере, откройте терминал и введите

cat /dev/null > ~/.bash_history

Другой альтернативный способ - связать ~/.bash_history к /dev/null

Однако,

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

Чтобы обойти это, используйте следующую команду (сработало для меня):

cat /dev/null > ~/.bash_history && history -c && exit

Что делать:

В каждый откройте оболочку bash (у вас может быть открыто несколько терминалов):

history -chistory -w

Почему: Как отмечалось выше, history -c очищает файл ~/.bash_history. Важно отметить, что оболочка bash не сразу сбрасывает историю в файл bash_history. Итак, важно (1) сбросить историю в файл и (2) очистить историю, во всех терминалах. Это то, что делают приведенные выше команды.

Ссылка: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/

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

history -c && history -w

удачи!

Есть еще один, гораздо более простой способ: запуск history -c в командной строке терминала и исчезли все записи в bash_history файл.

Другой способ сделать это - удалить ~/.bash_history файл с помощью rm ~/.bash_history команда. Когда вы войдете в систему в другой раз, .bash_history файл будет создан автоматически.

Очистить историю текущей оболочки:

history -c

Когда вы выходите из системы, история вашей текущей оболочки добавляется в ~/.bash_history, который представляет собой кэш историй предыдущих оболочек, до максимального числа (см. HISTFILESIZE в "man bash").

Если вы хотите полностью удалить историю, то вам, по сути, придется очистить ~ /.bash_history, как предлагали многие из приведенных выше записей. Такие как:

history -c && history -w

Это очищает историю текущей оболочки, а затем заставляет историю текущей оболочки (пустую) перезаписывать ~/.bash_history.... или, если быть более точным, это заставляет ее перезаписывать HISTFILE (который по умолчанию равен ~/.bash_history).

Надеюсь, это поможет.

rm ~/.bash_history; history -c; logout

Теперь снова войдите в систему и убедитесь, что ваша стрелка вверх вам ничего не дает.

Попробуй вот это

отредактируйте свой .profile и добавьте строку ниже в конце файла

rm -f .bash_history

таким образом, каждый раз, когда вы входите в систему, он автоматически удаляет ваш файл .bash_history. Добавление опции рекурсивного удаления -r кажется опасным и ненужным.