find命令用法及示例

find命令是Linux中用于查找文件的强大工具,可以根据文件名、类型、大小、时间等多种条件进行搜索。本文详细介绍了find命令的用法,包括根据名称、文件类型和大小查找,特殊查找方法如最大深度和最小深度限制,查找两个文件的存在,排除指定目录,多个条件的并集查找,以及如何复制找到的文件,并按时间条件进行查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux命令:find

find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、时间、inode 号等来搜索文件。但是 find 命令是直接在硬盘中进行搜索的,但如果指定的搜索范围过大,find命令就会消耗较大的系统资源,导致服务器压力过大,所以,在使用 find 命令搜索时,不要指定过大的搜索范围。
语法格式:
find 路径(查找范围) 查找数据条件(参数)

1、根据名称查找
[root@yu zy]# find /zy/ -name z1.txt 
/zy/z1/z1.txt
/zy/z2/z1.txt
/zy/z3/z1.txt
/zy/z1.txt
2、根据文件类型
[root@yu zy]# find /zy/ -type f
/zy/z1/z1.txt
/zy/z1/z2.txt
/zy/z1/z3.txt
3、根据文件大小
[root@yu zy]# find /zy/ -size -5
/zy/
/zy/z1
/zy/z1/z1.txt
/zy/z1/z2.txt
/zy/z1/z3.txt
4、特殊查找数据方法:

-maxdepth: 查找数据层级最深深度
-mindepth: 查找数据层级最浅深度

[root@yu zy]# find /zy/ -maxdepth 1 -name "z1.txt"
/zy/z1.txt
5、 如何查找两个文件是否存在
[root@yu zy]# find /zy/ -name 'z1.txt' -o -name 'z2.txt'
/zy/z1/z1.txt
/zy/z1/z2.txt
6、在查找排除
[root@yu zy]# find /zy/ -name '*.txt' ! -name 'z2.txt'
/zy/z1/z1.txt
/zy/z1/z3.txt
[root@yu zy]# find /zy/ -name '*.txt' -not -name 'z2.txt'
/zy/z1/z1.txt
/zy/z1/z3.txt
7、查找多个条件是并且关系
[root@yu zy]# find /zy/ -name 'z1*' -a -name '*.txt'
/zy/z1/z1.txt
/zy/z2/z1.txt
/zy/z3/z1.txt
/zy/z1.txt
8、 排除指定目录不进行查找
[root@yu zy]# find /zy/ -path /zy/z2 -prune -o -name '*.txt' -print
/zy/z1/z1.txt
/zy/z1/z2.txt
/zy/z1/z3.txt
/zy/z3/z1.txt
/zy/z3/z2.txt
/zy/z3/z3.txt
9、如何将找出的数据进行复制

方法1、利用管道

[root@yu zy]# find /yu/ -name '*.txt'|xargs cp -t /zy/
[root@yu zy]# ls
z1  z1.txt  z2  z2.txt  z3  z3.txt
[root@yu zy]# mv z1.txt z2.txt z3.txt   /yu/
[root@yu zy]# ls
z1  z2  z3
[root@yu yu]# find /yu/ -name '*.txt'|xargs -i cp {} /zy/
[root@yu yu]# cd /zy
[root@yu zy]# ls
z1  z1.txt  z2  z2.txt  z3  z3.txt

方法2、利用exec参数

[root@yu zy]# find /yu/ -name '*.txt' -exec cp {} /zy/ \;
[root@yu zy]# ls
z1  z1.txt  z2  z2.txt  z3  z3.txt
10、按时间条件查找

一天以前 / 之内:+1 / -1
等于一天:1

[root@yu zy]# find /yu/ -name '*.txt' -mtime -1
/yu/z1.txt
/yu/z2.txt
/yu/z3.txt

-mmin: 按照分钟查找数据信息

比较重要表达式
在这里插入图片描述
扩展操作
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值