find コマンドでファイルを検索

find コマンドでファイルを検索

cd /etc/
sudo find . -type f | head -n 4

を実行すると、結果は


./printcap
./networks
./hosts
./securetty

となる

head コマンドは
ファイルの先頭部分を表示するコマンド

詳しくは
【 head 】 ファイルの先頭部分を表示する

を参考に

-nオプションをつければ出力する数を制限できる

今回なら -n 4なので先頭4行
つまり、 find コマンドの結果から
先頭4行表示している

find コマンドについては
【 find 】 ファイルやディレクトリを検索する

に解説が載っているのでこちらも参考に

今回の

find . -type f

は現在のディレクトリからファイルを出力
という意味

. は現在のディレクトリという意味

-type f
はファイルのみ出力
という判定にしている

これを利用して特定の拡張子のファイルを探すこともできる

例えば設定ファイルの
.conf 拡張子ファイルを探すのなら
find の結果をパイプで grep に渡すことでできる
ちなみにそのままだとおおいので
head コマンドで10個まで表示にしている

sudo find /etc/ -type f | grep '\.conf$' |  head

結果は


/etc/sysctl.conf
/etc/libaudit.conf
/etc/depmod.d/dist.conf
/etc/ld.so.conf
/etc/lvm/lvm.conf
/etc/modprobe.d/dist-alsa.conf
/etc/modprobe.d/blacklist.conf
/etc/modprobe.d/anaconda.conf
/etc/modprobe.d/dist-oss.conf
/etc/modprobe.d/dist.conf

$は正規表現で行末という意味

\.としているのは . だと正規表現扱いになるため
今回の conf の部分を php とかに変えれば
特定のソースコードを探すときに使える

なので、もしPHP ファイルを探すなら
| grep ‘\.php$’
となっていた

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です