Linuxには、1つまたは複数のファイルを検索するためのfindという名前の強力なツールが付属しています。 デフォルトでは、特定の条件に基づいて1つまたは複数のファイルのサブディレクトリを検索します。
このチュートリアルでは、 Linuxでファイルを探す コマンドラインを使用します。
Linuxでファイルを探す
Linuxでファイルを検索するためのfindコマンドの構文:
find starting-point options expression
開始点-これは、現在のディレクトリ(。で示す)またはフィルタリングを開始するディレクトリパスにすることができます。 パスが指定されていない場合は、現在のディレクトリが使用されます。
オプション-これは、シンボリックリンク、デバッグオプション、およびパフォーマンスの最適化の処理を制御します。
式-何を検索するか。
にとって example:
find -O3
-L /etc -name "*.conf"
- オプション
-03
(オプション)は、パフォーマンスを向上させるために効率的な検索を実行するように指示します。 - The
-L
(オプション)シンボリックリンクをたどるようにfindコマンドに指示します - The
/etc
(開始点)検索を開始するディレクトリを指定します - The
-name "*.conf"
(式)findコマンドに何を検索するかを指示します。
Linuxで名前でファイルを検索する
findコマンドを使用して、名前でファイルを検索できます。 にとって example 現在のディレクトリとサブディレクトリでfile1.txtという名前のファイルを検索します。
find . -name file1.txt
ここ 。 (ドット)は現在のディレクトリを示します。
ディレクトリパス/ home / bobおよびそのサブディレクトリにあるfile2.txtという名前のファイルを検索します。
find /home/bob -name file2.txt
大文字と小文字を区別しない検索を実行するには、-nameの代わりに-inameオプションを使用します。
find /home/bob -iname File2.txt
Linuxで拡張子でファイルを検索
findコマンドを使用して、ファイル拡張子を使用して1つまたは複数のファイルを検索します。 にとって example 拡張子が「.txt」のファイルを検索するには、次のように入力します。
find /home/bob -name "*.txt"
空のファイルを探す
空のファイルを見つけるには、ファイルタイプ-emptyを使用します。
にとって example / tmpディレクトリ内のすべての空のファイルを検索するには、次のように入力します。
find /tmp -type f -empty
変更時間でファイルを検索
最後に変更されたディレクトリ内の1つまたは複数のファイルを検索するには、-mtimeオプションを使用します。 にとって example 60日前に最後に変更されたテキストファイルを検索するには、次のように入力します。
find /home/username -name "*.txt" -mtime -60
特定の文字列を含むファイルを検索
特定の文字列を含むファイルを検索する場合は、findとgrepを組み合わせることができます。
文字列 ‘を含むすべての* .jsファイルを検索するにはexample’、 タイプ:
find . -name '*.js' -exec grep -i 'example' {} ; -print
または、grepコマンドでも同じ結果を得ることができます。
ファイルを検索してコマンドを実行する
ファイルを見つけて、削除、権限の変更などのプロセスを実行する必要がある場合は、-execオプションを使用できます。
find /var/www/html -name "wp-config.php" -exec chmod 0644 {} ;
ファイルを検索するための便利な検索オプション
デフォルトでは、シンボリックリンクを無視し、-Lを使用してシンボリックリンクをたどります。
-maxdepth X
-現在のディレクトリを、Xレベルの深さのすべてのサブディレクトリとともに検索します。-iname
-大文字小文字を無視します。-not
-テストケースと一致しない結果のみを出力します
結論
このチュートリアルでは、コマンドラインを使用してLinuxでファイルを見つける方法を学びました。 Linuxの構造により、ディレクトリとサブディレクトリを検索することでファイルを効率的に見つけることができます。
読んでいただきありがとうございます。コメントセクションでフィードバックや提案をお知らせください。