Shell中find命令查找指定文件或目录
find命令查找指定文件或目录
- 描述
搜索文件或目录
- 用法
find [命令选项] [路径] [表达式选项]1
- 选项
选项 | 用法 |
---|---|
-empty | 查找空白文件或目录 |
-group | 按组查找 |
-name | 按文档名称查找 |
-iname | 按文档名称查找,且不区分大小写 |
-mtime | 按修改时间查找 |
-size | 按容量大小查找 |
-type | 按文档类型查找,文件(f)、目录(d)、设备(b,c)、链接(l)等 |
-user | 按用户查找 |
-exec | 对找到的档案执行特定的命令 |
-a | 并且 |
-o | 或者 |
- 举例
查找当前目录下名称为hello.txt的文档
[root@test ~]# find -name hello.txt
查找/root 目录下所有名称以.log结尾的文件
[root@test ~]# find /var/log/ -name "*.log"
不区分大小写查找文件 test
[root@test ~]# find -iname "test"
查找系统中所有的空白文件
[root@test ~]# find / -empty
查找系统中所属组为tom的文件
[root@test ~]# find / -group tom
查找系统中所有3天内被修改过的文件
[root@test ~]# find / -mtime -3
查找系统中所有4天前被修改过的文件
[root@test ~]# find / -mtime +4
查找系统中2天前的当天被修改过的文件
[root@test ~]# find / -mtime 2
查找当前目录下大于10MB的文件
[root@test ~]# find ./ -size +10M
查找当前目录下的所有普通文件
[root@test ~]# find ./ -type f
查找计算中tom所拥有的所有文件
[root@test ~]# find / -user tom
查找当前目录下大于1MB的文件后列出文件的详细信息
[root@test ~]# find ./ -size +1M -exec ls -l {} \;
查找计算机中所有大于1MB的文件
[root@test ~]# find / -size +1M -a -type f
shell之find命令详解
find命令原理:从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件,并可以对其进行相关的操作。
- 格式:find [查找目录] [参数] [匹配模型]
- 多参数格式:find [查找目录] [参数] [匹配模型] [参数] [匹配模型]
例如:
- find . -name "*.sh" 查找在当前目录(及子目录)下找以sh结尾的文件**。**
- find . -perm 755 查找在当前目录(及子目录)下找属性为755的文件**。**
- find -user root 查找在当前目录(及子目录)下找属主为root的文件**。**
- find /var -mtime -5 查找在/var下找更改时间在5天以内的文件**。**
- find /var -mtime +3 查找在/var下找更改时间在3天以前的文件**。**
- find /etc -type l 查找在/etc下查找文件类型为|的链接文件。
- find . -size +1000000c
查找在当前目录(及子目录)下查找文件大小大于1M的文件**,1M是1000000个字节。** - find . -perm 700 |xargs chmod 777
查找出当前目录(及子目录)下所有权限为700的文件,并把其权限重设为777。 - find . -type f |xargs ls -l
查找出文件并查看其详细信息。
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2020/09/09 03:40