本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处)

1.命令格式

  find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

2. 命令功能

  在文件目录层级中查找文件并做相应的处理

3. 命令选项

  -name finename

    按照文件名查找文件,文件名可使用通配符

  -perm mode

    按照文件权限查找文件

  -type c

    按照文件类型查找文件,文件类型如下:

    b - 块设备文件
    c - 字符设备文件
    d - 目录文件
    p - 管道文件
    f  - 普通文件
    l  - 符号链接文件
    s - 套接字文件

  -size [+/-]n[cwbkMG]

    按照文件大小查询文件,+n表示文件大小大于n,-n表示文件大小小于n

    文件大小单位如下:

     'b'  512-byte 的块

     'c'  字节单位

     'w'  字单位

     'k'  KB(210 bytes)

     'M'  MB(220 bytes)

     'G'  GB(230 bytes)

  -gid n

    按照文件属组ID查找文件

  -group gname

    按照文件属组名查找文件,也可用文件属组ID

  -uid n

    按照文件所有者ID查找文件

  -user uname

    按照文件所有者名查找文件,也可用文件所有者ID

  -amin n

    查找最后n分钟被访问过的文件

  -atime n

    查找最后n*24小时被访问过的文件

  -cmin n

    查找最后n分钟文件状态被改变的文件

  -ctime n

    查找最后n*24小时文件状态被改变的文件

  -mmin n

    查找最后n分钟文件数据被修改过得文件  

  -mtime n

    查找最后n*24小时文件数据被修改过得文件

  -newer file

    查找文件修改时间比文件file新的文件

  -anewer file

    查找文件访问时间比文件file新的文件

  -cnewer file

    查找文件状态改变的时间比文件file新的文件

  查找到文件后的相应处理动作:

  -delete

    删除查找到的文件

  -exec command {} \;

    对查找到的文件执行指定命令。{}和\;之间必须有空格,'\'为转义字符

  -ok command {} \;

    用法同exec,但在执行命令前会进行确认

  -print

    将文件输出到标准输出

  -printf format

    将查找到的文件按照format格式输出到标准输出

4. 实例

  实例1:在当前目录查找指定文件

[martin@localhost perl]$ find . -name "*.pl"
./ex3/ex3-.pl
./ex3/ex3-.pl
./ex3/ex3-.pl
./ex4/ex4-.pl

  实例2:查找当前目录下的普通文件

[martin@localhost perl]$ find . -type f
./ex3/-.txt
./ex3/-.txt
./ex3/ex3-.pl
./ex3/ex3-.pl
./ex3/ex3-.pl
./ex3/-.txt

  实例3:查找文件权限为775,并且文件大小超过4000byte的文件

[martin@localhost change]$ find . -perm  -size +4000c  
./dos2unix.pl
./test.pl
./space2tab.pl

  实例4:备份查找到的文件

[martin@localhost data]$ ll
total
-rw-rw-r--. martin martin Aug : in4_G_002_224001_12345667789.s
[martin@localhost data]$ find . -name "*.s" -exec cp {} {}.old \;
[martin@localhost data]$ ll
total
-rw-rw-r--. martin martin Aug : in4_G_002_224001_12345667789.s
-rw-rw-r--. martin martin Nov : in4_G_002_224001_12345667789.s.old

  实例5:删除查找到的文件前进行确认

[martin@localhost data]$ find . -name "*.old" -ok rm {} \;
< rm ... ./in4_G_002_224001_12345667789.s.old > ? y

最新文章

  1. 解决springmvc+mybatis+mysql中文乱码问题【转】
  2. Hibernate+Struts2进行数据的修改
  3. AWK文本处理工具(Linux)
  4. CLR的执行模型
  5. [代码片段]读取BMP文件
  6. 161109、windows下查看端口占用情况
  7. 关于Java函数传参以及参数在函数内部改变的问题——JAVA值传递与引用最浅显的说明!
  8. VS编译时自动下载NuGet管理的库
  9. HDU Collect More Jewels 1044
  10. 转载:执行脚本出现bin/bash: bad interpreter: No such file or directory
  11. 《JavaScript权威指南》学习——js闭包
  12. 02_HTML5+CSS3详解第五、六天(实战篇之HTML5制作企业网站)
  13. A Boring Problem UVALive - 7676
  14. Oracle 和 SQLSERVER 重新获取统计信息的方法
  15. addEventListener在一个节点上添加多个相同的事件
  16. 使用 kafkat 在线扩缩容 kafka replicas
  17. es-09-spark集成
  18. 【代码笔记】iOS-MBProgressHUD
  19. China Internet Conference(2018.07.12)
  20. 大数据开发实战:MapReduce内部原理实践

热门文章

  1. [moka同学笔记]Yii2 自定义class、自定义全局函数(摘录)
  2. C++转换构造函数与类型转换构造函数
  3. Python的sorted函数应用
  4. Ubuntu Desktop 15.10 自带桌面共享问题修复
  5. sublime text 之添加插件 并使用
  6. javascript --- javascript与DOM
  7. linux命令学习使用记录
  8. [Android]在Adapter的getView方法中绑定OnClickListener比较好的方法
  9. Loader加载器
  10. 移动Web开发(二)