Liunx find命令详解

find命令在日常使用中也比较常见,由于参数比较多,因此单独记录一下。如果感觉有帮助麻烦点点关注,谢谢喵。


  • find 命令格式

find [文件路径] [条件]

  • 常用条件

-type(d,f,l) 类型(目录,文件,链接文件)
-name 名字
-size 大小
-user 所有者
-mtime 修改时间

01 类型查找 type

常用类型有三种目录(directory)、文件(file)和链接文件(link)。他们的关键字也十分好理解,都是小写首字母。

  • 示例
aa@mc:~$ find /bin -type l 

# wc -l 统计输出行数
# 由于aa不是root用户所以会有一些系统文件不能访问
aa@mc:~$ find /etc -type d | wc -l
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/ssl/private’: Permission denied
find: ‘/etc/multipath’: Permission denied
248

/bin

02 名称查找 name

使用名称查询时,名称需要用引号括起来。虽然实际操作中,没有引号也可以工作,但官方文档还是建议用引号括起来。

名称查找可以使用正则匹配,下面介绍了三个比较常用的正则匹配元素:

* 匹配多个任意字符
? 匹配单个任意字符
[a-z] 匹配a-z连续字符中的一个
{aa, cs, python} 匹配集合中的一个

  • 示例
aa@mc:~$ find /etc -name "*[0-9].conf" | wc -l
4

03 按文件大小查询

+代表大于,-代表小于
严格区分大小写(G,M,k),注意是小写k
如果不写+/- 代表刚好

  • 示例
aa@mc:~$ find ~ -size +500M -size -10G
/home/aa/Anaconda3-2023.09-0-Linux-x86_64.sh

04 按所有者查询

查找所有者为user的文件

  • 示例
aa@mc:~$ find / -user aa

05 按修改时间查询

-90 表示过去三个月内
+90 表示过去三个月以外

  • 示例
aa@mc:~$ find /usr -mtime +90

06 find 高级使用

在使用 find 找到文件或文件夹后,我们想拷贝或者删除这些满足条件的文件,但liunx中,管道并不支持复制(cp)命令,但这又是一个很强烈的需求,于是find自身提供了 exec 配合其他命令使用。

  • 示例
# find [文件路径] [条件1] -exec [命令] \; 其中 {} 代表查询结果
aa@mc:~$ find /usr -mtime +90 -exec cp {} /mnt \; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

误伤这又何妨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值