Je veux voir le contenu de mon fichier .bash_history
mais je ne sais pas comment y arriver via la ligne de commande.
Je veux voir le contenu de mon fichier .bash_history
mais je ne sais pas comment y arriver via la ligne de commande.
Si vous voulez accéder au fichier lui-même, utilisez simplement votre éditeur de texte préféré (j'utilise emacs
mais vous pouvez utiliser pluma
de gedit
ou vim
ou autre):
emacs ~/.bash_history
C'est l'emplacement par défaut si votre fichier d'historique. Si vous n'y trouvez rien, vous avez peut-être changé le nom du fichier d'historique. Ceci est stocké dans la variable $HISTFILE
, alors imprimez-le pour vérifier sa valeur actuelle:
echo $HISTFILE
Si, au lieu du fichier, vous souhaitez simplement consulter votre historique, vous pouvez exécuter history
comme suggéré par @ minerz029. La commande history
sans option affiche simplement le contenu de votre $HISTFILE
suivi par les commandes exécutées dans le shell courant qui n'ont pas encore été écrites dans ce fichier, avec des numéros de ligne.
Si vous avez réellement besoin de la sortie du fichier .bash_history
, remplacez history
par
cat ~/.bash_history
dans toutes les commandes ci-dessous.
Si vous voulez réellement les commandes sans numéros devant, utilisez cette commande au lieu de history
:
history | cut -d' ' -f 4-
sinon, il n'y aura pas de différence (sauf si vous utilisez un shell différent).
Vous pouvez utiliser
history | tail -n 15
pour obtenir uniquement les 15 dernières lignes de votre historique avec le dernier imprimé en dernier (en bas).
Sinon, utilisez
history | grep "apt-get" | tail -n 15
pour obtenir les 15 dernières commandes contenant apt-get
avec le dernier imprimé en dernier (en bas). Vous pouvez remplacer apt-get
par toute commande (ou argument de commande) que vous souhaitez rechercher (il peut s'agir d'une expression régulière).
Vous pouvez utiliser
history | tac | less
faire défiler tous les commandes exécutées en commençant par la plus récente en haut. Appuyez sur q pour quitter.
De même, utilisez
history | grep "apt-get" | tac | less
faire défiler tous les commandes exécutées avec " apt-get
" (y compris les arguments) en commençant par la plus récente en haut. Appuyez sur q pour quitter.
En plus de l’excellente réponse de minerz029.
Pour réitérer - la commande "history" imprime l'historique avec un numéro à côté.
Vous pouvez diriger la sortie de l’historique dans grep, moins, etc.
La sortie de l’historique indique également un chiffre à gauche de la sortie. par exemple
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
Avec ce numéro, vous pouvez relancer la commande.
p. ex. pour relancer 473 je taperais dans le terminal
[email protected]~$ !473
suivi de la touche Entrée pour répéter la commande à côté de 473 dans la sortie de l'historique.
Vous pouvez également effectuer une recherche interactive en amont dans l’historique des commandes en saisissant ctrl + r
keys, puis commencez à taper une partie du contenu de la commande pour la rechercher et la remplir. Lorsque vous l'avez trouvé, vous pouvez taper enter pour le répéter ou appuyer sur la touche [tab]
pour le copier sur la ligne de commande pour modifier la commande en premier.
Bien sûr, ces deux dernières options fonctionnent dans le shell bash. Je ne suis pas sûr si ces fonctionnalités fonctionnent dans d'autres shells. Mais puisque bash est le shell par défaut d'Ubuntu, vous devriez les trouver ici.
Vous pouvez essayer "suggère la boîte" - comme l’historique lien - il lit l’historique des Bash et permet une navigation rapide.
Lire d'autres questions sur les étiquettes command-line bash history