Linux下的find命令用来在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效。

需要注意的是在运行一个非常消耗资源的find命令时,我们都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

1. 想查看当前文件夹及子文件夹里文件名含有“log”字样的的文件

# find . -name "*.log"

. :表示当前目录

-name:表示要根据名称查找

2. 想查看当前文件夹及子文件夹里有没有”xinsz”目录

# find . -type d -name xinsz

-type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)

3. 想找出当前文件夹及子文件夹里所有后缀是”.txt”的文件

# find . -name “*.txt”

4. 想查找当前目录及其子文件夹中“roc”用户自己的文件有哪些

# find . -user roc

-user:用于设定所属用户的名称,此处可替换为-group,即所属用户组的名称

5. 想查找当前文件夹及子文件夹里权限设定为777的所有文件

# find . -perm 777

-perm:用于设定权限

6. 想查找当前文件夹及子文件夹里的同时含有b字符和3字符的文件:用到正则表达式技术

# find . -regex ‘.*b.*3’

-regex:表示使用正则表达式进行匹配。请注意,此命令会和“全路径”进行匹配,也就是说前面要加.*,因为输出结果中会有“./”符号。

7. 如果想全部输出用find命令查找出的”*.abc”文件的内容

# find . -type f -name “*.abc” -exec cat {} \;

-exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数

可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)

命令最后的{} \; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。

8. 查找当前目录下在10分钟内被修改过的文件

# find . -mmin -10

访问过用amin,修改过用mmin,文件状态改变过用cmin

精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime

在10分钟之内的用-10,在5分钟以上的用+10

9. 想查找当前目录及子目录下文件大小大于10M的所有文件

# find . -size +10000000c

-size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。

10. 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:

# find . -maxdepth 1 -name “*.c”

11.查找当前所有目录并排序
 #  
find . -type d | sort

几个混合应用:

1.查找磁盘中大于3M的文件:
#find . -size +3000k -exec ls -ld {} ;

2.将find出来的东西拷到另一个地方

# find *.c -exec cp ‘{}’ /tmp ‘;’
 

3.避开多个文件夹

# find test \( -path test/test4 -o -path test/test3 \) -prune -o -print

\ 表示引用 shell不会对\后面的字符做特殊解释,而留给find命令去解释其意义。不查找test4  和 test3

今天是中秋节,又将是一个花好月圆夜,除了经典的五仁月饼,还有很多很多美好的瞬间值得纪念,比如街角淡淡的桂花香,抬头或许有些模糊的月亮,还有给所有关注微信公众号的伙伴们的祝福——中秋节快乐!

每天五分钟系列--教你学find相关推荐

  1. 《gcc五分钟系列》第六节:编译期符号检查

    <gcc五分钟系列>第六节:编译期符号检查 上一节,我们说了从源文件到目标文件的编译过程.这一节,我想讨论一下编译期符号检查的问题.     请原谅我实在不知道如何翻译"refe ...

  2. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    [正文开始] 上文接<sed的流艺术之三>-linux命令五分钟系列之二十三 例十 如果设定了很多-e的command,它们的执行顺序是怎样的呢? [rocrocket@rocrocket ...

  3. vector 插入_Java学习五分钟系列:对比Vector、ArrayList、LinkedList

    Java学习五分钟系列,目的是为让大家在短时间内搞清楚一项技术的概念.优缺点和适用场景,想要深入的了解,还需要投入更多的时间. Java的集合类,值得我们深入的学习,建议大家有时间的话,可以阅读一下源 ...

  4. 《神探tcpdump第五招》-linux命令五分钟系列之三十九

    == [系列文章] <神探tcpdump第一招>-linux命令五分钟系列之三十五 <神探tcpdump第二招>-linux命令五分钟系列之三十六 <神探tcpdump第 ...

  5. 《gcc五分钟系列》基础部分结束

    <gcc五分钟系列>基础部分结束 我把常用的编译选项都已经介绍完了.     本系列打算休息一段时间. 转载于:https://blog.51cto.com/elephantliu/828 ...

  6. java分布式架构_Java学习五分钟系列:从单体架构转向分布式架构的难点

    Java学习五分钟系列,目的是为让大家在短时间内搞清楚一项技术的概念.优缺点和适用场景,想要深入的了解,还需要投入更多的时间. 分布式架构和单体应用架构相比,可以充分利用多机器的性能优势,提高了系统的 ...

  7. 《神探tcpdump第一招》-linux命令五分钟系列之三十五

    应 @GamerH2o 博友在微博上提的要求,tcpdump专题会写成一个小型系列文章,力求每篇小文中突出重点,讲解清晰,避免长篇累牍,大家必然昏昏欲睡了. 其实tcpdump就好像一个神探,它有着夜 ...

  8. 《神探tcpdump第四招》-linux命令五分钟系列之三十八

    == 本文会是"选项内容"的最后一期讲解,主要会讲讲-w和-r两个选项.tcpdump的选项很多,多达50个,其他我没有涉及的选项,还是要大家自己通过man tcpdump的方式来 ...

  9. 《作业控制系列》-“linux命令五分钟系列”之十

    很久没发这个系列了.一直在看perl.现在回归.因为发现所有的脚本的基础都是linux命令- === 通俗的讲,作业控制命令是用来控制一个一个任务的. 1 我想把updatedb命令(用于重新建立整盘 ...

最新文章

  1. 最新数据:一图看清全球393家独角兽公司
  2. webstorm代码行数统计_10万行代码10万年薪,利用python查看自己写了多少代码
  3. ClientDataSet 探讨
  4. 冒泡排序python代码_Python-排序-冒泡排序-优化
  5. react --- 生命周期 给子组件传递数据
  6. 最大流EK和Dinic算法
  7. 深度学习根据文字生成图片教程(附python代码)
  8. 统计学习方法——第四章朴素贝叶斯及c++实现
  9. java案例代码10--购物车案例--重要
  10. 最早设计计算机的目的是进行科学计算,其主要计算的问题面向,北京师范大学计算机试题1答案...
  11. 更改win11鼠标指针样式
  12. 线性表的链式存储结构——链表及其操作(创建,查找,插入,输出,删除)
  13. 私域流量运营部门员工团队KPI绩效管理考核方案计划表格
  14. Android学习笔记-隐藏app图标
  15. 毕业设计python数据分析_毕业设计:爬虫及数据分析
  16. System32、SysWOW64与SysNative文件夹
  17. 存储、读取、清除cookies数据
  18. Mirrored String I Gym - 101350H (水)判断回文
  19. 全球及中国红外探测器芯片行业发展动态及投资应用前景调研报告2021-2027年
  20. VS2015新建MFC工程默认存储位置,默认位置修改

热门文章

  1. 会计基础工作规范E卷
  2. 快手技术大前端技术交流---QQ美化平台
  3. 什么是LTE(Long Time Evolution 长期演进技术)
  4. 太保健康蓝医保 Vs 平安健康e生保
  5. 2021ubuntu更新源-最全(阿里,腾讯云,京东云,清华,百度,163,山大
  6. 三小时学会V语言到放弃(第一小时)
  7. NVIDIA Jetson Xavier NX nvpmodel设置
  8. w7设置双显示器_如何在Win7桌面上为两个不同的显示器设置双屏幕? -win7多屏显示设置...
  9. 360全景拼接 opencv_OpenCV中的全景拼接例程
  10. iOS 短视频源码开发MPMoviePlayerController