Linux基础文件管理命令:find基本使用

在指定目录下查找文件:find

语法结构:

        find 路径 参数 条件 动作

案例

按照文件名查找

1)查找/etc/下文件名以.d结尾的文件并显示详细信息:find /etc/ -name "*.d" -ls

2)查找/etc/下文件名以lo开头且不区分大小写的文件:find /etc/ -iname "lo*"

3)查找根目录下以sg开头的目录:find / -name "sg?"

按照文件大小查找

1)查找/etc/下文件大于5M的文件:find /etc/ -size +5

2)删除/etc/下文件等于5M的文件:find /etc/ -size 5M

按照时间查找

1)查找/etc/下修改时间超过5天的文件:find /etc/ -mtime +5

2)查找/etc/下访问时间少于5天的文件:find /etc/ -atime -5

3)查找/etc/下改变时间等于5天的文件:find /etc/ -ctime 5

按照文件所属人和所属组查找

1)查找/home/下所属人为jack的文件:find /home/ -user jack

2)查找/home/下所属组为hr的文件:find /home/ -group hr

3)查找/home/下所属人为jack并且所属组为hr的文件:find /home/ -user jack -a -group hr

4)查找/home/下所属人为jack或者所属组为hr的文件:find /home/ -user jack -o -group hr

5)查找/home/下所属人不是jack的文件:find /home/ -not -user jack 或者find /home/ ! -user jack

按照文件类型

1)查找/dev/目录下普通文件的字符文件:find /dev/ -type f

按照文件权限

1)查找当前目录下权限为644的文件详细信息:find ./ -perm -644 -ls

按照正则表达式

1)按照正则表达式查找当前目录以file结尾的文件:find . -regex ".*file"

2)按照正则表达式查找当前目录file{0..9}十个文件:find . -regex ".*file[0-9]"

3)按照正则表达式查找当前目录file{10..20}十一个文件:find . -regex ".*file[0-9]+"

4)查找当前目录下file{0..9}十个文件,并将查找的文件复制到/opt/目录:find . -regex ".*file[0-9]" -ok cp {} /opt/ \;

5)查找当前目录下file{10..20}十一个文件,并将查找的文件复制到/opt/目录:find . -regex ".*file[0-9][0-9]" -exec cp {} /opt/ \;

6)查找当前目录下满足文件名以file开头,以2结尾的文件,将查询的结果交由通道复制到/opt/目录:find ./ -name "file*" -a -name "*2" |xargs -i cp {} /opt/ 或者 find ./ -name "file*" -a -name "*2" |xargs -I {} cp -rf {} /opt

7)查找当前目录下文件名为file1或者file2的文件详细信息:file . \( -name "file1" -o -name "file2" \) -ls

正则表达式知识点:.*代表多个字符; \代表转义符 ; [0-9]代表任意一个数字;[a-z]代表任意一个字母;+代表前面字符一次或多次。-ok手动确定创建过程,-exce不需要手动确定创建过程;{}代表承接查找到的内容,\;代表命令结束的标志。多条件查找时-o需要使用小括号,()自身有含义所以使用\取消()自身的含义。 -i直接用{}就能代替通道之前的标准输出的内容,-I 需要事先指定替换字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Que_art

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

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

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

打赏作者

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

抵扣说明:

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

余额充值