grep,egrep,fgrep:文本查找
文件查找:
locate:
非实时,查找是根据全系统文件数据库进行的
#updatedb,手动生成文件数据库
速度快
find
实时
精确
支持众多查找标准
遍历指定目录中的所有文件完成查找,速度慢
find 查找路径 查找标准 查找到以后的处理运作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
处理运作:默认为显示
匹配标准:
-name ‘FILENAME’:对文件名作精确匹配
文件名通配:
*:任意长度的任意字符
?
[]
-iname ‘FILENAME’:文件名匹配时不区分大小写
-regex PARRERN:基于正则表达式进行文件名匹配
-user USERNAME:根据属主查找
-group GROUPNAME:根据属组查找
-uid UID:根据UID查找
-gid GID:根据GID查找
-nouser:查找没有属主文件
-nogroup:查找没有属组的文件
-type
f:普通文件
d:目录
c:字符设备
b:块设备
l:链接文件
p:管道设备
s:套接字设备
-size
[+|-]#k
#M
#G
组合条件:
-a:与
-o:或
-not;非
-mtime:修改时间(单位天)
-ctime:改变时间(单位天)
-atime:访问时间(单位天)
[+|-]#
-mmin:修改时间(单位分钟)
-cmin:改变时间(单位分钟)
-amin:访问时间(单位分钟)
[+|-]#
例子:
5分钟之内访问的文件,find ./ -amin -5
5分钟之前访问的文件,find ./ -amin +5
-perm MODE
/MODE
-MODE:文件权限能完全包含MODE时才能显示
-644
644:rw-r–r--
755:rwxr-xr-x
750:rwxr-x—
例子:
find ./ -perm -644
find ./ -perm -001,其他用户有可执行权限
find ./ -perm -022,组有写权限,同时其他用户也有写权限
find ./ -perm /022,组有写权限,或者其他用户也有写权限
find ./ -perm -007,其他用户有读写可执行权限
运作:
-print:显示
-ls:类似ls -l的形式显示每一个文件的详细
-ok:COMMAND {} ; 每一次操作都需要用户确认
-exec COMMAND {} ; 操作不需要用户确认
例子:
find ./ -perm -006 -exec chmod o-w {} ;
find ./ -type d -ok chmod +x {} ;
find ./ -perm -020 -exec mv {} {}.new ;
find ./ -name “*.sh” -a -perm -111 -exec chmod o-w {} ;
xargs用法
例子:find /etc -size +1M | xargs echo >> /tmp/etc/largefiles