本文链接: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

工作中常用的Linux命令:find命令的更多相关文章

  1. 工作中常用的Linux命令:mkdir命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...

  2. 工作中常用的Linux命令:crontab命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...

  3. 工作中常用的Linux命令:ipcs/ipcrm命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...

  4. 工作中常用的Android系统ADB命令收集

    ​工作中常用的Android系统ADB命令收集如下:先收藏以备以后查阅! ​ adb --help //adb帮助 adb start-server //启动adb server adb kill-s ...

  5. 【基础】工作中常用的linux命令,经常会被面试官问到

    前言 面试经常会问到一些Linux操作命令,下面就工作中常用的和面试问的频率较高的命令做详细描述. 常用命令 修改密码:passwd 用户名 切换用户名:su 用户名 查看当前路径:pwd 调整路径: ...

  6. 在工作中常用的Linux命令

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 之前写过一篇 < 在公司做的项目和自己在学校做 ...

  7. 工作中常用的Linux命令介绍与实践

    前言 做后端开发的同学,一般都会接触到服务器,而我们现在的系统用的比较多的服务器系统就是linux了,平时多多少少也会接触到一些linux下的shell命令.我们来介绍下linux一些常用的命令和使用 ...

  8. 工作中常用的 Linux 命令

    awk 示例: env变量值如下,需要获得pkg_url的链接值: {"name": "michael", "sex": "mal ...

  9. 工作中常用的Linux命令:目录

    工作两三年,每天都和Linux打交道,但每每使用Linux命令的时候却会像提笔忘字般不知如何使用,常常查手册或到网上找资料.此系列文章主要是为了方便自己在使用命令时随时可查阅.鄙人才疏学浅,文中若有任 ...

随机推荐

  1. android控制系统音量

    body_sb=(SeekBar)root.findViewById(R.id.body_sb);audioManager=(AudioManager)getActivity().getSystemS ...

  2. C# Unicode编码

    为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内容进行URL编码,当然也可以将内容进行UNICODE编码.将汉字进行UNICODE编码,如:"王"编码后就成了" ...

  3. jackson中JSON字符串节点遍历和修改

    有些场景下,在实现一些基础服务和拦截器的时候,我们可能需要在不知道JSON字符串所属对象类型的情况下,对JSON字符串中的某些属性进行遍历和修改,比如,设置或查询一些报文头字段. 在jackson中, ...

  4. p7-p8面试经验总结--拿到offer

    简单的介绍下p7-p8之间的面试经验 整体的过程基本上所有的面试都是类似的,分为如下: 1.自我介绍: 2.相关问题讨论和交流: 3.谈薪资: 0.去面试的是架构师,最后来了两个面试官.最后拿到off ...

  5. spring 整合 struts

    struts配置 objectFactory 在struts.xml添加,用spring工厂管理action对象 <constant name="struts.objectFactor ...

  6. 【小贴士】虚拟键盘与fixed带给移动端的痛!

    前言 今天来公司的主要目的就是研究虚拟键盘与fixed的问题,期间因为同事问起闭包与事件委托(阻止冒泡)相关问题,便穿插了一篇别的: [小贴士]工作中的”闭包“与事件委托的”阻止冒泡“,有兴趣的朋友可 ...

  7. Node异步

    一 Node异步工作原理 Node.js 异步编程的直接体现就是回调,回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数. 二 同步代码示例 先建立 ...

  8. 由Vue引发的getter和setter思考

    公司的新项目决定使用Vue.js来做,当我打印出Vue实例下的data对象里的属性时,发现了一个有趣的事情: 它的每个属性都有两个相对应的get和set方法,我觉的这是多此一举的,于是去网上查了查Vu ...

  9. ae专题图

    点密度图.分层设色图/等级图.单值图.柱状图.饼状图的实现代码 C# private void 点密度图ToolStripMenuItem_Click(object sender, EventArgs ...

  10. JavaScript学习05 定时器

    JavaScript学习05 定时器 定时器1 用以指定在一段特定的时间后执行某段程序. setTimeout(): 格式:[定时器对象名=] setTimeout(“<表达式>”,毫秒) ...