Imprimer et interroger l'historique des commandes pour rechercher des commandes passées spécifiques

Table des matières:

Anonim

Si vous essayez de vous souvenir d'une commande exacte que vous avez exécutée via le terminal mais que vous n'arrivez pas à la trouver, vous pouvez interroger l'historique de votre ligne de commande pour découvrir les anciennes commandes qui ont été exécutées ou exécutées autrefois.

Cette astuce pour rechercher et récupérer les commandes précédentes exécutées dans la ligne de commande fonctionne sur Mac OS, Mac OS X, ainsi que Linux et d'autres systèmes d'exploitation Unix.Tout ce qui possède une commande d'historique standard peut utiliser cette astuce pour récupérer les commandes précédentes, ce qui en fait un outil inestimable pour les administrateurs système et les utilisateurs de la ligne de commande.

Comment rechercher des commandes spécifiques à partir de l'historique des commandes sous Mac OS

Pour retrouver l'historique des commandes d'une commande particulière, vous devez ouvrir l'application Terminal, puis utiliser la syntaxe suivante :

"

historique |chaîne de recherche grep"

Cela recherchera la "chaîne de recherche" dans votre historique de commandes et n'imprimera que les instances qui incluent le texte de recherche.

Si vous n'êtes pas familier avec le Terminal et que vous vous demandez pourquoi cela pourrait être utile, prenons un exemple.

Exemple : recherche de commandes "par défaut" passées Voici un exemple pratique : j'essayais de me rappeler la syntaxe exacte d'une commande d'écriture par défaut que j'ai utilisé récemment. Les commandes par défaut sont souvent de longues chaînes de texte qui modifient le comportement de Mac OS X ou de certaines applications, en raison de leur longueur et de leur obscurité, essayer de se souvenir de l'une d'entre elles est pour le moins difficile.

Au lieu d'appuyer sur la flèche vers le haut pour faire défiler les exécutions passées pendant une éternité, j'ai utilisé ce qui suit pour limiter mon historique de commandes aux seules choses avec "écriture par défaut" comme suit :

"

histoire | grep defaults write"

Ceci transmet les résultats de la commande étendue "history" via grep pour trouver uniquement les instances qui incluent "defaults write" dans la chaîne de commande, vous verrez une liste de résultats qui ressemble à ceci :

"

$ history |grep defaults write 44 defaults write com.apple.iTunes full-window -1 51 defaults write com.apple.iTunes invertStoreLinks -bool YES 421 defaults write com.apple.FaceTime AutoAcceptInvitesFrom -array-add [email protected] 426 valeurs par défaut écrire com.twitter.twitter-mac ESCClosesComposeWindow -bool true 427 valeurs par défaut écrire com.twitter.twitter-mac ESCClosesComposeWindow -bool false 428 valeurs par défaut écrire com.apple. appstore ShowDebugMenu -bool true "

Maintenant, au lieu de chercher dans toute votre liste d'historique, vous avez réduit les résultats.

Affinage de l'historique des commandes Recherche de détails

Vous pouvez rendre la recherche d'historique aussi spécifique ou non spécifique que vous le souhaitez. Par exemple, si je savais que la commande par défaut que je cherchais se rapportait à com.apple.iTunes, je pourrais utiliser la commande suivante pour affiner ma recherche :

"

history |grep defaults write com.apple.iTunes"

Qui renverrait quelque chose comme :

44 valeurs par défaut écrivent com.apple.iTunes full-window -1 51 valeurs par défaut écrivent com.apple.iTunes invertStoreLinks -bool YES

Essayez-le vous-même. Vous pouvez le faire avec n'importe quelle commande que vous avez entrée via le terminal puisque toutes les commandes récemment exécutées sont stockées dans votre historique. La commande par défaut est spécifique à Mac OS X, mais history et grep sont des outils génériques pour le monde d'Unix, donc si vous êtes déjà sur une machine Linux ou autrement, vous pouvez utiliser les mêmes techniques.

Si vous aimez en savoir plus sur les fondements de Mac OS X, consultez nos conseils sur la ligne de commande.

Imprimer et interroger l'historique des commandes pour rechercher des commandes passées spécifiques