N25第三周视频博客 find命令详解

视频作业:find命令详解

大纲:

 

      1、什么是find

2find能实现什么功能

3、为什么要使用find

4、如何使用find

5find各参数详解

 

1、什么是find

     findlinux 命令,它将档案系统内符合 expression(表达式) 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find 根   据下列规则判断 path expression,在命令列上第一个 – ( ) , ! 之前的部分为 path,之后的是 expression

              简单的来说,find是用来实现查找功能的,可以根据不同的表达式与指定的路径来查找相对应的内容。

 

2find能实现什么功能

    首先,find能实现最基本的功能就是查找,在实现查找功能后可根据参数来实现追加操作,例如:将查找出来的数据删除、详细展示查找出来的数据等。

 

3、为什么要使用find

  其实,能实现查询功能的命令还有locate,它的优点就是查询速度快,但是它非常依赖于事先构建好的索引库,如果索引库遭到破坏,就基本上丧失了其核心功能。而且它是非实时性的,   造成的后果就是不精确,对于数据吞吐量很大的环境查找新鲜数据非常有局限性。

    find虽然查询速度相较于locate比较慢,但是它是一款实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找,不依赖于索引库,适用于任何情况下,所以综合以上几   点,find确实是一款比较优秀的查询工具。

 

4、如何使用find

    find功能非常强大,可将查询条件随意组合,而且在查询完毕后可根据追加操作来处理数据,具体格式如下:

    find   [查找路径]  [查找条件]   [追加操作]

       注:如果不写路径,默认是查找当前目录下的所有文件及目录,

         如果不写参数默认是根据文件名查找(-name

    N25第三周视频博客 find命令详解

5find各参数详解

     查找条件可按照文件名、大小、类型、从属关系、权限等标准进行;

     查找结果:结果只能为布尔型(or

 

²  根据文件名查找:

-name          

-iname不区分条件的大小写 (以上都支持通配符)

         *,?、[]、[^]    [[:digit:]] [[alpha]] ….

N25第三周视频博客 find命令详解

regex  pattern:基于正则表达式模式查找文件,匹配是整个路径,而非基名

注:如需使用通配符,请用双引号

²  根据文件从属关系查找:

     -user              查找属主指定用户的所有文件;

               -group             查找属组指定组的所有文件;

     -uid:               查找属主指定UID的所有文件;

     -gid :              查找属组指定的GID的所有文件

     -nouser            查找没有属主的文件

     -nogroup           查找没有属组的文件;

           N25第三周视频博客 find命令详解

 

²  根据文件类型查找:

    -type

        f普通文件

        l符号链接文件

        b块设备文件

        c字符设备

        p管道文件

        s套接字文件

         N25第三周视频博客 find命令详解

         N25第三周视频博客 find命令详解

 

²  根据文件大小查找:

     -size  [+|-]#(K,M,G)

         –size  10M   查找10M的文件或文件夹

         -size  +10M  查找大于10M的文件或文件夹

         -size  -10M   查找小于10M的文件或文件夹

     

        N25第三周视频博客 find命令详解

           N25第三周视频博客 find命令详解

 

²  根据时间戳查找:

 以天为单位:

  -atime [+ | -]# 查看访问目录或文件的时间;

        -atime -7 查看一周内被访问过的文件或目录;

 

-mtime [+ | -]#查看修改过文件或目录的时间;

        -mtime -7查看一周内被修改过的文件或目录;

 

-ctime [+ | -]# 查看元数据被修改过的目录或文件的时间;

       -ctime -7 查看一周内元数据被修改过的文件或目录;

     注:元数据是指一个文件或目录的权限、从属关系、时间戳、等相关描素信息。


        N25第三周视频博客 find命令详解

 

以分钟为单位:

 -amin [+ | -]#

 -mmin[+ | -]#

 -cmin [+ | -]#

        N25第三周视频博客 find命令详解

 

²  根据权限查找:

-perm[mode |-mode |/mode]

     mode精确权限查找;八进制权限

    -mode任何每一类用户(ugo)的权限每一位(r,w,x)同时符合条件既满足; 每一类之间是and的关系;

    /mode任何用户的任意一位ugo)只要符合指定的权限既满足(/666, 只要任何一位有w or r or x既满足。)

 

         总结:【注: !代表取反,以2(代表写入权限)为例:】

               -perm  /222    只要任何一位有w既满足:

            N25第三周视频博客 find命令详解

              !  -perm  -222    只要任何一位没有w既满足:    (叹横杠只没)

            N25第三周视频博客 find命令详解

             

           !  -perm  /222   所有位都没有w既满足         (叹斜杠所没)

            N25第三周视频博客 find命令详解

              

                 -perm  -222   所有位都有w既满足

            N25第三周视频博客 find命令详解

 

     

      组合测试:

         与: -a 默认组合操作,代表同时满足   ~]#find /etc/  -name  passwd (-a) -type f

         或:-o:只需满足其中一个条件

       非: -not

                  

           find  /    ! 条件一  -a  !条件二   =    find  /  ! \(条件一  -o  条件二 \)                 

                 find  /    ! 条件一  -o  !条件二   =    find  /   ! \(条件一  -a  条件二 \)

         以上两种书写格式都成立

 

       处理动作:

           -print输出至标准输出:默认动作;


           -ls类似于对查找到的文件执行ls –l 命令,输出文件的详细;


           -delete删除查找的文件;

              N25第三周视频博客 find命令详解


           -fls  /PATH/TO/SOMEFILE把查找到的所有文件的长格式信息保存至指定文件中;

              N25第三周视频博客 find命令详解


           -ok COMMAND {} \; : 对查找到的每个文件执行由COMMAND表示的命令;{}:占位符  (需要用户确认)

                ~]# find  ./ -nouser -a –nogroup –ok chown root:root {} \;

         -exec COMMAND {} \; 对查找到的每个文件执行又COMMAND表示的命令(无需用户确认)   

               N25第三周视频博客 find命令详解

               N25第三周视频博客 find命令详解

