Bash でファイルを再帰的に検索する
Naila Saad Siddiqui
2024年2月15日
この記事は、Bash の find
コマンドに関するものです。 この記事では、Bash で find
コマンドを使用して特定の種類のファイルを見つける方法について説明します。
find
コマンドを使用して Bash でファイルを再帰的に検索する
ファイル階層をナビゲートするためのコマンドライン ツールは、Linux の find
コマンドです。 フォルダやファイルを検索および監視するために使用される場合があります。
ファイルとフォルダーの名前、作成日、変更日、所有者、およびアクセス許可で検索できます。
次の構文があります。
$ find [directory where to start searching] [-options] [name of file]
オプションには次の属性があります。
シニア番号 | オプション | 目的 |
---|---|---|
1 | -links N |
いくつかの番号を持つファイルを検索します。 指定されたリンクの。 |
2 | -name |
指定された名前またはパターンでファイルを検索します。 |
3 | -新しい [ファイル名] |
ファイル名の後に作成されたファイルを検索します。 |
4 | -perm |
特定の権限を持つすべてのファイルを検索します。 |
5 | -print |
ファイルの完全なパス名を検索して表示するために使用されます。 |
6 | -empty |
空のファイルまたはディレクトリを検索します。 |
7 | -size +N/-N |
特定のサイズのファイルを検索するために使用されます。 N が +N として使用されている場合、N より大きいサイズのファイルを意味します。 -N として使用すると、N より小さいサイズのファイルを意味します。 |
8 | -user |
指定された所有者名を持つファイルを検索します。 |
find
コマンドの特定の例を見てみましょう。
ファイル名で検索
$ find ./mydir -name myfile.txt
このコマンドは、ディレクトリ mydir
でファイル名 myfile.txt
を検索します。
出力:
パターンで検索
$ find ./mydir -name "*.jpeg"
このコマンドは、.jpeg
拡張子を持つすべてのファイルについてディレクトリ mydir
を検索します。
出力:
アクセス許可のあるファイルを検索する
$ find ./mydir -perm 777
このコマンドは、ディレクトリ mydir
を検索して、777
パーミッションを持つすべてのファイルを探します。
出力:
複数の名前またはパターンを持つファイルを検索する
.txt
や .jpg
拡張子を持つファイルを検索する必要がある場合など、複数のパターンでファイルを検索する必要がある場合があります。
$ find . -name '*.txt' -o -name '*.jpg'
このような状況では、-name
オプションを複数回使用できます。
出力:
空のファイルを検索
$ find mydir -empty
このコマンドは、mydir
内の空のファイルまたはディレクトリを検索します。
出力: