find /var/log
でログを検索する
このステップでは、強力な find
コマンドを使用して /var/log
ディレクトリ内のファイルを検索する方法を学びます。ls
は直下の内容を表示するのに対し、find
はサブディレクトリを再帰的に検索し、名前、種類、変更時間などの様々な基準に基づいて結果をフィルタリングすることができます。
find
の基本的な構文は find [path] [expression]
です。[path]
は検索を開始する場所で、[expression]
は検索対象と実行するアクションを指定します。
では、/var/log
内のすべてのファイルを検索しましょう。ターミナルに以下のコマンドを入力し、Enter キーを押します。
find /var/log -type f
このコマンドの詳細は以下の通りです。
find /var/log
:/var/log
ディレクトリから検索を開始します。
-type f
:この式は、結果を通常のファイル (f
) のみにフィルタリングします。他の種類には、ディレクトリ (d
)、シンボリックリンク (l
) などがあります。
次のようなファイルパスの一覧が表示されます。
/var/log/alternatives.log
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/auth.log
/var/log/auth.log.1
/var/log/auth.log.2.gz
...
この出力は、/var/log
とそのサブディレクトリ内で見つかった各ファイルの完全なパスを示しています。
では、特定の名前パターンを持つファイル、たとえば .log
で終わるファイルを検索してみましょう。ワイルドカード (*
) を使用した -name
式を使うことができます。
以下のコマンドを入力し、Enter キーを押します。
find /var/log -name "*.log"
-name "*.log"
:この式は、名前が .log
で終わるファイルを検索します。アスタリスク (*
) は任意の文字シーケンスに一致するワイルドカードです。
出力には、このパターンに一致するファイルが一覧表示されます。
/var/log/alternatives.log
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/auth.log
/var/log/bootstrap.log
/var/log/dpkg.log
...
find
コマンドは非常に汎用性が高く、Linux でのファイルのナビゲートと管理に不可欠です。異なる式を組み合わせて複雑な検索を行うことができます。
続ける をクリックして次に進みます。