特定の過去のコマンドを検索するためのコマンド履歴の印刷とクエリ
目次:
ターミナル経由で実行した正確なコマンドを覚えようとしているが、それを思い出せない場合は、コマンドライン履歴を照会して、実行または実行された古いコマンドを見つけることができます過去に。
コマンド ラインで実行された前のコマンドを検索して取得するこのトリックは、Mac OS、Mac OS X、および Linux やその他の UNIX オペレーティング システムでも機能します。標準の履歴コマンドを使用するものはすべて、このトリックを使用して以前のコマンドを取得できるため、システム管理者やコマンド ライン ユーザーにとって非常に貴重なツールになります。
Mac OS でコマンド履歴から特定のコマンドを見つける方法
特定のコマンドのコマンド履歴を追跡するには、ターミナル アプリを開いて次の構文を使用する必要があります:
history |grep 検索文字列"
これにより、コマンド履歴で「検索文字列」が検索され、検索テキストを含むインスタンスのみが出力されます。
ターミナルに慣れておらず、なぜこれが役立つのか疑問に思っている場合は、例を見てみましょう.
例: 過去の「デフォルト」コマンドの検索 実際の例を次に示します: デフォルト書き込みコマンドの正確な構文を思い出そうとしました。最近使ったもの。デフォルトのコマンドは、多くの場合、Mac OS X または特定のアプリケーションの動作を変更する長いテキスト文字列です。その長さとあいまいさのために、頭のてっぺんからこれらのいずれかを覚えようとするのは、控えめに言っても困難です。
上向き矢印を押して過去の実行を永遠にスクロールする代わりに、次のコマンドを使用してコマンド履歴を「デフォルト書き込み」のあるものだけに絞り込みました:
"履歴 | grep defaults write"
これは、grep を介して広範な「history」コマンドの結果を渡し、コマンド文字列に「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 のデフォルトは com.apple.iTunes フルウィンドウを書き込みます -1 51 のデフォルトは com.apple.iTunes を書き込みます invertStoreLinks -bool YES
自分で試してみてください。最近実行したコマンドはすべて履歴に保存されるため、ターミナルから入力した任意のコマンドでこれを行うことができます。デフォルトのコマンドは Mac OS X 固有のものですが、history と grep は UNIX の世界では一般的なツールであるため、Linux マシンを使用している場合などは、同じ手法を使用できます。
Mac OS X の基盤について学びたい場合は、コマンド ラインのヒントをご覧ください。