linux find命令按文件内容查找,使用linux find命令进行 查找文件

linux find 命令,是linux环境下进行文件查找的命令。文件查找是服务器管理最基本操作。find命令本身也很强大,可以按照名字、所有者、时间、权限等方式进行查找。这里总结find一些常用的用法。

3999c03a04efd63c85afb9350dd6fd85.pnglinux-find文件查找

当前目录下查找名字是 passwd 文件

find . -name "passwd"

/etc 目录下查找 passwd 文件

find /etc -name "passwd"

find 文件查找不区分大小写

find /etc -iname "PassWD"

find 使用通配符进行查找

find /etc -name "*.conf"

find /etc -name "*.con*"

# 如果名字不用双引号,最后通配符必须转义

find /etc -name *.con\*

find 查找限制查找的深度

find /etc -maxdepth 1 -name "*.conf"

find 查找指定用户的文件

find /etc -user root -name "*.conf"

find 指定查找的文件类型

# 使用 type -c

# b 块文件

# c 字符文件

# d 目录

# p pipe 文件

# f 普通文件

# l 链接文件

find /etc -type f -name "*.conf"

find 按照时间查找

# 通过数字指定范围

# -n 多少(天,分钟)以内的文件

# +n 超过多少(天,分钟)的文件

# n 刚好多少(天,分钟)的文件

find /etc -mtime -2 # 表示 现在到 2*24 小时内修改的文件

find /etc -mtime 2 # 表示 48小时(2天*24) ~ 72(3天*24)小时内修改文件, 返回的结果的文件前后被修改的时间不超过48小时

find /etc -mtime +5 # 表示 (5+1)天前被修改的文件

# 按照分钟计算

find /etc -mmin -2

find /etc -mmin 2

find /etc -mmin +2

find 按照权限查找

# perm ,权限的匹配有三种目录

# 1. 精准匹配

# 2. 包含匹配 -

# 3. 任意一位匹配 /

touch file-400.txt

touch file-440.txt

touch file-444.txt

touch file-600.txt

touch file-640.txt

touch file-644.txt

chmod 400 file-400.txt

chmod 440 file-440.txt

chmod 444 file-444.txt

chmod 600 file-600.txt

chmod 640 file-640.txt

chmod 644 file-644.txt

# 同时满足 用户、组、所有者都用 读的权限

find . -perm -444 -type f

./file-444.txt

./file-644.txt

# 只要满足 400, 所有者有读权限接口

find . -perm -400 -type f

./file-400.txt

./file-440.txt

./file-444.txt

./file-600.txt

./file-640.txt

./file-644.txt

# 没有满足的条件

find . -perm -420 -type f

# 满足一个即可

find . -perm /420 -type f

./file-400.txt

./file-440.txt

./file-444.txt

./file-600.txt

./file-640.txt

./file-644.txt

# 具体替换成 2进制就可以比较

find 跳过或者排除指定的目录

# 用来查找备份文件

# ! 用啦排除路径, !后紧跟的是要排除的路径,

# 需要注意的地方是被排除的路径,不是递归操作,意思是他的子目录,还是在查找的范围内

# 通过公配符号 * 可以实现递归排除

# 这里忽略了两个目录

find / ! -path '/proc/*' ! -path '/var/*' -name "*.backup"

# 递归忽略 /proc 的下的文件,输出的结果会打印 /proc

find / -path '/proc' -prune -o -name "*.backup"

find 按照大小查找

# b 512-bype , c bytes, w - two-byte words,

# k 1024bytes, M 兆, G

find / -path '/proc/*' -prune -size +100M -type f

find 使用正则表达式匹配名字

find . -regex ".*file-44.*"

./file-440.txt

./file-444.txt

# 不区分大小写

find . -iregex ".*F.*"

find 查找空文件

find . -empty

find 查找可执行的文件

find . -executable

find 比较文件时间进行查找

# a.txt 更晚产生的文件

find . -newer a.txt

find 对查询的获得的文件,进一步处理

# 删除

find . -name "*.logs" -delete

# 执行命令

find . -name "*.logs" -exec rm -fr {} \;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值