Я хочу удалить все предыдущие команды из истории моего сервера. Я использовал history -c
, и кажется, что все очищено, но когда я ssh к серверу, все команды все еще там.
Как я могу очистить их навсегда?
Что сделать:
В каждой открытой оболочке удара (у Вас может быть несколько открытых терминалов):
history -c
history -w
Почему: Как отмечено выше, history -c
освобождает файл ~/.bash_history
. Важно отметить, что оболочка удара сразу не сбрасывает историю в bash_history файл. Так, важно (1) сбросить историю в файл и (2) очистить историю во всех терминалах. Это - то, что выше делают команды.
выполнить следующие команды, чтобы очистить историю навсегда
history -c && history -w
удачи!
Очистить историю текущей оболочки:
history -c
Когда вы выходите из системы, история вашей текущей оболочки добавляется к ~ / .bash_history, который является кешем историй предыдущих оболочек, к максимальному числу ( см. HISTFILESIZE в "man bash").
Если вы хотите полностью удалить историю, то вам, по сути, нужно очистить ~ / .bash_history, что предложили многие из приведенных выше записей. Например:
history -c && history -w
Это очищает историю текущей оболочки, а затем вынуждает историю текущей оболочки (пустую) перезаписать ~ / .bash_history .... или, чтобы быть более точной, заставляет перезаписывать HISTFILE (по умолчанию ~ / .bash_history).
Надеюсь, это поможет.
rm ~/.bash_history; history -c; logout
Теперь войдите в систему и убедитесь, что ваша стрела не дает вам ничего.
Есть еще один, гораздо более простой способ: запустить history -c
в окне терминала и пропустить все записи в файле bash_history
.
Еще один способ сделать это - удалить файл ~/.bash_history
с помощью команды rm ~/.bash_history
. При следующем входе в систему файл .bash_history
будет создан автоматически.
Попробуйте этот
отредактируйте свой .profile
и добавьте строку ниже в конце файла
rm -f .bash_history
таким образом, каждый раз, когда вы входите, он удаляет ваш. файл bash_history автоматически для вас. Добавление опции -r рекурсивного удаления кажется опасным и не обязательным.
Файл ~/.bash_history
содержит историю.
Чтобы полностью очистить историю bash на сервере, откройте терминал и введите
cat /dev/null > ~/.bash_history
Другой альтернативный способ - связать ~/.bash_history
с /dev/null
Один раздражающий побочный эффект заключается в том, что записи истории имеют копию в памяти , и она будет возвращаться обратно в файл при выходе из системы .
Чтобы обойти это, используйте следующую команду (работал для меня):
cat /dev/null > ~/.bash_history && history -c && exit