web-dev-qa-db-fra.com

Recherche dans l'historique de vos commandes sur le terminal macOS

Quel est le raccourci pour rechercher mon historique de commandes dans le terminal macOS?

Pendant combien de temps l'historique est-il disponible pour la recherche? Où est-il stocké?

19
Aipi

Que diriez-vous d'utiliser Ctrl+R pour rechercher sur l'utilitaire Terminal dans Mac pour rechercher sur l'historique des commandes,

dudeOnMac: freddy$ whoami
freddy
(reverse-i-search)`who': whoami

Eh bien pour contrôler combien de temps le history serait conservé, cela dépend de quelques Shell variables d'environnement, HISTFILESIZE qui n'est rien d'autre que le nombre de lignes d'historique que vous souhaitez conserver. Définissez une valeur énorme pour cela dans .bash_profile pour qu'il prenne effet

HISTFILESIZE=10000000 
37
Inian

Utilisez Ctrl + R pour rechercher une commande à partir de l'historique dans Terminal.

(reverse-i-search)`': 

Tapez n'importe quelle sous-chaîne de la commande que vous souhaitez rechercher, par exemple grep

(reverse-i-search)`grep': grep "XYZ" abc.txt

Il renverra la dernière commande correspondant à votre entrée. Si ce n'est pas la commande que vous cherchiez, continuez d'appuyer sur Ctrl + R pour la prochaine correspondance jusqu'à ce que vous trouviez votre commande.

Une fois que vous avez trouvé votre commande, appuyez sur Return pour l'exécuter.

Si vous souhaitez quitter sans exécuter de commande, appuyez sur Ctrl + G

PS: Cette réponse est la même que celle suggérée par Inian, donnant juste plus de détails pour une utilisation facile.

17
Sahil Chhabra

L'historique des commandes est stocké sous votre dossier personnel dans un fichier caché appelé . Bash_history. Pour afficher son contenu dans nano, utilisez la commande suivante dans Terminal:

nano ~/.bash_history

Ou ouvrez avec votre éditeur de texte (par défaut est TextEdit):

open ~/.bash_history

Dans mon cas, c'est une très longue liste et comme je défile, la dernière commande ~ 500 est stockée ici.

7
balazs630

Migration d'une réponse vers SO from this answer on the Unix and Linux Stack Exchange:

Pressage ctrl+R ouvrira l'historique-recherche-en arrière. Maintenant, commencez à taper votre commande, cela donnera la première correspondance. En appuyant ctrl+R encore et encore, vous pouvez parcourir l'histoire.

Si vous aimez être super paresseux, vous pouvez lier les touches fléchées haut/bas pour effectuer cette recherche, j'ai ce qui suit dans mon .inputrc pour lier la flèche haut/bas à history-search-backward et history-search-forward:

# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward

Tapez simplement quelque chose (facultatif), puis appuyez sur la touche fléchée haut/bas pour rechercher dans l'historique des commandes qui commencent par ce que vous avez tapé.

Pour ce faire dans .bashrc plutôt que .inputrc, vous pouvez utiliser:

bind '"\e[A": history-search-backward'
3
matt123788

Pour revoir ou rappeler les commandes récemment utilisées, vous pouvez simplement appuyer sur la touche fléchée vers le haut pour relire séquentiellement l'historique stocké dans .bash_history.

0
Cam_Aust