この記事では、Linux の find
について見ていきます。 コマンドと、さまざまな属性を持つファイルを検索して見つける方法。
Linux 検索コマンド
Linux find
コマンドは、さまざまな検索条件に基づいてファイルやディレクトリを見つけて管理するために使用できる組み込みの強力なツールです。
たとえば、名前、拡張子、サイズ、権限などでファイルを見つけることができます。 find
を使用することもできます 名前がわからないファイル内の特定のテキストを検索するコマンド。
find
の使い方を見てみましょう コマンドと例:
名前によるファイルの検索
ファイルの名前はわかっているが、そのディレクトリを思い出せない場合は、ルート ディレクトリから次のコマンドを使用できます。
find . -name sales.csv
出力例:
./accounts/sales.csv
ディレクトリ内の特定のファイルを検索する
ディレクトリ内の特定のファイルを検索する場合は、次を使用できます:
find ./test -name testCases*
出力例:
./test/testCases10.txt
./test/testCasesPassed.txt
./test/testCasesFailed.log
上記の場合、「./test」ディレクトリ内のみを検索しています。
拡張子でファイルを検索
特定の拡張子でファイルを検索するには:
find . -name *.jpg
出力例:
./test/results/failedTests.jpg
./test/project.jpg
./home/profile_pic.jpg
./tmp/cute-cats.jpg
特定の名前のファイルまたはディレクトリを検索
ファイルのみを検索するには、-f
を使用する必要があります オプション:
find ./ -type f -name "results*"
出力例:
./test/results_latest.log
./test/results_archive.pdf
ディレクトリのみを検索するには、-d
を使用する必要があります オプション:
find ./ -type d -name "results*"
出力例:
./test/results
複数のディレクトリでファイルを検索
複数のディレクトリで特定の名前を持つすべてのファイルを検索して一覧表示する場合は、ルート フォルダーから検索を開始するか、ディレクトリがわかっている場合はそれらを指定できます。
例:
find ./test ./logs -name failed*.* -type f
出力例:
./test/failed_tests.txt
./logs/failed_tests.log
特定のテキストを含むファイルを検索
場合によっては、ファイルを検索したいときに、そのファイルの名前はわからないが、その中に特定のテキストがあることはわかっていることがあります。
以下を使用できます:
find ./test -type f -exec grep -l -i "login_scenarios" {} ;
ここでは、-i
オプションを使用して大文字と小文字を区別しないため、Login_Scenarios と login_scenarios の両方が検出されます。
サイズでファイルを検索
さまざまなサイズでファイルを見つけることもできます。サイズのオプションは次のとおりです:
c
バイトk
キロバイトM
メガバイトG
ギガバイト
たとえば、使用する正確なサイズでファイルを見つけるには:
find / -size 10M
また、特定のサイズより大きいファイルを見つけるには、以下を使用します:
find ./test -size +2M
上記は、./test フォルダー内の 2MB を超えるすべてのファイルを検索します。
特定のファイルを見つけて削除する
私たちが使用する特定のファイルを見つけて削除するには:
find . -type f -name "temp*" -exec rm {} ;
結論
この記事では、Linux の find コマンドを使用して、名前、拡張子、サイズ、およびタイプに基づいてファイルを検索する方法について学習しました。