find命令讲解

摘要:
Linux中的find命令用于搜索目录结构中的文件并执行指定的操作。Linux中的find命令提供了很多搜索条件,功能非常强大。即使系统包含网络文件系统,find命令在文件系统中也有效。应该注意,当运行消耗大量资源的find命令时,我们倾向于在后台执行它,因为遍历大型文件系统可能需要很长时间。
 
 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命令讲解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇js 动态创建select 并赋予onchange事件Coap协议学习笔记-第一篇下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Git应用详解第八讲:Git标签、别名与Git gc

前言 前情提要:Git应用详解第七讲:Git refspec与远程分支的重要操作 这一节主要介绍Git标签、别名与Git的垃圾回收机制。 一、Git标签(tag) 1.标签的实质 标签与分支十分相似,都是指向某一次提交;并且,它们的值都为各自指向提交的SHA1值;但是,不同于会随着提交的变化而变化的分支,一旦给某次提交添加了标签,该标签就永远不会发生变化。...

rsync命令

一。rsync中exclude的使用:如果排除的文件比较多时,使用一个文件定义要排除的文件或文件夹,使用--exclude-from=file 来执行。注意exclude前面是二个"-" rsync的exclude非常好用,cp,mv都没有这样的exclude参数。唯一注意是eclucde后面的文件或文件夹必须是相对路径。所以最好提前进入源目录比较方便。...

git拉代码,IntelliJ idea报错,cannot load module xxxxx

1 从git上下工程的时候,IntelliJ idea报错,cannot load module xxxx VCS-git-clone-ssh:xxxx ,报错cannot load module xxxx,然后项目目录不显示代码 查看左下角log:cannot load module xxx,xxx.iml does not exist,iml文件不存在...

教你一招:解决Win10 win7 删除文件或文件夹时提示“找不到该项目”

问题很怪异,解决的办法却很简单。 首先,分析问题 使用不可显示ASCII字符或采用UNICODE字符方法创建的文件或文件夹; 名称中含有..等特殊符号文件或文件夹名称不符合Windows命名规范或建立空格目录名创建的文件或文件夹; 使用下载工具创建的文件夹,在未下载完成前自行删除文件或系统备份工具GHOST创建的文件; 恶意文件生成的防删除的文件或文件目...

Vue 开发规范目录及说明

Vue 开发规范目录及说明 Vue 开发规范目录及说明 命名规范 普通变量命名规范 常量 组件命名规范 views 下的文件命名 结构化规范 目录文件夹及子文件规范 vue 文件基本结构 多个特性的元素规范 元素特性的顺序 组件选项顺序 为组件样式设置作用域 注释规范 务必添加注释列表 单行注释 多行注释 模块 指令规范 Props 规...

转:openwrt 框架分析

本文是本人对OpenWrt的Makefile的理解,并非转载。OpenWrt是一个典型的嵌入式Linux工程,了解OpenWrt的Makefile的工作过程对提高嵌入式Linux工程的开发能力有极其重要意义。OpenWrt的主Makefile文件只有100行,可以简单分为三部分,1~17行为前导部分,19~31为首次执行部分,33~101为再次执行部分。前...