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命令的使用的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令(22)find的使用

find命令怎么使用

【Linux】使用find命令清理指定时间之前的文件

Cmake命令之find_library介绍

find 命令的 7 种用法

Cmake命令之find_package介绍