码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下find命令详情

时间:2016-05-20 17:46:53      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:linux   根目录   

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
linux下find命令提供了相当多的查找条件,功能很强大,所以它的选项也很多,其中有许多的选项都值得我们深入的了解学习。


    命令格式:find pathname -options [-print -exec -ok ...]
    命令功能:用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
    命令参数:
        pathname:find命令所查找的目录路径。例如,用.来表示当前目录,用/来表示系统根目录。
        -print:find命令将匹配的文件输出到标准输出。
        -exec:find命令对匹配的文件执行该参数所给出的shell命令。
        -ok:和-exec的作用相同,只是以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

 

下面就进入find命令选项的功能详情:
1、-name    按照文件名查找文件
   文件名选项是find命令最常用的选项,可以单独使用该选项,也可以其他选项一起使用。  可以使用某种文件名模式来匹配文件,注意要用引号将文件名模式引起来。  不管当前路径是什么,可用~作为 ‘pathname‘参数,波浪号~代表了你的$HOME目录。

例如:

   想要在当前目录及子目录中查找所有的‘ *.log‘文件,可用: 
    技术分享

   想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可用:
    技术分享

   想要在/etc目录中查找文件名以host开头的文件,可用:
    技术分享

   想要查找$HOME目录中的文件,可用:
    技术分享

2、-perm    按照文件权限查找文件
   按文件权限模式来查找文件的话。最好使用八进制的权限表示法。 
   在当前目录下查找文件权限位为644的文件,可用:
    技术分享

3、-prune   忽略某个目录
   使用-prune选项来指出需要忽略的目录。如果同时使用了-depth选项,那么-prune选项就会被find命令忽略。

   在file1目录下查找文件,但不希望在file1/file3目录下查找,可以用:

   技术分享

4、-user    按照文件属主来查找文件
   -nouser   查找无有效属主的文件

   在$HOME目录中查找文件属主为yangning的文件

 技术分享

    为了查找属主帐户不存在的文件,可以使用-nouser选项。
   在/home目录下查找所有的这类文件
   如:find /home -nouser -print
5、-group   按照文件所属的组来查找文件
      -nogroup  查找五有效所属组的文件
   就像user选项一样,针对文件所属于的用户组。

   在/apps目录下查找属于gem用户组的文件,可以用: 
   find /apps -group gem -print 
   要查找没有有效所属用户组的所有文件,可以使用nogroup选项。
   从文件系统的根目录处查找这样的文件,可用:
   find / -nogroup -print
6、-type       查找某一类型的文件
   b  --   块设备文件
   d  --   目录
   c  --   字符设备文件
   p  --   管道文件
   l  --   符号链接文件
   f  --   普通文件
   在当前目录下查找所有的目录  

技术分享

   在/etc目录下查找所有的符号链接文件

技术分享

7、-size n: [c]          查找文件长度为n块的文件,带c时文件长度以字节计
   在当前目录下查找文件长度大于1000字节的文件,可用:

技术分享

      在当前目录下查找长度超过10块的文件(一块等于512字节) 
      技术分享

8、-depth   查找文件时,首先查找当前目录中的文件,然后在其子目录中查找
   从文件系统的根目录开始,查找一个名为CON.FILE的文件。   
   技术分享

   它将首先匹配所有的文件然后再进入子目录中查找

9、-newer file1 !file2     查找更改时间比file1新但比file2旧的文件
   查找更改时间比文件file新但比文件file1旧的文件

技术分享

10、-mtime -n +n   按照更改时间查找文件
        -atime -n +n   按照访问时间查找文件
        -ctime -n +n   按照改变时间查找文件
    用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
    希望在系统根目录下查找更改时间在10日以内的文件,可以用:
    技术分享

以上是我对find指令一些选项的学习总结,难免有疏漏,见谅!!!!
 

Linux下find命令详情

标签:linux   根目录   

原文地址:http://10889860.blog.51cto.com/10879860/1775387

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!