Друк і запит історії команд, щоб знайти конкретні попередні команди
Зміст:
Якщо ви намагаєтеся запам’ятати точну команду, яку ви виконували через термінал, але не можете її придумати, ви можете запитати історію командного рядка, щоб знайти старі команди, які запускалися або виконувалися в минулому.
Цей трюк для пошуку та отримання попередніх команд, виконаних у командному рядку, працює на Mac OS, Mac OS X, а також на Linux та інших операційних системах Unix.Усе, що має стандартну команду історії, може використовувати цей прийом для отримання попередніх команд, що робить його безцінним інструментом для системних адміністраторів і користувачів командного рядка.
Як знайти певні команди в історії команд у Mac OS
Щоб відстежити історію команд певної команди, потрібно відкрити програму «Термінал» і використати такий синтаксис:
історія |рядок пошуку grep"
Це шукатиме «рядок пошуку» у вашій історії команд і друкуватиме лише ті екземпляри, які містять текст пошуку.
Якщо ви не знайомі з терміналом і вам цікаво, чому це може бути корисним, розглянемо приклад.
Приклад: пошук минулих команд «за замовчуванням» Ось практичний приклад: я намагався пригадати точний синтаксис команди запису за замовчуванням якими я нещодавно користувався. Команди за замовчуванням часто являють собою довгі текстові рядки, які змінюють поведінку Mac OS X або певних програм, оскільки через їхню довжину та незрозумілість намагатися запам’ятати одну з них, м’яко кажучи, складно.
Замість того, щоб натискати стрілку вгору, щоб прокручувати минулі виконання протягом цілої вічності, я використав наступне, щоб звузити свою історію команд лише до речей із «записом за замовчуванням»:
"історія | grep defaults write"
Це передає результати розширеної команди 'history' через grep, щоб знайти лише випадки, які включають «defaults write» у командному рядку, ви побачите список результатів, який нагадує щось на зразок цього:
"$ 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 за замовчуванням запис com.twitter.twitter-mac ESCClosesComposeWindow -bool true 427 за замовчуванням запис com.twitter.twitter-mac ESCClosesComposeWindow -bool false 428 за замовчуванням запис com.apple. appstore ShowDebugMenu -bool true "
Тепер замість пошуку по всьому списку історії ви звузили результати.
Удосконалення пошуку в історії команд для особливостей
Ви можете зробити пошук в історії як конкретним, так і неконкретним. Наприклад, якби я знав, що команда defaults, яку я шукав, стосується com.apple.iTunes, я міг би використати таку команду, щоб уточнити пошук:
"history |grep defaults write com.apple.iTunes"
Що буде повертати щось на зразок:
44 за замовчуванням write com.apple.iTunes full-window -1 51 за замовчуванням write com.apple.iTunes invertStoreLinks -bool ТАК
Спробуйте самі. Ви можете зробити це за допомогою будь-якої команди, яку ви ввели через термінал, оскільки всі нещодавно виконані команди зберігаються у вашій історії. Команда defaults є специфічною для Mac OS X, але history і grep є загальними інструментами для світу unix, тому, якщо ви коли-небудь користуєтеся машиною Linux або іншим чином, ви можете використовувати ті самі методи.
Якщо вам подобається вивчати основи Mac OS X, перегляньте наші поради щодо командного рядка.