【linux shell】 find 常用选项

网友投稿 305 2022-09-01

【linux shell】 find 常用选项

find path -name “通配符”

通配符搜索

find path -iname file

忽略大小写搜索

find path ( -name “通配符1” -o “通配符2” )

​​-o​​表示或者,匹配其中任意一个正则表达式

[edemon@CentOS tmpDir]$ lsd1 d2 d3 f1 f2 f3[edemon@CentOS tmpDir]$ find . \( -name "f[1-3]" -o -name "d[1-3]"

find path -path “通配符”

通配符匹配路径

find . -path "*/*1"

find . -regex “regex”

使用正则表达式进行路径的匹配。

find . -regex ".*1$"./f1./d1

find . ! -name “通配符”

[edemon@CentOS tmpDir]$ find . ! -name "*1"

匹配出所有不符合模式的文件。

find . -maxdepth 1 -name

设定最大的目录搜索深度。

find . -maxdepth 1 -name

设定最小的目录搜索深度。

find . -type option

参数

搜索对象

d

目录

f

普通文件

l

符号链接

c

字符设备

b

块设备

s

套接字

p

FIFO

将文件和目录分别列出可不是个容易事。不过有了find就好办了。 例如,只列出普通文件:​​​$ find . -type f -print​​​ 只列出符号链接:​​​$ find . -type l -print​​

-atime

Unix/Linux文件系统中的每一个文件都有三种时间戳,如下所示。 访问时间(-atime):用户最近一次访问文件的时间。 修改时间(-mtime):文件>内容最后一次被修改的时间。 变化时间(-ctime):文件元数据(例如权限或所有权)最后一次改变的时间。 ​​​-atime​​​、​​-mtime​​​、​​-ctime​​​可作为find的时间选项。它们可以用整数值指定,单位是天。这些整数值通常还带有-或+:-表示小于,+表示大于。 ​​​find . -type f -atime -7 -print​​​ 找出7天内的普通文件。

-amin

​​-atime​​​、​​-mtime​​​以及​​-ctime​​​都是基于时间的参数,其计量单位是“天”。还有其他一些基于时间的参数是以分钟作为计量单位的。这些参数包括: -amin(访问时间) -mmin(修改时间) -cmin(变化时间)

-size

​​find . -type f -size 2k​​​ 大小等于2KB的文件 除了k之外,还可以用其他文件大小单元。 b —— 块(512字节)。 c —— 字节。 w —— 字(2字节)。 k —— 1024字节。 M —— 1024K字节。 G —— 1024M字节。

-newer

使用-newer,我们可以指定一个用于比较时间戳的参考文件,然后找出比参考文件更新的文件。

-perm

​​find . -perm 644​​​ -perm指明find应该只匹配具有特定权限值的文件。

-delete

​​-delete​​​可以用来删除find查找到的匹配文件。 删除当前目录下所有的 .swp文件: ​​$ find . -type f -name "*.swp" -delete​​

!

寻找不满足 … 的文件。 ​​​find . ! -perm 644​​

-user

找出user拥有的所有文件 例如; ​​​find . -user root​​​ 参数USER可以是用户名或UID。

-exec

$ find . -name "*.c" -exec printf "file: %s\n" {} \;file: ./gra.cfile: ./bless1.cfile: ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.cfile: ./lucky.cfile: ./bucket/src/bucket.cfile: ./bucket_sort/src/bucket_sort.cfile: ./chello.c

{}是一个与-exec选项搭配使用的特殊字符串。对于每一个匹配的文件,{}会被替换成相应的文件名。

忽略搜索目录

​​-name bucket -prune​​

$ find . -name "*.c"./lucky.c./bucket/src/bucket.c./bucket_sort/src/bucket_sort.c./chello.c# 忽略bucket目录$ find . \( -name bucket -prune \) -o \( -name "*.c" \)./lucky.c./bucket./bucket_sort/src/bucket_sort.c./chello.c

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:情感营销如何才能具象化落地?看康师傅果汁达人怎么玩!
下一篇:【github myLocker】线程返回值,重复引用头文件,二进制文件I/O
相关文章

 发表评论

暂时没有评论,来抢沙发吧~