linux下find搜索jpg格式图片,Linux文件查找命令-find
Linux 文件查找命令find语法Linux find命令用来在指定目录下查找文件。find命令的语法如下:path 指定查找的路径任何位于参数之前的字符串都将被视为欲查找的目录名path默认为当前路径,expression默认为-print,即显示所有结果到标准输出-exec command {} \; 将查到的文件执行command操作,注意要有空格-ok 和-exec相同,只不过在操作前要
Linux 文件查找命令find
语法
Linux find命令用来在指定目录下查找文件。find命令的语法如下:
path 指定查找的路径
任何位于参数之前的字符串都将被视为欲查找的目录名
path默认为当前路径,expression默认为-print,即显示所有结果到标准输出
-exec command {} \; 将查到的文件执行command操作,注意要有空格
-ok 和-exec相同,只不过在操作前要询用户
查询路径
path选项表示查询的起始路径,可以查找path下面的子路径。默认为当前路径。
需要注意:需要对查询的路径永远访问权限才可以查询,遇到没有权限访问的文件时会自动跳过
参考下面的实例
基于文件属性搜索
find命令提供了丰富的文件属性查找选项,比如指定文件类型,文件修改时间,文件大小等。
根据文件名正则进行搜索
最基本的,find命令提供能基于文件名的正则表达式的搜索:
其中可用的选项的含义如下:
-name指定字符串作为寻找文件或目录的范本样式
-iname效果和-name一样但是忽略字符大小写
-lname指定字符串作为寻找符号连接的范本样式
-ilname效果和-lname一样但是忽略字符大小写
-path指定字符串作为寻找目录的范本样式
-ipath效果和-path一样但是忽略字符大小写
-regex指定基于正则表达式匹配,需要注意正则表达式中特殊字符的转义
-iregex效果和-regex一样但是忽略字符大小写
-prune指定字符串作为寻找文件或目录的不匹配范本样式
常用的文本匹配选项有:
*表示通配符匹配,如”*Controller.php”
{1,3}表示匹配1或者3
[0-10]表示匹配0到10的数值
根据文件类型进行搜索
find命令可以根据文件类型来进行查找:
参数类型列表含义如下:
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo
根据文件大小进行匹配
find命令可以根据大小进行查找:
+- 表示大于还是小于,值可为:
-表示小于指定大小
+表示大于指定大小
空值不填表示等于指定大小
n 表示数值,如100等
u 表示单位,可为:
b 块(512字节)
c 字节
w 字(2字节)
k 千字节
M 兆字节
G 吉字节
根据文件权限进行匹配
find命令可以根据文件权限和所有者进行查找:
其中各项选项含义如下:
-perm表示指定权限值,此时value可为如777的权限代码
-user表示指定用户,此时value为用户名
-group表示指定用户组,此时value为用户组名
-group表示指定用户组,此时value为用户组名
-nouser表示不属于本地主机用户
-nogruop表示不属于本地主机用户组
根据文件时间戳进行查找
find命令提供了基于诸如访问时间等时间戳来搜索文件:
其中各个可选选项的含义如下:
-atime用户最近一次访问时间,按照天算
-amin用户最近一次访问时间,按照分钟算
-mtime文件最后一次修改时间,按照天算
-mmin文件最后一次修改时间,按照分钟算
-ctime文件数据元(例如权限等)最后一次修改时间,按照天算
-atime文件数据元(例如权限等)最后一次修改时间,按照分钟算
-newer表示更改时间较指定文件或目录的更改时间更接近现在
指定搜索结果行为
find命令还可以对查找的文件进行诸如删除等操作。
对查询到的文件进行删除
可以使用-delete选项来对查询到的文件删除:
对查询结果执行简单命令
可以使用-exec和-ok来对查询结果执行简单命令,-ok和-exec效果一样,只不过-ok会给出询问提示是否要执行想要操作。
需要注意,这些命令的格式,结尾为命令加上空格加上大括号加上空格加上反斜杠,最后的空格加反斜杠一定不能少,否则会报缺少参数的错误。
看下面的例子:
如果想要对查询结果执行复杂的命令,可以预先把多个命令写入到.sh文件中,然后调用这个.sh文件
其他的一些选项
指定查找深度
可以用-depth从指定目录下最深层的子目录开始查找。
更多推荐
所有评论(0)