第一章 find命令含义
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
第二章 常用参数总结
参数 | 参数详解 |
---|---|
f | 普通文件 |
d | 目录 |
-type | 查找某一类型的文件 |
-name | 文件/目录名称 |
-iname | 忽略大小写 |
-size | 大小 |
-mtime | 修改时间 |
-atime | 访问时间(以小时为单位) |
-amin | 指定时间存取过的文件/目录 以分钟为单位 |
-maxdepth | 最大目录深度 |
-mindepth | 最小目录深度 |
-inum | 查询inode号 |
-user | 按照文件属主 |
-group | 按照文件属组 |
-perm | 文件权限 |
-delete | 删除当前匹配的文件 |
-empty | 文件大小为0或空目录 |
! | 取反/否定 |
1. 【f】
find . -type f
2. 【d】
find . -type d
3. 【-type】
find . -type f
4. 【-name】
[root@nfs01 etc]# find /etc/ -type d -name "ansible"
/etc/ansible
5. 【-iname】
[root@nfs01 etc]# ll |grep NetworkManager
drwxr-xr-x. 3 root root 4096 May 12 2016 NetworkManager
[root@nfs01 etc]# find . -type d -iname "networkManager"
./NetworkManager
6. 【-size】
这里写代码片
7. 【-mtime】
[root@nfs01 tmp]# find . -type f -mtime +3
[root@nfs01 tmp]# ll ./md5sum_2017-05-11_week4.txt
8. 【-atime】
[root@nfs01 tmp]# find . -type f -atime +2
./md5sum_2017-05-11_week4.txt
9. 【-amin】
[root@nfs01 tmp]# find . -type f -amin +10
./network01
./md5sum_2017-05-11_week4.txt
./hosts01
10. 【-maxdepth】
find . -maxdepth 3 -type f
11. 【-mindepth】
find . -mindepth 2 -type f
12. 【-inum】
[root@nfs01 tmp]# find -inum 145516|xargs ls -l
-rw------- 1 oldboy root 318 May 15 11:59 ./hosts01
[root@nfs01 tmp]# ll -i hosts01
145516 -rw------- 1 oldboy root 318 May 15 11:59 hosts01
13. 【-user】
[root@nfs01 tmp]# ll
total 12
lrwxrwxrwx 1 root root 10 May 15 18:59 hosts -> /etc/hosts
-rw------- 1 oldboy root 318 May 15 11:59 hosts01
-rw-r--r-- 1 root root 255 May 11 20:04 md5sum_2017-05-11_week4.txt
-rwx------ 1 oldboy root 28 May 15 11:52 network01
[root@nfs01 tmp]# find . -type f -user "oldboy"
./network01
./hosts01
14. 【-group】
[root@nfs01 tmp]# ll
total 12
lrwxrwxrwx 1 root root 10 May 15 18:59 hosts -> /etc/hosts
-rw------- 1 oldboy oldboy 318 May 15 11:59 hosts01
-rw-r--r-- 1 root root 255 May 11 20:04 md5sum_2017-05-11_week4.txt
-rwx------ 1 oldboy root 28 May 15 11:52 network01
[root@nfs01 tmp]# find . -type f -group "oldboy"
./hosts01
15. 【-perm】
find . -type f -perm 777
16. 【-delete】
find . -type f -name "*.txt" -delete
17. 【-empty】
[root@nfs01 log]# find / -type f -empty
18. 【!】
[root@Never-downtime oldboy]# find /oldboy ! -type d
第三章 搭配使用
【|】
[root@Never-downtime oldboy]# find /oldboy/ -type f -name "*txt" | egrep oldboy
【-exec】
[root@Never-downtime oldboy]# find /oldboy/ -type f -name "*.txt" -exec tar cf /data/stu.tar.gz {} \;
【xargs】
[root@Never-downtime oldboy]# find /oldboy/ -type f -name "*.txt" | xargs -i tar cf /data/stu.tar.gz {}
【$()】
[root@Never-downtime oldboy]# tar cf /data/stu.tar.gz $(find /oldboy/ -type f -name "*.txt" )
【“】
[root@Never-downtime oldboy]# tar cf /data/stu.tar.gz `find /oldboy/ -type f -name "*.txt" `