17 votes

Comment modifier l'historique du terminal du shell bash ?

J'ai entré un mot de passe dans une ligne de commande pro ou dans une fenêtre terminal par erreur et je ne veux pas supprimer tout mon historique. Mon shell est bash.

Comment modifier mon historique bash sous Mac OS X ?

18voto

Thecafremo Points 13255

Modifier le .bash_history est juste une question d'ouvrir le fichier avec un éditeur. Il y a plusieurs façons d'y parvenir.

  1. Dans le Terminal tapez simplement vi ~/.bash_history puis modifiez le fichier comme vous le souhaitez, et enregistrez. Cette option peut s'avérer délicate, si vous n'êtes pas habitué à vi bien sûr.
  2. Faire le dossier visible en suivant ces instructions, par exemple, l'ouvrir comme n'importe quel autre fichier, le modifier et l'enregistrer.
  3. Dans le Terminal tapez simplement open -e ~/.bash_history . Cette commande ouvrira le fichier avec TextEdit vous pouvez choisir n'importe quel autre éditeur de texte, bien sûr. Modifiez le fichier et enregistrez-le.

Pour que les changements soient perceptibles, il suffit de redémarrer le bash.

2 votes

Je pense avoir trouvé ma réponse. echo $HISTFILE indique celui à modifier.

13voto

User366 Points 1960

Dans le type de terminal history et notez le numéro de la ligne. Appel suivant history -d noted-line-number . Vous pouvez vérifier que la ligne est supprimée en utilisant history encore.

3 votes

Cela ne fonctionne pas sur Yosemite avec ZSH.

0 votes

La question portait sur bash, pas sur zsh. Lisez attentivement !

1 votes

@DmitryDupelov vous avez raison, désolé de vous déranger. Quoi qu'il en soit, c'est un rappel pour les futurs lecteurs (qui pourraient manquer ce détail aussi). Merci d'avoir corrigé mon commentaire.

3voto

Matian2040 Points 131
nano ~/.bash_history

quand vous aurez fini, ctrl+x et revenir pour accepter une bonne réponse dude

1voto

sage Points 181

Je pense que la réponse de Dmitry est idéale si elle est faite avant sauver l'historique - par défaut, la sauvegarde se fait à la sortie du shell/terminal.

Si vous avez déjà sauvegardé l'historique dans ~/.bash_history, alors je préfère la réponse de Thecafremo, mais je suggérerais d'ajouter une étape de sortie de Terminal pour s'assurer qu'aucune des instances de bash n'a chargé l'historique et ne le ré-enregistrera. C'est particulièrement délicat si vous avez plusieurs terminaux et si vous avez activé une sorte de mise à jour de l'historique commande par commande.

Le contexte :

  • bash enregistre l'historique dans une instance du shell
  • bash peut écrire cet historique dans un fichier, ce qui se produit généralement lorsque vous quittez le shell/terminal.
  • bash peut lire un fichier dans l'historique, ce qui se produit généralement lorsque vous ouvrez un shell/terminal.
  • il est possible de modifier le comportement par défaut afin que l'historique se propage plus tôt, ce qui peut faire migrer votre BAD_TEXT vers le fichier et vers d'autres Windows

Quelle que soit la méthode que vous utilisez, j'ajouterais une étape : vérifier le succès !

  1. Quitter Terminal.app
  2. Rouvrez Terminal.app
  3. Confirmez que le texte incriminé ne figure pas dans l'historique - de préférence d'une manière qui ne créera pas d'historique supplémentaire. C'est-à-dire qu'il ne faut pas grep BAD_TEXT .bash_history ! Cette nouvelle commande serait placée dans l'historique. Il suffit d'ouvrir le fichier .bash_history dans votre éditeur préféré et d'y rechercher BAD_TEXT.

Cela devrait vous donner la tranquillité d'esprit d'avoir éliminé BAD_TEXT, quel que soit le type de configuration bash que vous pouvez rencontrer.

1voto

Lano Points 438

Il existe plusieurs historiques, par exemple bash et zsh. Vous pouvez le faire avec nano. Pour ce faire, il suffit d'ouvrir le terminal

Avec ceci vous éditez l'historique de bash

nano $HOME/.bash_history 

Avec cela, vous modifiez l'historique standard de zsh

nano $HOME/.zsh_history 

Si vous voulez, vous pouvez faire tout cela en utilisant TextEdit.

Bash : open -t $HOME/.bash_history

Zsh : open -t $HOME/.zsh_history

2 votes

Mettons cela dans une question demandant l'historique de zsh pour un meilleur effet.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X