Imprimați și interogați istoricul comenzilor pentru a găsi anumite comenzi anterioare
Cuprins:
Dacă încercați să vă amintiți o comandă exactă pe care ați executat-o prin intermediul terminalului, dar nu o puteți găsi, puteți interoga istoricul liniei de comandă pentru a descoperi comenzi vechi care au fost executate sau executate în trecut.
Acest truc pentru a găsi și a prelua comenzile anterioare executate în linia de comandă funcționează pe Mac OS, Mac OS X, precum și pe Linux și alte sisteme de operare Unix.Orice cu o comandă standard de istoric poate folosi acest truc pentru a prelua comenzile anterioare, făcându-l un instrument de neprețuit pentru administratorii de sisteme și utilizatorii liniei de comandă.
Cum să găsiți anumite comenzi din istoricul comenzilor în Mac OS
Pentru a urmări istoricul comenzilor unei anumite comenzi, trebuie să deschideți aplicația Terminal și apoi să utilizați următoarea sintaxă:
istorie |șir de căutare grep"
Acest lucru va căuta „șir de căutare” în istoricul comenzilor și va tipări numai cazurile care includ textul de căutare.
Dacă nu sunteți familiarizat cu Terminalul și vă întrebați de ce ar putea fi util acest lucru, să luăm un exemplu.
Exemplu: Căutarea comenzilor „prestabilite” din trecut Iată un exemplu practic: încercam să-mi amintesc sintaxa exactă a unei comenzi de scriere implicite pe care l-am folosit recent. Comenzile implicite sunt adesea șiruri lungi de text care modifică comportamentul Mac OS X sau al anumitor aplicații, din cauza lungimii și obscurității lor, încercarea de a reține una dintre acestea din capul tău este cel puțin o provocare.
În loc să apăs pe săgeata în sus pentru a parcurge execuțiile anterioare pentru o veșnicie, am folosit următoarele pentru a restrânge istoricul comenzilor la doar lucrurile cu „scrierea implicită” astfel:
"istorie | grep defaults write"
Acesta trece rezultatele comenzii extinse „istory” prin grep pentru a găsi numai cazuri care includ „scrierea implicită” în șirul de comandă, veți vedea o listă de rezultate care seamănă cu asta:
"$ istoric |grep implicite scriere 44 implicite scriere com.apple.iTunes full-window -1 51 implicite scriere com.apple.iTunes invertStoreLinks -bool DA 421 implicite scriere 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 "
Acum, în loc să cauți prin întreaga listă de istorie, ai restrâns rezultatele.
Rafinarea istoricului comenzilor Căutare specifică
Puteți face căutarea în istoric cât de specifică sau nespecifică doriți. De exemplu, dacă știam că comanda implicită pe care o căutam se referă la com.apple.iTunes, aș putea folosi următoarea comandă pentru a-mi rafina și mai mult căutarea:
"istorie |grep defaults scrie com.apple.iTunes"
Care ar returna ceva de genul:
44 implicite scriere com.apple.iTunes full-window -1 51 implicite scriere com.apple.iTunes invertStoreLinks -bool YES
Încercați-l singur. Puteți face acest lucru cu orice comandă pe care ați introdus-o prin Terminal, deoarece toate comenzile executate recent sunt stocate în istoricul dumneavoastră. Comanda implicită este specifică Mac OS X, dar istoricul și grep sunt instrumente generice pentru lumea Unix, așa că dacă sunteți vreodată pe o mașină Linux sau altfel, puteți utiliza aceleași tehnici.
Dacă vă place să aflați despre bazele Mac OS X, consultați sfaturile noastre pentru linia de comandă.
