Skriv ut och fråga kommandoregister för att hitta specifika tidigare kommandon

Om du försöker komma ihåg ett exakt kommando som du utfört via Terminal men det kan inte hända med det, kan du fråga din kommandoradshistorik för att upptäcka gamla kommandon som har körts eller körts tidigare.

Det här tricket att hitta och hämta tidigare kommandon som körs på kommandoraden fungerar på Mac OS, Mac OS X, samt Linux och andra Unix-operativsystem. Allt med ett standardhistorikkommando kan använda det här tricket för att hämta tidigare kommandon, vilket gör det till ett ovärderligt verktyg för systemadministratörer och kommandoradsanvändare.

Så här hittar du specifika kommandon från Command History i Mac OS

För att spåra kommandotaggen för ett visst kommando måste du öppna Terminal-appen och sedan använda följande syntax:

history |grep "search string"

Detta kommer att leta efter "söksträng" i din kommandoradshistorik och endast skriva ut instanser som innehåller söktexten.

Om du inte är känd med Terminal och du undrar varför det här kan vara användbart, låt oss ta ett exempel.

Exempel: Söka efter tidigare standardinställningar
Här är ett praktiskt exempel: Jag försökte återkalla den exakta syntaxen för ett standardvärde skrivkommando som jag nyligen använt. Standardinställningarna är ofta långa strängar av text som modifierar beteendet hos Mac OS X eller vissa applikationer, på grund av deras längd och dunkelhet, och försöker komma ihåg att en av dessa från toppen av ditt huvud är utmanande att säga minst.

I stället för att slå upp pilen för att bläddra genom tidigare avrättningar för en evighet, använde jag följande för att begränsa min kommandoradshistoria till bara saker med "standardskrivning" som så:

history | grep "defaults write"

Detta överför resultaten av det omfattande kommandot "historia" genom grep för att hitta endast instanser som innehåller "standardskrivning" i kommandosträngen. Du får se en resultatlista som liknar något av följande:

$ 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 defaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool true
427 defaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool false
428 defaults write com.apple.appstore ShowDebugMenu -bool true

Nu istället för att söka igenom hela din historiklista har du minskat resultatet.

Raffinera kommandoraden Sök efter specifika uppgifter

Du kan göra historiksökningen som specifik eller ospecifik som du vill. Om jag till exempel visste att standardkommandot jag letade efter var com.apple.iTunes kunde jag använda följande kommando för att ytterligare förbättra min sökning:

history |grep "defaults write com.apple.iTunes"

Vilket skulle återvända något som:

44 defaults write com.apple.iTunes full-window -1
51 defaults write com.apple.iTunes invertStoreLinks -bool YES

Prova själv. Du kan göra detta med något kommando du har angett via Terminal eftersom alla nyligen körda kommandon lagras i din historia. Standardinställningen är specifikt Mac OS X, men historia och grep är verktyg som är generiska för unixvärlden, så om du någonsin är på en Linux-maskin eller annars kan du använda samma tekniker.

Om du vill lära dig om grunden för Mac OS X, kolla in våra kommandorads tips.