linux命令:find查及删除功能
基础:
find 命令⽤来在指定⽬录下查⽂件。任何位于参数之前的字符串都将被视为欲查的⽬录名。如果使⽤该命令时,不设置任何参数,则 find 命令将在当前⽬录下查⼦⽬录与⽂件。并且将查到的⼦⽬录和⽂件全部进⾏显⽰。
语法:
find path -option [ -print ] [ -exec -ok command ] {} \
参数说明 :
find 根据下列规则判断 path 和 expression,在命令列上第⼀个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使⽤⽬前路径,如果 expression 是空字串则使⽤ -print 为预设 expression。
expression 中可使⽤的选项有⼆三⼗个之多,在此只介绍最常⽤的部份。
-mount, -xdev : 只检查和指定⽬录在同⼀个⽂件系统下的⽂件,避免列出其它⽂件系统中的⽂件
-amin n : 在过去 n 分钟内被读取过
-anewer file : ⽐⽂件 file 更晚被读取过的⽂件
-atime n : 在过去n天内被读取过的⽂件
-mmin n : 在过去 n 天内修改的⽂件find查命令的使用
-cmin n : 在过去 n 分钟内创建的⽂件
-cnewer file :⽐⽂件 file 更新的⽂件
-ctime n : 在过去n天内被修改过的⽂件
-empty : 空的⽂件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的⽂件,ipath 会忽略⼤⼩写
-name name, -iname name : ⽂件名称符合 name 的⽂件。iname 会忽略⼤⼩写
-size n : ⽂件⼤⼩是 n 单位,b 代表 512 位元组的区块,c 表⽰字元数,k 表⽰ kilo bytes,w 是⼆个位元组。
-type c : ⽂件类型是 c 的⽂件。
d: ⽬录
c: 字型装置⽂件
b: 区块装置⽂件
p: 具名贮列
f: ⼀般⽂件
l: 符号连结
s: socket
-pid n : process id 是 n 的⽂件
你可以使⽤ ( ) 将运算式分隔,并使⽤下列运算。
exp1 -and exp2
!
expr
-not expr
exp1 -or exp2
exp1, exp2
使⽤举例:
1,按⽂件名搜索
find . -name "*.c" #查以.c结尾的⽂件
./ 表⽰当前⽬录,可以是相对于当前⽬录也可以是/开头的绝对⽬录
-name 表⽰⽤⽂件名匹配规则
"*.c" 表⽰⽂件名是以.c结尾的
2,按照⽂件修改时间搜索
find ./ -ctime -20 #查当前⽬录20天内创建的⽂件
./ 当前⽬录茶渣
-ctime 创建时间搜索 -mtine 修改时间
-20 20天以内 , +20 20以外
3,组合使⽤,附加删除功能
find ./ -name "*" -mtine +10 |xargus rm -rf #删除最后修改时间为10天以外的⽂件,可⽤于删除⽇志
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论