原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/63838

(0)
N25_韩奇洋N25_韩奇洋
上一篇 2016-12-15 19:04
下一篇 2016-12-15 22:54

相关推荐

  • 高级文件系统管理的相关理解

    1.RAID是什么     RAID:Redundant Arrays of Inexpensive Disks,是指由多个磁盘合成一个阵列,来提供更好的性能,冗余或者两者都提供。在生产生活中,通常一个硬盘往往不能满足我们的存储需要,这是就需要通过RAID磁盘阵列来对磁盘进行“扩容”,来满足我们的日常需要,相比较于单一…

    Linux干货 2016-08-30
  • 编程命名中的7+1个提示

    前几天Neo写过《编程中的命名设计那点事》,这里也有另外一篇和程序命名的文章,可以从另一个角度看看。 1.- 变量应该是尽可能的望文知意。千万不要使用教材中的命名方式。 好的变量: daysDateRange, flightNumber, carColor. 坏的变量: days, dRange, temp, data, aux… 在我们…

    Linux干货 2015-04-03
  • linux安全机制与加密工具使用

    一、加密需要和安全机制 1.不加密流量的易受攻击性 密码/数据嗅探 数据操作 验证操作 相当于邮寄明信片 2.不安全的传统协议 telnet、FTP、POP3等等;不安全密码http、sendmail、NFS等等;不安全信息Ldap、NIS、rsh等等;不安全验证 3.NIST定义的安全属性:美国国家标准与技术研究院 1) 保密性:  &…

    Linux干货 2016-09-25
  • Centos6基于虚拟主机的Lamp配置bbs、Blog、PhpMyAdmin应用程序

    Centos6实现基于虚拟主机的各应用程序搭建: 一、配置三个基于名称的虚拟主机;       虚拟主机一、discuzX       虚拟主机二、wordpress       虚拟主机三…

    Linux干货 2016-10-09
  • N22-第六周作业

    vim小小的总结 (本总结摘自马哥网络班22期课堂笔记) vim是一款交互式的全屏编辑器,是vi的升级版,在vi上增强了很多,如:多级撤销,多窗口和多缓冲区,语法高亮,在线帮助等。 vim也是一种模式化的编辑器。分别是编辑模式也叫命令模式,输入模式,末行模式。其中使用vim打开文件后默认的是编辑模式。 三种模式之间的转换: 编辑模式—>输入模式 &…

    Linux干货 2016-11-21
  • 磁盘管理

                              磁盘管理 fdisk分区管理工具 :fdisk ,parted,sfdisk      fdisk:对于一块硬盘来讲,…

    Linux干货 2015-10-14