shell find用法

本文详细介绍了Linux中find命令的使用,包括按文件名、正则表达式、目录深度、文件类型、时间戳、用户和组、空文件、权限和大小进行搜索。同时,展示了如何对查找结果进行操作,如复制文件。这些技巧对于日常系统管理和文件查找至关重要。

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

find 不加任何参数,会列出当前目录下所有文件,以相对路径的方式列出 

1.根据文件名or 正则表达式进行搜索

1)常规用法

find  /home/user -name "*.txt"

2)忽略大小写

find  /home/user/ -iname "test.txt"

3)匹配多个条件中的一个

find  /home/user \(-name "*.txt" -o -name "*.jpg" \)

4)匹配文件路径

find /home/user/ -path "*/quality/*"

or

find /home/user/ -regex ".*\(\.py\|\.sh)$)"

备注:iregex可以使正则表达式忽略大小写

  

2.否定参数!

1)常规用法

find  /home/user ! -name "*.txt"

3.基于目录深度的搜索

1)常规用法

find  /home/user  -maxdepth 2 -mindepth 1 -name "*.txt"

4.基于文件类型搜索

文件类型

参数类型

普通文件f
符号文件l
目录d
字符设备c
块设备b
套接字s
FIFOp

1)常规用法

find  /home/user  -type d

5.根据文件被修改的时间搜索

时间类型

参数类型

说明

访问时间-atime用户最近一次访问文件的时间
修改时间-mtime文件内容最后一次倍修改的时间
变化时间-ctime文件元数据(例如权限or 所有权)最后一次被改变的时间

1)常规用法

find  /home/user ! -atime 50

6.根据用户和分组查找

1)常规用法

find  /home/user -user root

find  /home/user -group root

7.空目录or空文件

1)常规用法

find  /home/user -type d -empty"

8.根据权限查找

1)常规用法

find  /home/user -perm 555

9.根据文件大小查找

1)常规用法

find  /home/user -size +15M

备注 size+ 表示大于 ,size-表示等于

10.对查找结果进行操作

1)常规用法

find  /home/user  -name “section*” -exec cp -r {} {}_bak \;

备注: \; 必不可少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值