zoukankan      html  css  js  c++  java
  • Linux下的find命令

    Linux/Unix下非常有用的find命令的用法

    功能简述:find(查找)主要沿着文件层次(目录)结构依次向下遍历,匹配符合条件的文件,可以附带执行相应的操作选项,默认的操作结果是打印出符合条件的文件与目录(也可通过使用-print来指定,强调命令的结果是打印出来,不加此选项也可以)。

     

    主要功能如下(所有测试均在当前目录(test)下开始匹配,搜索):

    ⓪:基本用法:列出给定目录(base_path)下所有的文件和子目录:find base_path -print

       

     

    补充:

    ①:根据文件名和正则表达式进行搜索,使用选项 -name或-iname(忽略大小写):

         find base_path -name ‘xxx’ -print

         find base_path -iname ’xxx‘ -print

      

     查找遍历出当前目录下的所有.txt文件

     

    ②:否定参数,可以用 !排除所指定到的模式。

      

     此处将打印出除txt文本文件外的的所有文件。

     

    ③基于目录深度的搜索,find命令指定遍历完所有的子目录。使用-maxdepth和-mindefth可以限制find命令遍历的目录深度,并且find命令默认不搜索符号链接,可以用-L选项改变这种行为。

      

    此处遍历打印出距离当前目录深度为一及以内的的文件。

      

    -mindepth的参数代表了开始进行匹配的目录到base_path的最短距离,与maxdepth相似。

     

    ④:基于文件类型搜索:使用-type可以指定搜索的文件类型,linux/unix将所有的的一切都视为文件(文件类型有:普通文件f,目录d,符号链接 l,字符设备c,块设备b,套接字s,FIFO-p),使用 -type选项我们能够对文件类型进行过滤。

      

    此处就会只匹配出特定项下的所有普通文件,和目录。

     

    ⑤:根据文件的时间戳进行搜索:Linux/Unix文件系统中的每一个文件都有三种时间戳,访问时间(-atime),修改时间(-mtime),变化时间(-ctime),单位为天数,用整数指定,数字前加上+,表示大于这个时间;加上-,表示小于这个天数;不加表示刚好这个天数。

      

    此处的文件是我在进行截图之前才创建的,访问,修改,变化时间均小于一天。 

    当然相应的用分钟作为单位就可以用选项(-amin)(-mmin)(-cmin),如下我们测试修改时间

       

     

    ⑥:基于文件大小的搜索:find提供了指定文件大小的单位选项进而搜索符合大小文件的功能,这个搜索也常常会让用户感到非常舒服(b:块, c:字节, w:字, k:千字节, M:兆字节, G:吉字节)。

    在搜索之前我们先用ls(list)指令来查看下当前目录下的文件信息:

      

     

    信息的第五列就是各文件目录的大小(字节),我们通过指定匹配条件来搜索:

      

    经过测试,在开始目录下,文件类型为普通目录,文件大小大于30个字节的文件就是zl.txt了

    需要指出的是:选项出现的先后次序我们也应该考虑到内,因为它会影响到整条命令的执行效率。

    提示:本文需要掌握关于ls(list), chown(changeowner)等命令,以及关于Linux/Unix文件系统文件类型和文件权限等知识。

    未完:见Linux下的find命令2

  • 相关阅读:
    WINCE6.0新建工程编译出错的问题
    单片机C语言中的data,idata,xdata,pdata,code
    WinCE 6.0学习笔记一
    Visual Studio 2005 学习笔记一 入门
    Zigbee系列 学习笔记六(设置项)
    Zigbee系列 学习笔记五(信道选择)
    Zigbee系列 学习笔记四(睡眠及唤醒)
    Zigbee系列 学习笔记三(初始化程序解析)
    Zigbee调试问题 IAR编译出现 Fatal Error[e72]: Segment BANKED_CODE must be defined in a segment definition option (-Z, -b or -P)
    关于懒设计
  • 原文地址:https://www.cnblogs.com/hongbo-tao/p/11705008.html
Copyright © 2011-2022 走看看