Я хочу удалить все предыдущие команды из истории моего сервера. Я использовал history -c
и кажется, что все очищено, но когда я подключаюсь к серверу по ssh, все команды все еще там.
Как я могу очистить их навсегда?
Я хочу удалить все предыдущие команды из истории моего сервера. Я использовал 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) очистить историю, во всех терминалах. Это то, что делают приведенные выше команды.
выполните следующие команды, чтобы навсегда очистить историю
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 кажется опасным и ненужным.