find的功能如此之多,让我们继续上篇的示例
2.1 忽略大小写的查找 -iname
[root@test test]# find . -name f1
./catTest/f1
./findTest/f1
./nlTest/f1
./moreTest/f1
[root@test test]# find . -iname f1
./catTest/f1
./findTest/F1
./findTest/f1
./nlTest/f1
./moreTest/f1
2.2 指定最大搜索层级 -maxdepth N
[root@test test]# find -maxdepth 2 -iname f1
./catTest/f1
./findTest/F1
./findTest/f1
./nlTest/f1
./moreTest/f1
[root@test test]# find -maxdepth 1 -iname f1
[root@test test]# find -maxdepth 3 -iname f1
./catTest/f1
./findTest/F1
./findTest/f1
./findTest/2rd/F1
./findTest/2rd/f1
./nlTest/f1
./moreTest/f1
2.3 指定最小搜索层级 -mindepth N
[root@test test]# find -mindepth 2 -iname f1
./catTest/f1
./findTest/F1
./findTest/f1
./findTest/2rd/F1
./findTest/2rd/3rd/f1
./findTest/2rd/f1
./nlTest/f1
./moreTest/f1
[root@test test]# find -mindepth 2 -maxdepth 3 -iname f1
./catTest/f1
./findTest/F1
./findTest/f1
./findTest/2rd/F1
./findTest/2rd/f1
./nlTest/f1
./moreTest/f1
[root@test test]# find -mindepth 2 -maxdepth 4 -iname f1
./catTest/f1
./findTest/F1
./findTest/f1
./findTest/2rd/F1
./findTest/2rd/3rd/f1
./findTest/2rd/f1
./nlTest/f1
./moreTest/f1
2.4 根据文件的inode编号查找 -inum
[root@test findTest]# ls -i
265931 2rd 265924 f1 265928 F1 265925 f2 265929 F2 265926 f3 265930 F3 265927 f4
[root@test findTest]# cd ..
[root@test test]# find . -inum 265928
./findTest/F1
2.5 根据文件权限查找文件 -perm
[root@test findTest]# ls -vls
total 20
4 drwxr-xr-x 3 root root 4096 Apr 22 20:10 2rd
4 -rw-r--r-- 1 root root 3 Apr 22 20:03 F1
4 -rw-r--r-- 1 root root 3 Apr 22 20:03 F2
0 -rw-r--r-- 1 root root 0 Apr 22 20:03 F3
4 -rwxrwxrwx 1 root root 3 Jan 1 11:12 f1
4 -rwxrw--wx 1 root root 3 Apr 22 16:44 f2
0 -rw-r--r-- 1 root root 0 Apr 22 16:43 f3
0 -rw-r--r-- 1 root root 0 Apr 22 18:47 f4
[root@test findTest]# find . -perm 777
./f1
[root@test findTest]# find . -perm 763
./f2
[root@test findTest]# find . -perm -u=x
.
./f2
./f1
./2rd
./2rd/3rd
[root@test findTest]# find . -perm -g=x
.
./f1
./2rd
./2rd/3rd
[root@test findTest]# find . -perm -o=x
.
./f2
./f1
./2rd
./2rd/3rd
2.6 找出所有空文件 -empty
[root@test findTest]# find . -maxdepth 1 -empty
./f3
./f4
./F3
[root@test findTest]# find . -maxdepth 1 ! -empty
.
./F1
./F2
./f2
./f1
./2rd
[root@test findTest]# cat ./f3
[root@test findTest]# cat ./f1
f1
2.7 找到最大的5个文件
[root@test test]# find . -type f -exec ls -s {} \; | sort -n -r | head -5
24752 ./headTest/ping.log
8 ./moreTest/Kconfig
8 ./lessTest/Kconfig
4 ./nlTest/f1
4 ./lessTest/history.log
``
2.8 找出最小的5个文件
```sh
[root@test test]# find . -type f -exec ls -s {} \; | sort -n | head -5
0 ./findTest/2rd/f3
0 ./findTest/2rd/F3
0 ./findTest/2rd/f4
0 ./findTest/f3
0 ./findTest/F3
2.9 查找所有目录
[root@test test]# find . -type d
.
./catTest
./findTest
./findTest/2rd
./findTest/2rd/3rd
./nlTest
./lessTest
./headTest
./moreTest
2.10 查找所有隐藏文件和目录
[root@test test]# find . -type f -name '.*'
[root@test test]# find . -type d -name '.*'
.
2.11 为常用的操作取别名
[root@test test]# alias top5="find . -type f -exec ls -s {} \; | sort -n -r | head -5;"
[root@test test]# top5
24800 ./headTest/ping.log
8 ./moreTest/Kconfig
8 ./lessTest/Kconfig
4 ./nlTest/f1
4 ./lessTest/history.log