Linux Find コマンドの 35 の実践例
Linux のfind コマンドは、Unix 系オペレーティング システムで最も重要で頻繁に使用されるコマンド ライン ユーティリティの 1 つです。 find コマンドは、引数に一致する、指定した条件に基づいてファイルとディレクトリのリストを検索して見つけるために使用されます。
find コマンドには幅広いオプションが用意されているため、ユーザーはさまざまな状況でこのコマンドを活用できます。これにより、個人は、権限、ユーザー、グループ、ファイルの種類、日付、サイズ、その他のさまざまなパラメーターを含む多数の基準に基づいてファイルを検索できるようになります。
この記事では、Linux で最も一般的に使用される検索コマンドの例を 35 個紹介します。このセクションは 5 つの部分に分かれており、基本レベルから高度なレベルまで find コマンドの使用法をカバーしています。
パート I – 名前付きファイルを検索するための基本的な検索コマンド
特定の名前を持つファイルを検索する場合、find コマンドにはプロセスを効率化するためのさまざまなオプションが用意されています。ここでは、名前に基づいてファイルを見つけるための基本的な検索コマンドをいくつか紹介します。
1. 現在のディレクトリで名前を使用してファイルを検索する
現在の作業ディレクトリで名前が tecmint.txt であるすべてのファイルを見つけます。
find . -name tecmint.txt
./tecmint.txt
2. ホームディレクトリでファイルを検索する
/home ディレクトリの下にある tecmint.txt という名前のファイルをすべて見つけます。
find /home -name tecmint.txt
/home/tecmint.txt
3. 大文字と小文字を無視して名前を使用してファイルを検索する
/home ディレクトリで、名前が tecmint.txt で大文字と小文字の両方が含まれるファイルをすべて検索します。
find /home -iname tecmint.txt
./tecmint.txt
./Tecmint.txt
4. 名前を使用してディレクトリを検索する
/ ディレクトリで、名前が Tecmint であるすべてのディレクトリを検索します。
find / -type d -name Tecmint
/Tecmint
5. 名前を使用して PHP ファイルを検索する
現在の作業ディレクトリで名前が tecmint.php であるすべての php ファイルを検索します。
find . -type f -name tecmint.php
./tecmint.php
6. ディレクトリ内のすべての PHP ファイルを検索します。
ディレクトリ内のすべての php ファイルを検索します。
find . -type f -name "*.php"
./tecmint.php
./login.php
./index.php
パート II – 権限に基づいてファイルを検索する
ここでは、アクセス許可に基づいてファイルを検索するための find コマンドの例をいくつか示します。
7. 777 のアクセス許可を持つファイルを検索する
権限が 777 であるファイルをすべて検索します。
find . -type f -perm 0777 -print
8. 777 権限のないファイルを検索する
許可なくすべてのファイルを検索777します。
find / -type f ! -perm 777
9. 644 のアクセス許可を持つ SGID ファイルを検索する
アクセス許可が 644 に設定されているすべての SGID ビット ファイルを見つけます。
find / -perm 2644
10. 551 のアクセス許可を持つスティッキー ビット ファイルを見つける
権限が 551 であるすべての Sticky Bit セット ファイルを見つけます。
find / -perm 1551
11. SUID ファイルの検索
すべてのSUID セット ファイルを検索します。
find / -perm /u=s
12. SGID ファイルの検索
すべてのSGID セット ファイルを検索します。
find / -perm /g=s
13. 読み取り専用ファイルの検索
すべての読み取り専用 ファイルを検索します。
find / -perm /u=r
14. 実行可能ファイルの検索
すべての実行可能ファイルを見つけます。
find / -perm /a=x
15. 権限が 777 で Chmod が 644 のファイルを検索する
すべての 777 権限ファイルを検索し、chmod コマンドを使用して権限を 644 に設定します。
find / -type f -perm 0777 -print -exec chmod 644 {} \;
16. 権限が 777 で Chmod が 755 のディレクトリを検索する
すべての 777 権限ディレクトリを検索し、chmod コマンドを使用して権限を 755 に設定します。
find / -type d -perm 777 -print -exec chmod 755 {} \;
17. 単一ファイルの検索と削除
tecmint.txt という単一のファイルを見つけて削除します。
find . -type f -name "tecmint.txt" -exec rm -f {} \;
18. 複数のファイルを検索して削除する
.mp3 や .txt などの複数のファイルを検索して削除するには、を使用します。
find . -type f -name "*.txt" -exec rm -f {} \;
OR
# find . -type f -name "*.mp3" -exec rm -f {} \;
19. すべての空のファイルを検索する
特定のパスの下にあるすべての空のファイルを検索します。
find /tmp -type f -empty
20. 空のディレクトリをすべて検索する
すべての空のディレクトリを特定のパスの下にファイルすること。
find /tmp -type d -empty
21. すべての隠しファイルをファイルする
すべての隠しファイルを見つけるには、以下のコマンドを使用します。
find /tmp -type f -name ".*"
パート III – 所有者とグループに基づいてファイルを検索する
所有者とグループに基づいてファイルを検索する find コマンドの例をいくつか示します。
22. ユーザーに基づいて単一ファイルを検索
所有者のルートの / ルート ディレクトリで tecmint.txt という名前のすべてまたは単一のファイルを検索します。
find / -user root -name tecmint.txt
23. ユーザーに基づいてすべてのファイルを検索
ユーザー Tecmint に属するすべてのファイルを /home ディレクトリで検索します。
find /home -user tecmint
24. グループに基づいてすべてのファイルを検索
/home ディレクトリの下で Developer グループに属するすべてのファイルを検索します。
find /home -group developer
25. ユーザーの特定のファイルを検索する
ユーザー Tecmint のすべての .txt ファイルを /home ディレクトリで検索します。
find /home -user tecmint -iname "*.txt"
パート IV – 日付と時刻に基づいてファイルとディレクトリを検索する
以下に、日付と時刻に基づいてファイルとディレクトリを検索する find コマンドの例をいくつか示します。
26. 過去 50 日間に変更されたファイルを検索する
50 日前に変更されたすべてのファイルを検索します。
find / -mtime 50
27. 過去 50 日間にアクセスされたファイルを検索する
50 日前にアクセスされたすべてのファイルを検索します。
find / -atime 50
28. 過去 50 ~ 100 日間に変更されたファイルを検索する
50 日以上前から 100 日以内に変更されたすべてのファイルを検索します。
find / -mtime +50 –mtime -100
29. 過去 1 時間に変更されたファイルを見つける
過去1 時間以内に変更されたすべてのファイルを検索します。
find / -cmin -60
30. 過去 1 時間に変更されたファイルを見つける
過去1 時間以内に変更されたすべてのファイルを検索します。
find / -mmin -60
31. 過去 1 時間にアクセスされたファイルを検索する
過去1 時間にアクセスされたすべてのファイルを検索します。
find / -amin -60
パート V – サイズに基づいてファイルとディレクトリを検索する
サイズに基づいてファイルとディレクトリを見つけるための find コマンドの例をいくつか示します。
32. 50MBのファイルを探す
すべての50MB ファイルを検索するには、を使用します。
find / -size 50M
33. 50MB ~ 100MB の間のサイズを見つける
50MB を超え 100MB 未満のファイルをすべて検索します。
find / -size +50M -size -100M
34. 100MB ファイルの検索と削除
すべての 100MB ファイルを検索し、1 つのコマンドを使用して削除します。
find / -type f -size +100M -exec rm -f {} \;
35. 特定のファイルを検索して削除する
10 MB を超えるすべての .mp3 ファイルを検索し、1 つのコマンドを使用して削除します。
find / -type f -name *.mp3 -size +10M -exec rm {} \;
以上です。この投稿はここで終了します。次の記事では、他の Linux コマンドについて実際の例を示しながら詳しく説明します。コメントセクションを使用して、この記事に関するご意見をお聞かせください。