Někdy spouštíme bash příkazy s citlivými informacemi. Například spuštění skriptu shellu a předání hesel jako argumentů příkazového řádku. V takovém případě je z bezpečnostních důvodů lepší vymazat historii bash.
Vymazat historii Bash v Linuxu
Když spustíme jakýkoli příkaz v shellu bash, uloží se do .bash_history
soubor umístěný v domovském adresáři uživatele. Můžeme použít history
příkaz pro tisk všech příkazů z tohoto souboru. Existují možnosti, jak odstranit celou historii nebo jakýkoli konkrétní příkaz z historie bash.
1. Odstraněním historie Bash odstraníte všechny příkazy
Pokud chcete historii bash úplně odstranit, můžete spustit history -c
příkaz.
# history ... 737 history 738 vi .bash_history 739 cd 740 history # history -c # history 1 history #
2. Odebrat konkrétní příkaz z historie Bash
Pokud chcete odstranit konkrétní položku z historie bash, použijte history -d offset
příkaz. Offset je číslo řádku z výstupu history
příkaz.
[root@li1176-230 ~]# ls -1 | wc -l 3 [root@li1176-230 ~]# history 1 history 2 ls 3 cd 4 ls -1 | wc -l 5 history [root@li1176-230 ~]# history -d 4 [root@li1176-230 ~]# history 1 history 2 ls 3 cd 4 history 5 history -d 4 6 history [root@li1176-230 ~]#
Jak vymazat historii bash v systému Mac OS
Pokud používáte prostý bash shell, můžete použít volbu -d nebo -c k odstranění historie bash.
bash-3.2$ history 1 history 2 cd 3 ls 4 pwd 5 history bash-3.2$ history -d 4 bash-3.2$ history 1 history 2 cd 3 ls 4 history 5 history -d 4 6 history bash-3.2$ history -c bash-3.2$ history 1 history bash-3.2$
ZSH vymazat historii
ZSH je v dnešní době velmi populární. Je postaven na bash shellu a poskytuje mnoho dalších funkcí, které pomáhají vývojářům. Výše uvedené příkazy historie bohužel nebudou fungovat k vymazání historie shellu ZSH. Je to proto, že historie ZSH je uložena v ~/.zsh_history
soubor. Pokud chcete odstranit jakýkoli záznam, otevřete tento soubor ve VIM nebo jiném editoru a ručně záznam ze souboru odstraňte a uložte jej.
Poznámka :Historie zsh se načte při zahájení relace, takže změny v souboru .zsh_history se neprojeví v aktuální relaci shellu. Pokud spustíte nový shell otevřením nového okna nebo karty, všimnete si změn.