介绍:

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

find命令的使用:

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.命令功能:
用于在文件树种查找文件,并作出相应的处理
3.命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

4.命令选项:

-name   按照文件名查找文件。
-perm   按照文件权限来查找文件。
-prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user   按照文件属主来查找文件。
-group  按照文件所属的组来查找文件。
-mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup  查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser   查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2  查找更改时间比文件file1新但比文件file2旧的文件。
-type  查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
另外,下面三个的区别:
-amin n   查找系统中最后N分钟访问的文件
-atime n  查找系统中最后n*24小时访问的文件
-cmin n   查找系统中最后N分钟被改变文件状态的文件
-ctime n  查找系统中最后n*24小时被改变文件状态的文件
-mmin n   查找系统中最后N分钟被改变文件数据的文件
-mtime n  查找系统中最后n*24小时被改变文件数据的文件

5.使用实例:
实例1:查找指定时间内修改过的文件
命令:

    find /home/hui/study -amin -40  #查找40min之内存取的文件或目录find /home/hui/study -atime -2  #查找2hour之内存取的文件或目录find /home/hui/study -cmin -40  #查找40min之内更改过的文件或目录find /home/hui/study -ctime +1  #查找1hour之前更改过的文件或目录

输出:

实例2:根据关键字查找
命令:

find . -name "*.txt"  #在当前目录查找 以.log结尾的文件。 ". "代表当前目录 

输出:

实例3:按照目录或文件的权限来查找文件
命令:

find /home/hui/study/ -perm 664  #查找/home/hui/study/目录下 权限为 664的文件

输出:

实例4:按类型查找
命令:

find . -type f -name "*.txt"  #查找当目录,以.txt结尾的普通文件 

输出:

实例5:按大小查找文件
命令:

find . -size +1000k -print  #查找当前目录大于1000K的文件

输出:

说明:
文件大小单元:
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节

实例6:查找当前所有目录并排序
命令:

find . -type d | sort  

输出:

find命令---Linux学习笔记相关推荐

  1. linux解挂文件磁盘的命令,Linux学习笔记(4)磁盘分区(fdisk)、挂载与文件系统命令...

    Linux学习笔记(4)磁盘分区(fdisk).挂载与文件系统命令 1.磁盘分区是怎么表示的? 1.1 对于IDE接口,第一主盘为hda,第1从盘为hdb,第1从盘的第1个分区为hdb1 1.2 对于 ...

  2. traceroute命令---Linux学习笔记

    介绍: 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可 ...

  3. grep命令---Linux学习笔记

    介绍: Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局 ...

  4. df命令---Linux学习笔记

    介绍: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. df命令的使用: 1.命令格式: df ...

  5. top命令---Linux学习笔记

    介绍: top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来 ...

  6. kill命令---Linux学习笔记

    介绍 Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进 ...

  7. ps命令---Linux学习笔记

    介绍 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示 ...

  8. crontab命令---Linux学习笔记

    介绍: crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,c ...

  9. tcpdump命令---Linux学习笔记

    嗅探器(Sniffer): 介绍: 嗅探器是利用计算机的网络接口截获目的地位其他计算机的数据报文的一种技术.它工作在网络的底层,把网络传输的全部数据记录下来.嗅探器可以帮助网络管理员查找网络漏洞和检测 ...

最新文章

  1. 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)
  2. Min_25 筛小结
  3. 个人作业5——软件工程总结
  4. c++多线程基础4(条件变量)
  5. 放肆的使用UIBezierPath和CAShapeLayer画各种图形
  6. Android系统进程Zygote启动过程的源代码分析(3)
  7. python职业发展规划书范文_职业生涯规划书范文 3篇
  8. 贪吃蛇(C语言实现)
  9. 光纤尾纤的型号和作用有哪些?
  10. 详细过程!SpreadJS助力企业轻松构建跨域提交、数据分析、协同编辑一体化云表单
  11. 【到世界的尽头win7主题】
  12. 视频编解码器讲解-H.264、VP9、HEVC、AV1
  13. 《浪潮之巅》读书笔记
  14. shell脚本中 EOF的意思
  15. 固定资产管理mysql_固定资产管理系统数据库设计
  16. Arun Gupta通过将HTML5与Java EE 7拥抱来提高生产力
  17. 格密码LLL算法:如何解决最短向量SVP问题(1)
  18. 苹果手机如何换行打字_苹果手机备忘录如何导入到新手机?备忘录误删如何恢复?...
  19. 深度学习中的正则化方法
  20. 红旗linux中科红旗发布Linux7.0 RC1桌面版操作系统

热门文章

  1. windchill 可交付成果 文档_敏捷等于没有文档吗?敏捷项目管理VS传统项目管理区别在哪里?...
  2. Vue.config.productionTip = false
  3. js解码与编码是什么意思?
  4. [Vue源码分析] Virtual DOM
  5. 谈谈JavaScript中编程实现以及使用内置方法实现进制转换
  6. 时序分析:KMP算法用于序列识别
  7. UVA 12108 Extraordinarily Tired Students
  8. 《C++代码设计与重用》——1.7 参考文献和相关资料
  9. PHP快速排序(原地切分)
  10. Node.js 函数