find命令的使用
Posted 在下刘彦直
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了find命令的使用相关的知识,希望对你有一定的参考价值。
linux中find命令用来查找文件
使用格式 find[查找的目录][查找的规则][查找后执行的动作]
find /home/kkk -name mmm 就是查找KKK 目录下 名字是mmm的文件或文件夹 如果是-iname就是不区分大小写查找的意思。
*号表示通配任意字符,?表示通配任意单个字符
find /home/kkk -name "mmm?" 意思是通配mmm后面单个字符,比如mmma。
find /home/kkk -name "*mmm" 表示通配mmm前面任意字符,例如 eegmmm,kkmmm
(2),根据文件所属用户和组来查找文件
# -user //根据属主来查找文件
# -group //根据属组来查找文件
(3),根据uid 和 gid来查找用户
#find /tmp -uid 500 //查找uid是500 的文件
#find /tmp -gid 1000 // 查找gid是1000的文件
(4),-a -o -not 的使用
-a 必须是两个条件都满足才能执行,-o其中一个条件满足就可执行,-not取反的意思。
find /home/kkk -name mmm -a -user root
(5)根据时间戳的相关属性来查找文件,用stat命令来查看一个文件的时间信息
#-atime
#-mtime
#-ctime
#-amin
#-mmin
#-cmin
atime是指最近一次访问的时间,mtime是指最近一次修改内容的时间,ctime是指最近一次修改属性的时间。amin是指最近一次访问的时间,精确到分钟。
(6),根据文件类型来查找文件
-type
f // 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件
(7),根据大小来查找文件
-size
#find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
#find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
#find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
(8),根据文件权限查找文件
-perm
#find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
#find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
#find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
(9),-nouser and -nogroup
#find / -nogroup –a –nouser //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)
[查找完执行的动作]
-print 默认情况下的动作 -ls 查找完之后列出来 -ok[command]查找到后执行的命令的时候询问是否执行 -exec[command]表示查找完后执行命令不询问。 #-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格
例如:find /home/wwwroot/kkkk -name "*.txt" exec chmod 755 "{}" \ ;【http://blog.chinaunix.net/uid-24648486-id-2998767】
【http://blog.sina.com.cn/s/blog_5fd841bf0100sblf.html】
xargs的用法
find /home/wwwroot/kkk 1.txt |xargs chmod 777
以上是关于find命令的使用的主要内容,如果未能解决你的问题,请参考以下文章