Parfois, nous exécutons des commandes bash avec des informations sensibles. Par exemple, exécuter un script shell et transmettre des mots de passe comme arguments de ligne de commande. Dans ce cas, il est préférable d'effacer l'historique bash pour des raisons de sécurité.
Effacer l'historique de Bash sous Linux
Lorsque nous exécutons une commande dans le shell bash, elle est stockée dans le .bash_history
fichier situé dans le répertoire personnel de l'utilisateur. Nous pouvons utiliser l'history
commande pour imprimer toutes les commandes de ce fichier. Il existe des options pour supprimer tout l'historique ou toute commande spécifique de l'historique bash.
1. Supprimez l'historique de Bash pour supprimer toutes les commandes
Si vous souhaitez supprimer complètement l'historique bash, vous pouvez exécuter le history -c
commande.
# history ... 737 history 738 vi .bash_history 739 cd 740 history # history -c # history 1 history #
2. Supprimer une commande spécifique de l'historique de Bash
Si vous souhaitez supprimer une entrée spécifique de l'historique bash, utilisez history -d offset
commande. Le décalage est le numéro de ligne de la sortie de l'history
commande.
[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 ~]#
Comment effacer l'historique de Bash sous Mac OS
Si vous utilisez un shell bash simple, vous pouvez utiliser l'option -d ou -c pour supprimer l'historique 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$
Effacer l'historique ZSH
ZSH est très populaire ces jours-ci. Il est construit sur le shell bash et fournit de nombreuses fonctionnalités supplémentaires pour aider les développeurs. Malheureusement, les commandes d'historique ci-dessus ne fonctionneront pas pour effacer l'historique du shell ZSH. C'est parce que l'historique ZSH est enregistré dans ~/.zsh_history
dossier. Si vous souhaitez supprimer une entrée, ouvrez ce fichier dans VIM ou tout autre éditeur et supprimez manuellement l'entrée du fichier et enregistrez-la.
Remarque :L'historique zsh est chargé au démarrage de la session, de sorte que les modifications apportées au fichier .zsh_history ne seront pas reflétées dans la session shell en cours. Si vous lancez un nouveau shell en ouvrant une nouvelle fenêtre ou un nouvel onglet, vous remarquerez les changements.