Я использую Linux Mint 17.1 Rebecca около 2 дней и случайно набрал свой пароль в терминале, который теперь отображается в списке истории команд, которые я ранее набирал.
Я хочу полностью очистить историю терминала. Я попытался использовать следующие команды в терминале, которые, как я думал, очистят историю навсегда, но они этого не делают:
history -c
reset
tput reset
Вышеприведенные команды «очистят» историю от терминала, но когда я выхожу и поднимаю новую, вся моя предыдущая история все еще там, и ее можно снова отобразить, используя команду - history, а также нажав стрелку ВВЕРХ на моей клавиатуре , Я не хочу, чтобы это произошло, пока я полностью не очистил свою историю, а затем я хочу продолжать использовать ее.
Как мне полностью очистить историю моего терминала - навсегда и начать все заново?
Обратите внимание: я не хочу выходить из терминала без сохранения истории, просто очистите его навсегда в этом случае.
источник
sed -i "s/$your_pass//g" ~/.bash_history
...Ответы:
reset
илиtput reset
только делает вещи в терминал. История полностью управляется оболочкой, которая остается неизменной.history -c
очищает вашу историю в текущей оболочке. Этого достаточно (но излишне), если вы только что ввели свой пароль и не вышли из этой оболочки или явно сохранили ее историю.Когда вы выходите из bash, история сохраняется в файле истории, который по умолчанию находится
.bash_history
в вашем домашнем каталоге. Точнее, история, созданная во время текущего сеанса, добавляется в файл; записи, которые уже присутствуют, не затрагиваются. Чтобы перезаписать файл истории текущей историей оболочки, запуститеhistory -w
.Вместо удаления всех ваших записей истории, вы можете открыть
.bash_history
в редакторе и удалить строки, которые вы не хотите сохранять. Вы также можете сделать это внутри bash, менее удобно, используяhistory
для отображения всех записей, затемhistory -d
для удаления ненужных записей и, наконец,history -w
для сохранения.Обратите внимание, что даже после того, как вы отредактировали файл истории, возможно, ваш пароль все еще присутствует где-то на диске из более ранней версии файла. Он не может быть восстановлен через файловую систему, но все еще может быть (но, вероятно, нелегко) найти его, напрямую обращаясь к диску. Если вы используете этот пароль в другом месте и ваш диск будет украден (или кто-то получит доступ к диску), это может быть проблемой.
источник
history
чтобы проверить содержимое журнала истории и номера строк, которые вы хотите удалить, предполагается, что вы хотите удалить номер строки 1000 в журнале истории, затемhistory -d 1000
Я попробовал историю -c, но история возвращается, как только мы уходим, и снова открывается. Это помогло мне.
Это очищает историю, сохраненную в файле истории, а также историю в текущем сеансе (чтобы она не сохранялась в файл при
bash
выходе). Затем он выходит из оболочки. Следующий сеанс оболочки не будет иметь истории.источник
Вместо удаления всех ваших записей истории, введите эти команды в вашем терминале:
history -c
(для удаления истории)history -w
(сохранить историю)источник
inc_append_history
илиshare_history
опция установлена.Поскольку здесь есть проблема безопасности, вам следует рассмотреть возможность безопасного удаления файла истории.
источник
Будучи неофитом, столкнувшимся с той же проблемой, я прибег к довольно жестокой возможности удаления и повторного создания файла истории:
Это сработало для меня, не вызывая каких-либо неприятных побочных эффектов, о которых я знаю.
источник
Тип:
history -c; rm ~/.bash_history
history -c
очищает историю вашего текущего сеанса,rm ~/.bash_history
очищает вашу долгосрочную историю, поэтомуhistory -c; rm ~/.bash_history
очищает оба.источник