c | ファイルタイプ |
---|---|
b | ブロック型デバイスファイル |
c | キャラクタ型デバイスファイル |
d | ディレクトリ |
p | 名前付きパイプ(FIFO) |
f | 一般のファイル |
l | シンボリックリンク |
s | ソケット |
$ find . -name 'name*' -print work/textdir/name.lis1 work/textdir/name.lis2 work/textdir/name.data2. カレントディレクトリから、修正日付をもとにファイルを検索
# テストデータ $ date Mon Oct 8 19:37:57 JST 2007 # 今日の日付 2007/10/08 $ ls -lt total 0 -rw-r--r-- 1 ycos users 0 Oct 9 2007 data1009 -rw-r--r-- 1 ycos users 0 Oct 8 00:00 data1008 -rw-r--r-- 1 ycos users 0 Oct 7 00:00 data1007 -rw-r--r-- 1 ycos users 0 Oct 6 00:00 data1006 -rw-r--r-- 1 ycos users 0 Oct 5 00:00 data1005 -rw-r--r-- 1 ycos users 0 Oct 4 00:00 data1004 -rw-r--r-- 1 ycos users 0 Oct 3 00:00 data1003 -rw-r--r-- 1 ycos users 0 Oct 2 00:00 data1002 -rw-r--r-- 1 ycos users 0 Oct 1 00:00 data1001 # 一昨日以前に修正されたファイルを検索 $ find . -mtime +2 -type f -print ./data1001 ./data1002 ./data1003 ./data1004 ./data1005 # 4日前以降に修正されたファイルを検索 $ find . -mtime -4 -type f -print ./data1005 ./data1006 ./data1007 ./data1008 ./data10093. ファイル属性(参照可能、書き込み可能など)を指定したファイル検索
# その他に読込権(004)がついているファイルの検出 $ find /var/log -type f -perm +4 -print 2>/dev/null | head -5 /var/log/news/news.err /var/log/news/news.crit /var/log/news/news.notice /var/log/dmesg /var/log/Xorg.0.log $ ls -l /var/log/news/news.err -rw-rw-r-- 1 news news 0 Apr 19 2005 /var/log/news/news.err $ find / -type d -perm +2 -print 2>/dev/null | head -5 /var/lib/texmf /var/lock/xemacs /var/spool/samba /var/spool/vbox /var/tmp $ ls -ld /var/lib/texmf drwxrwxrwt 2 root root 4096 Aug 2 08:06 /var/lib/texmf $ find /usr/sbin -type f -perm 750 -print | head -3 /usr/sbin/useradd /usr/sbin/userdel /usr/sbin/amrecover $ ls -l /usr/sbin/useradd -rwxr-x--- 1 root root 61776 Oct 16 2006 /usr/sbin/useradd4. カレント・ディレクトリから下のディレクトリで、ファイル名が .lis で終わるものと a.out のうち 3 日前以前に修正したファイルを、対話形式で削除する。
$ find . \( -name a.out -o -name "*.lis" \) -mtime -3 -ok rm {} \; rm ./test.lis (yes) y rm ./a.out (yes) rm ./a.lis (yes)上の例で、カッコ '()' はオプションの結合を行うために用います。 カッコ '()' 特殊文字としての機能を打ち消すバック・スラッシュ(\) を付加する必要があります。
5. 階層の指定 -maxdepth オプションで検索するディレクトリ階層の深さを指定できます。
$ fine . -maxdepth 1 -name "*.bak" ./Body241.html.bak ./Body244.html.bak -maxdepth オプションは他のオプションよりも先に指定する必要があります。