J'ai créé une machine Ubuntu virtualbox il y a quelques semaines et depuis, je travaille sur des projets.
Maintenant, je voudrais trouver la syntaxe de certaines commandes que j'ai tapées dans le terminal il y a une semaine, mais j'ai ouvert et fermé la fenêtre du terminal et redémarré la machine plusieurs fois.
Comment puis-je obtenir la history
commande pour revenir à la première commande que j'ai tapée après avoir créé la machine?
Ou existe-t-il un autre endroit où toutes les commandes sont stockées dans Ubuntu?
command-line
bash
history
Edward Tanguay
la source
la source
Réponses:
Il peut ou non être possible d'obtenir toutes les commandes. Cela dépend du nombre de commandes que vous avez exécutées et de la façon dont la limite d'historique a été définie.
Cependant, vous pouvez voir que la liste de l'historique est stockée ici
/home/<YOUR_USERNAME>/.bash_history
Question connexe (pour gérer l'historique de plusieurs shell):
Est-il possible de rendre l'écriture dans .bash_history immédiate?
la source
history
, il affiche l'historique du shell actuel comme le plus récent et l'historique de tous les autres shells (y compris les shells des sessions précédentes, y compris entre les cycles d'alimentation) avant cela. Toutes les instances de shell enregistrent leur historique au.bash_history
moment de la sortie. Aucune instance ne l'enregistre automatiquement avant ce point.Par défaut, il n'y a aucun endroit où toutes les commandes sont enregistrées et conservées indéfiniment, bien qu'elles
~/.bash_history
contiennent les dernières commandes (si vous utilisezbash
, qui est le shell par défaut dans Ubuntu).Si vous voulez que chaque commande tapée soit
bash
enregistrée pour toujours , vous devez la configurer vous-même. Par exemple, vous pouvez mettre ce qui suit dans votre~/.bashrc
fichier pour enregistrer toutes les commandes tapées dans unbash
shell dans le fichier~/.command_log
:Ce qui précède établit un piège
DEBUG
, qui est exécuté juste avant l'exécution d'une commande ordinaire. La fonctioncaller
intégrée est utilisée pour tester si la commande est tapée dans un shell interactif ou exécutée via quelque chose comme~/.bashrc
. La valeur${BASH_COMMAND}
contient la commande en cours d'exécution.la source
update_terminal_cwd
le fichier historique, qui est une commande que l'utilisateur n'exécute pas, mais s'exécute automatiquement.Quelque chose qui pourrait également vous intéresser est de savoir comment rechercher dans votre historique de commandes précédent. Vous pouvez inverser la recherche de votre historique sur la ligne de commande en appuyant sur
Ctrl+r
puis en tapant les lettres que vous souhaitez faire correspondre. Si vous avez plusieurs commandes correspondantes, appuyez àCtrl+r
nouveau sur. Pour quitter la recherche inversée, appuyez surCtrl+g
.http://www.ice2o.com/bash_quick_ref.html
la source
Vous ne pouvez revenir en arrière que dans la mesure où votre limite d'historique est définie; une fois qu'il aura atteint ce point, l'historique commencera à être écrasé. Cependant, il est possible d'avoir une taille d'historique plus grande pour l'avenir. Mettez ceci dans votre .bashrc et spécifiez une valeur (la mienne est fixée à 1000):
la source