サンプル集 |
Linuxコマンド | ||||||||||||||||||||||||||||
|
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
find コマンドの使用例です。 find コマンドはいろいろな条件でファイルを検索することができるため非常に便利です。
◆環境OS | Linux 2.6.9-22.EL |
---|
find のバージョンの確認
find のバージョンを確認します。
$ find --version
GNU find version 4.1.20
GNU find version 4.1.20
ファイル名を指定して検索
ファイル名が「.c」で終わるファイルを検索します。
$ find -name "*.c"
./LC090/LC090_main.c
./LC091/LC091_main.c
./LC092/LC092_main.c
./LC093/LC090_main.c
./LC094/LC040.c
./LC095/LC095_main.c
./LC096/LC096_main.c
./LC097/LC097_main.c
./LC098/LC048.c
./LC099/LC099.c
./LC0991/LC099.c
./LC090/LC090_main.c
./LC091/LC091_main.c
./LC092/LC092_main.c
./LC093/LC090_main.c
./LC094/LC040.c
./LC095/LC095_main.c
./LC096/LC096_main.c
./LC097/LC097_main.c
./LC098/LC048.c
./LC099/LC099.c
./LC0991/LC099.c
時間を指定して検索
1日前から今までに修正されたファイルを検索します。
$ find -mtime -1 -ls
4030963 4 drwxr-xr-x 4 ymusr ymmusr 4096 6月 3 16:38
./tool
4032172 4 -rwxr--r-- 1 ymusr ymmusr 651 6月 3 16:38
./tool/unchk.sh
3949315 4 -rw-r--r-- 1 ymusr ymmusr 604 6月 3 16:37
./tool/unchk.log.20060603
4030963 4 drwxr-xr-x 4 ymusr ymmusr 4096 6月 3 16:38
./tool
4032172 4 -rwxr--r-- 1 ymusr ymmusr 651 6月 3 16:38
./tool/unchk.sh
3949315 4 -rw-r--r-- 1 ymusr ymmusr 604 6月 3 16:37
./tool/unchk.log.20060603
9分前から今までに修正されたファイルを検索します。
$ find -mmin -9 -ls
4030963 4 drwxr-xr-x 4 ymusr ymmusr 4096 6月 3 16:38
./tool
4032172 4 -rwxr--r-- 1 ymusr ymmusr 651 6月 3 16:38
./tool/unchk.sh
$ find -mmin -10 -ls
4030963 4 drwxr-xr-x 4 ymusr ymmusr 4096 6月 3 16:38
./tool
4032172 4 -rwxr--r-- 1 ymusr ymmusr 651 6月 3 16:38
./tool/unchk.sh
3949315 4 -rw-r--r-- 1 ymusr ymmusr 604 6月 3 16:37
./tool/unchk.log.20060603
4030963 4 drwxr-xr-x 4 ymusr ymmusr 4096 6月 3 16:38
./tool
4032172 4 -rwxr--r-- 1 ymusr ymmusr 651 6月 3 16:38
./tool/unchk.sh
$ find -mmin -10 -ls
4030963 4 drwxr-xr-x 4 ymusr ymmusr 4096 6月 3 16:38
./tool
4032172 4 -rwxr--r-- 1 ymusr ymmusr 651 6月 3 16:38
./tool/unchk.sh
3949315 4 -rw-r--r-- 1 ymusr ymmusr 604 6月 3 16:37
./tool/unchk.log.20060603
「許可がありません」を表示しないで検索
検索パスにアクセス権が無いフォルダがあると「許可がありません」がいっぱい出ますが、これを表示しないようにします。
$ (find / -name "httpd.conf" -print >/dev/tty) >& /dev/null
/etc/samba/temp/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf
/etc/samba/temp/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf
2012/10/03 追記
◆環境OS | CentOS Linux version 2.6.18-308.13.1.el5 |
---|
find のバージョンの確認
find のバージョンを確認します。
# find --version
GNU find version 4.2.27
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION SELINUX
GNU find version 4.2.27
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION SELINUX
指定した文字列を含むファイルを検索する(findとgrepの合わせ技)
ファイル名が「.conf」で終わるファイルを検索し、「exten」が含まれている行を表示します。
# find /etc -name "*.conf" | xargs grep "exten"
/etc/asterisk/res_ldap.conf:; extensions = ldap
/etc/asterisk/res_ldap.conf:[extensions]
:
/etc/asterisk/res_ldap.conf:; extensions = ldap
/etc/asterisk/res_ldap.conf:[extensions]
:
grepは対象ファイルが複数ある場合、先頭にファイル名を表示しますが対象ファイルが1つしかない場合はファイル名を表示しません。
# find /etc/asterisk/res_ldap.conf -name "*.conf" | xargs grep "exten"
; extensions = ldap
[extensions]
:
; extensions = ldap
[extensions]
:
ファイル名が表示されないと不便です。 grepの引数に/dev/nullを指定すると、検索結果のファイルが1つでも、引数は/dev/nullを入れて2つになるのでファイル名が表示されるようになります。
# find /etc/asterisk/res_ldap.conf -name "*.conf" | xargs grep "exten"
/dev/null
/etc/asterisk/res_ldap.conf:; extensions = ldap
/etc/asterisk/res_ldap.conf:[extensions]
:
/dev/null
/etc/asterisk/res_ldap.conf:; extensions = ldap
/etc/asterisk/res_ldap.conf:[extensions]
:
grepの引数に-nを追加するとファイル内の行番号が表示されます。
# find /etc/asterisk/res_ldap.conf -name "*.conf" | xargs grep "exten"
/dev/null -n
/etc/asterisk/res_ldap.conf:9:; extensions = ldap
/etc/asterisk/res_ldap.conf:47:[extensions]
:
/dev/null -n
/etc/asterisk/res_ldap.conf:9:; extensions = ldap
/etc/asterisk/res_ldap.conf:47:[extensions]
:
Copyright (C) 2012 ymlib.com