linux上搜索命令行,find 的用法-find是linux命令行里最棒的工具之一

最基本的用法

$ find path

path可以是任何路径,find会从该路径开始向下搜索。

.是当前目录,..是父目录。

各种匹配搜索

根据文件名

$ find path -name '*.txt'

使用-iname可以忽略大小写。

根据文件路径

$ find path -path '*example*'

这样的话会把路径中包含example的所有文件都打印出来,不论是文件夹名还是文件名。

-path使用的是通配符匹配,这和-regex的正则表达式还是有区别的。

$ find path -regex '.*\(\.jpg\)$'

如果你有多个条件,可以使用-o参数

$ find . \( -name '*.txt' -o -name '*.sh'\)

如果你想排除某个条件,可以使用!

$ find . ! -name '*.txt'

find默认是遍历搜索指定目录及其子目录,你可以指定搜索的深度

$ find . -maxdepth 1 -name '*.txt'$ find . -mindepth 1 -name '*.txt'

maxdepth指定了最大深度,所以-maxdepth 1 会让find在当前目录搜索,mindepth指定了最小深度,所以-mindepth 1 会让find排除当前目录。当然这两个参数的值只能是正整数。

如果你想指定文件类型

$ find . -type d

文件类型参数有如下几种

f 普通文件

d 目录

l 符号链接

c 字符设备

b 块设备

s 套接字

p Fifo

根据时间进行搜索

$ find . -type f -atime 7

-atime 表示访问时间 ,7 表示7天,这是搜索7天前访问的文件,如果是+7,就是被访问超过7天的文件,-7表示7天内访问的文件

类似的参数还有-mtime 修改时间,-ctime 改变时间,前者指的是文件内容的修改,后者指的是文件元数据的修改(metadata,权限,所有者)。

如果要以分钟为单位搜索,还有-amin,-mmin,-cmin。

根据大小搜索

$ find . -type f -size 2M

搜索大小等于2M的文件

文件大小的单位

c 字节

w 2字节

b 512字节

k 1024字节

M 1024k字节

G 1024M字节

+2M 大于2M的文件,-2M小于2M的文件

搜索并删除文件

-delete参数

$ find . -type f -name 'delete.txt' -delete

根据权限搜索文件

-perm参数

$ find . -type f -perm 777

根据用户所有权搜索

-user参数

$ find . -type f -user root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值