J'ai créé une machine virtuelle Ubuntu il y a quelques semaines et je travaille sur des projets par intermittence depuis.
Maintenant, j'aimerais 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 de nombreuses fois.
Comment puis-je obtenir la commande history
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?
Il peut être possible ou non d'obtenir toutes les commandes. Cela dépend du nombre de commandes que vous avez exécutées et de la définition de la limite d’historique.
Cependant, vous pouvez voir la liste de l'historique sont stockés ici
/home/<YOUR_USERNAME>/.bash_history
Question connexe (pour gérer plusieurs antécédents de shell):
Par défaut, il n'y a pas d'endroit où toutes les commandes sont enregistrées et conservées indéfiniment, bien que ~/.bash_history
contienne les dernières commandes (si vous utilisez bash
name__, qui est le shell par défaut d'Ubuntu).
Si vous voulez chaque commande saisie dans bash
enregistrée pour toujours, vous devez la configurer vous-même. Par exemple, vous pouvez insérer les éléments suivants dans votre fichier ~/.bashrc
pour consigner toutes les commandes saisies dans un shell bash
_ dans le fichier ~/.command_log
:
# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
\$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi
Ce qui précède définit une interruption sur DEBUG
name__, qui est exécutée juste avant l'exécution d'une commande ordinaire. Le nom intégré caller
est utilisé pour vérifier si la commande est en cours de saisie sur un shell interactif ou exécutée via quelque chose comme ~/.bashrc
. La valeur ${BASH_COMMAND}
contient la commande en cours d'exécution.
Vous pouvez également trouver un moyen d’intéresser votre historique de commandes précédent. Vous pouvez effectuer une recherche inverse dans 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 à nouveau sur Ctrl+r
. Pour quitter la recherche inversée, appuyez sur Ctrl+g
.
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 importante pour l'avenir. Mettez ceci dans votre .bashrc et spécifiez une valeur (la mienne est fixée à 1000):
export HISTSIZE=1000