Dans de tels scénarios, nous pouvons utiliser l'historique de la commande Shell pour faire défiler nos commandes précédentes ou utiliser la recherche inverse pour rechercher une commande spécifique à l'aide des flèches de haut en bas.
Ce tutoriel discutera des moyens de trouver et de réutiliser nos commandes précédentes en utilisant la fonction d'historique des commandes ZSH.
Variables d'histoire ZSH
Avant de plonger dans la façon de rechercher dans notre historique de commandement dans ZSH, il est utile de discuter de diverses variables que ZSH utilise pour gérer l'historique des commandes.
Dans certains cas, vous pouvez constater que l'historique des commandes pour le shell Zsh n'est pas stocké dans un fichier persistant. Par conséquent, certaines des variables dont nous discuterons pourraient ne pas être définies.
Les variables essentielles que vous devez être conscientes lorsque vous travaillez avec l'historique ZSH sont:
$ Histfile - Cette variable décrit le chemin d'accès au fichier d'historique ZSH. Si vous avez un cadre tel que OH-My-Zsh .Fichier ZSH_HISTORY dans votre répertoire domestique.
Echo $ histfile
/ Home / Ubuntu /.zsh_history
$ Histsize - La variable HistSize détermine le nombre de commandes chargées dans la mémoire à partir du fichier historique. Par défaut, cette valeur est définie sur 100 commandes.
écho $ histsize
1000
$ SaveHist - Une autre variable essentielle est la sauvegarde. Il détermine le nombre maximum de commandes stockées dans le .fichier zsh_history. La valeur par défaut de cette variable est similaire à $ histsize.
Echo $ SaveHist
1000
Ce qui précède est certaines variables d'historique Zsh clés que vous devriez savoir. Vous pouvez en savoir plus en vérifiant la documentation ou en utilisant la commande:
homme zshoptions
Comment activer l'histoire de Zsh
Comme mentionné précédemment, vous pouvez rencontrer une situation où ZSH ne conserve pas l'historique de votre commandement. Pour résoudre ce problème, vous devez ajouter le $ histfile à votre .fichier zshrc.
Ajoutez l'entrée suivante à votre .fichier zshrc.
Export Histfile = ~ /.zsh_history
Vous pouvez également ajouter les variables d'environnement ci-dessus pour spécifier le nombre maximum de commandes stockées dans le fichier d'historique. N'hésitez pas à changer cette valeur en n'importe quel nombre que vous souhaitez. Cependant, contrairement à Bash, vous ne pouvez pas ajouter un 0 pour stocker des commandes illimitées.
Exporter Histsize = 1000
Exportation SaveHist = 1000
Pour enregistrer les modifications de votre session actuelle, utilisez la commande:
source ~ /.zshrc
Comment afficher et utiliser l'historique ZSH
Maintenant que nous avons activé l'historique des commandes dans le shell Zsh, nous pouvons apprendre à l'utiliser.
Toutes les commandes que vous tapez dans votre session ZSH seront automatiquement stockées dans le fichier historique pour réutiliser.
Pour afficher toutes les commandes stockées dans le .Fichier Zsh_History, vous pouvez contenir le contenu du fichier comme:
Cependant, le simple fait de consulter toutes les commandes, vous avez déjà exécuté ne nous aide pas.
Pour revoir toutes les commandes que vous avez exécutées précédemment, utilisez la flèche de haut en bas pour faire défiler l'historique.
La flèche vers le haut fait défiler le fichier montrant la première commande que vous avez exécutée, tandis que la flèche vers le bas fait défiler le fichier affichant la dernière commande de votre historique.
Lorsque vous trouvez la commande que vous souhaitez réaffecter, appuyez sur Entrée pour inviter le shell pour l'exécuter.
Si vous rencontrez une commande avec une syntaxe similaire à ce que vous voulez mais pas exact, vous pouvez utiliser les flèches gauche et droite pour naviguer dans la commande et la modifier.
CONSEIL: Pour naviguer rapidement vers le début ou la fin de la commande, utilisez respectivement les Ctrl + A et Ctrl + E.
Conclusion
Ce tutoriel vous a montré comment travailler avec l'histoire de la commande ZSH. Si vous n'avez pas besoin de gérer manuellement vos paramètres de commande Zsh, envisagez d'installer le framework OH-My-Zsh qui est livré avec de nombreuses fonctionnalités activées hors de la boîte.