ブログ

ファイルやディレクトリを検索する方法

at_shiita.ishigaki
2021年12月8日 8時41分

ファイルやディレクトリを検索するにはfindコマンドを使用します。ファイルのみを検索する場合は-type f オプションを使用します。また、ディレクトリのみを検索するには-type dオプションを使用します。

[armadillo ~]# mkdir mydir
[armadillo ~]# touch myfile
[armadillo ~]# find . -type f
./.bash_history
./myfile
./.lesshst
./.bashrc
./.profile
[armadillo ~]# find . -type d
.
./mydir
./.gnupg
./.gnupg/private-keys-v1.d

出力をls -dilsコマンドと同じ形式にするには-lsオプションを使用します。

[armadillo ~]# find . -type f -ls
    11512      4 -rw-------   1 root     root         3071 Dec  2  2021 ./.bash_history
    11522      0 -rw-r--r--   1 root     root            0 Dec  2 09:54 ./myfile
    11526      4 -rw-------   1 root     root           32 Dec  2 08:47 ./.lesshst
      785      4 -rw-r--r--   1 root     root          570 Jan 31  2010 ./.bashrc
      784      4 -rw-r--r--   1 root     root          148 Aug 18  2015 ./.profile

名前で検索する場合は-nameオプションを使用します。
※ここでは例として、ファイル名に"my"が含まれるものを探します。

[armadillo ~]# find . -name "*my*"
./mydir
./myfile

名前が一致しないものを探すには、-nameオプションに"!"を付けます。
※ここでは例として、ファイル名に"my"が含まれないものを探します。

[armadillo ~]# find . ! -name "*my*"
.
./.gnupg
./.gnupg/private-keys-v1.d
./.bash_history
./.lesshst
./.bashrc
./.profile