find 命令


find     -查询命令       查询参数      [    -查询连接命令      -操作命令    ]
按什么条件?       条件参数?      满足不满足时?    执行什么操作?         
find -name        "aaa*"     -a     -print
当文件名为aaa开头时,执行打印操作

查询命名
-path ./ddd     选定ddd目录及以下的内容
-name "abc*" 选定以abc开头的文件
-perm 644 选定属性石644的文件或目录
-user root 选定root用户的文件或目录
-atime -5 最近一次查看文件时间距今5日以内  (atime,ctime,mtime解释在下面)
-atime +5 最近一次查看文件时间距今大于5日
-ctime -5 最近一次修改文件属性或内容时间距今5日以内
-ctime +5 最近一次修改文件属性或内容时间距今大于5日
-mtime -5 最近一次修改文件内容时间距今5日以内
-mtime +5 最近一次修改文件内容时间距今大于5日
-newer aaa.log   比aaa.log新的文件
! -newer aaa.log 比aaa.log旧的文件
-type f 只选择文件
-type d 只选择目录
-type l 只选择链接
-size +100c 大于100字节的文件
-size 100c 刚好100字节的文件
-size +100 大于100块(一块=512字节)的文件
-size 100 刚好100块(一块=512字节)的文件


操作命令
-prune 排除指定目录,或文件
-print 打印符合查询条件的内容




查询连接命令
!:取反命令
-o:是短路操作符,相当于逻辑运算符  或
-a:是短路操作符,相当于逻辑运算符  与。可以默认不写(因为2个条件之间默认的逻辑操作就是 与)
():组合-a,-o 操作,注意左右括号的左边右边都要留空格


多个查询条件连接例子
find ./  -path ./ddd -a -prune -o \( \( -perm 643 -o -perm 664 \)  -a -name "aaa.cc" \) -a -print

遇到ddd目录直接跳过,对非ddd目录下的文件进行判断,如果文件权限是643,或者664 ,且文件名为aaa.cc。则打印出来


每个文件有3个时间
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime


常用命令
1、在当前目录下查询包含hello的的文件
find ./ -name "aaa*"  | xargs grep "hello"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值