find 命令场境

1.查找/root/kang目录下的所有文件
find /root/kang -type f
[root@localhost kang]# find /root/kang/ -type f
/root/kang/kang.txt
/root/kang/test.txt

2.查找/root/kang目录下所有文件夹
[root@localhost kang]# find /root/kang/ -type d
/root/kang/
/root/kang/nginx

3.查找/root/kang目录下,文件名为'kang.txt'的文件
[root@localhost kang]# find /root/kang/ -type f -name "kang.txt"
/root/kang/kang.txt

4.查找/root/kang目录下为文件名为test.txt的文件,直接删除
[root@localhost kang]# ll
total 8
kang.txt nginx test.txt
[root@localhost kang]# find /root/kang/ -type f -name "test.txt" -exec rm {} \;
[root@localhost kang]# ls
kang.txt  nginx

备注:另外一种删除方法:
find /root/kang/ -type f |xargs rm -rf
xargs是一个命令,等于find找到的文件打成一行,将赋给rm -rf 后面执行
即:
[root@localhost kang]# find /root/kang/ -type f|xargs
/root/kang/kang.txt /root/kang/test.txt

5.查找大于7天的文件,并删除
find /backup/exp_backup/ -name "*.dmp" -mtime +7 -exec rm -rf {} \;
或者:
find /backup/exp_backup/ -name "*.dmp" -mtime +7 |xargs rm -rf

6.mtime 解释
+7:7天以前的数据
7:第7天的数据
-7:最近7天的数据

7."!"叹号内容取返
find /root/kang -type f ! -name "test.txt"      #找出/root/kang目录下不是text.txt的文件

8.查找100M的文件
[root@localhost ~]# find . -type f -size +100M
./jdk-8u121-linux-x64.tar.gz

[root@localhost ~]# find . -type f -size +50M  -size -100M |xargs ls -lh      查找大于50M小于100M的文件
-rwx------  1 root root 86M Mar 20  2017 ./logstash-1.5.5.tar.gz
-rw-r--r--  1 root root 80M Mar 27  2017 ./logstash-2.4.0.tar.gz
-rwxr-xr-x  1 root root 90M Mar 21  2017 ./logstash-5.2.2.tar.gz
-r--r--r--. 1 root root 69M Oct 17  2016 ./VMwareTools-10.0.0-3000743.tar.gz

9.查找当前目录下(不包括二级目录),所有以test开头的文件
[root@localhost ~]# find . -maxdepth 1 -type f -name 'test.*'
./test.txtn
./test.txt
./test.log.bak
./test.log
./test.py

[root@localhost ~]# find . -maxdepth 1 -type f -name 'test.*' | xargs head -1 | grep -v '^==>' | grep -v '^$'>> kang.txt         
#将找到的以test开头的文件,第一行的内容输出到kang.txt上
[root@localhost ~]# cat kang.txt 

102,zhangyao,CTO

101,kang,CEO

2017/3/20  17:19:33 FAIL QUEUE [email protected] {[email protected]}

def

print('--------I love fish-------')
[root@localhost ~]#