文件的查找命令 find 用法

功能:实时查找工具,通过遍历指定路径完成文件查找

工作特点:

•  查找速度略慢

•  精确查找

•  实时查找

•  可能只搜索用户具备读取和执行权限的目录

语法:

find [OPTION]… [查找路径] [查找条件] [处理动作]

查找路径:指定具体目标路径;默认为当前目录

查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件

处理动作:对符合条件的文件做操作,默认输出至屏幕

1.find 查找条件

1.1根据文件名和inode查找:

-name "文件名称":支持使用glob

*, ?, [], [^]

-iname "文件名称":不区分字母大小写

-inum n  按inode号查找

-samefile name  相同inode号的文件

-links n  链接数为n的文件

-regex "PATTERN":以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称

find -name snow.png

• 搜索名为snow.png的文件

find -iname snow.png

• 不分大小写地搜索名为snow.png、Snow.png、SNOW.PNG等等的文件

find / -name “*.txt”  搜索后缀为.txt的文件

find /var –name “*log*”

1.2根据属主、属组查找:

-user USERNAME:查找属主为指定用户(UID)的文件

-group GRPNAME: 查找属组为指定组(GID)的文件

-uid UserID:查找属主为指定的UID号的文件

-gid GroupID:查找属组为指定的GID号的文件

-nouser:查找没有属主的文件

-nogroup:查找没有属组的文件

find -user gentoo  -group gentoo

搜索被用户gentoo 以及组群gentoo所拥有的文件

1.3根据文件类型查找:

-type TYPE:

•  f: 普通文件

•  d: 目录文件

•  l: 符号链接文件

•  s:套接字文件

•  b: 块设备文件

•  c: 字符设备文件

•  p: 管道文件

组合条件:

与:-a

或:-o

非:-not, !

找出/tmp目录下,属主不是root,且文件名不以f开头的文件

find /tmp \( -not -user root -a -not -name 'f*' \) -ls

find /tmp -not \( -user root -o -name 'f*' \)  –ls

1.4根据文件大小来查找:

-size [+|-] #计算单位

常用单位:b,c,w,k, M, G

#k 表示(#-1k,#k]

-#k 表示[0,#-1k]

+#k 表示(#k,+∞)

1.5根据时间戳:

以“天”为单位;

-atime [+|-]#,

#: [#,#+1)

+#: [#+1,∞]

-#: [0,#)

-atime

-ctime

—mtime

以“分钟”为单位:

-amin

-cmin

-mmin

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。

修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。

变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

1.6根据权限查找:

-perm [/|-]MODE

MODE: 精确权限匹配

/MODE:任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+ 从centos7开始淘汰

-MODE:每一类对象都必须同时拥有指定权限,与关系

•0 表示不关注

• find -perm 755 会匹配权限模式恰好是755的文件

• 只要当任意人有写权限时,find -perm +222就会匹配

• 只有当每个人都有写权限时,find -perm -222才会匹配

• 只有当其它人(other)有写权限时,find -perm -002才

会匹配

2.find 处理动作

-print:默认的处理动作,表示显示至屏幕;

-ls:类似于对查找到的文件执行“ls -l”命令

-delete:删除查找到的文件;

-fls file:查找到的所有文件的长格式信息保存至指定文件中

-ok COMMAND {} \: 对查找到的每个文件执行由COMMAND指定的命令;对于每个文件执行命令之前,都会交互式要求用户确认()

-exec COMMAND {} \:对查找到的每个文件执行由COMMAND指定的命令,没有确认

注意:

find传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令

有些命令不能接受过多参数,此时命令执行可能会失败,下面方式可规避此问题

find | xargs COMMAND

操作练习

1、查找/var目录下属主为root,且属组为mail的所有文件

[root@localhost ~]# find /var -user root -group mail

/var/spool/mail

/var/spool/mail/root

2、查找/var目录下不属于root、lp、gdm的所有文件

#find /var \( -not -user root -a -not -user lp -a -not -user gdm \)  -ls

3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件

# find /var \( -mtime -7 -a -not -user root -a -not -user postfix \) -ls

4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件

#find / \( -nouser -nogroup -atime -7 \) -ls

5、查找/etc目录下大于1M且类型为普通文件的所有文件

[root@localhost ~]# find /etc -size +1M -type f

6、查找/etc目录下所有用户都没有写权限的文件

# find /etc/ -not -perm /222 -ls

7、查找/etc目录下至少有一类用户没有执行权限的文件

# find /etc/ -not -perm -111 -ls

8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件

# find /etc/init.d -perm -113

原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/58192

linux查找以c开头的的文件夹,文件查找命令find详解相关推荐

  1. linux 发生变更的文件夹,【Linux常识篇(3)】文件及文件夹的ctimeatimemtime的含义详解...

    首先可以使用stat 命令来查询文件的inode信息,其中包括ctime atime mtime [root@localhost ~]# stat sort2.txt File: 'sort2.txt ...

  2. html文件设置ftp6,ftp命令大全详解

    来熟悉熟悉ftp命令,对于服务器之间的文件传输太有用啦,不会怎么能行呢! 先来看看基础的命令,包括了连接,列出列表,下载,上传,断开这最基础的命令,会这些,在使用ftp命令行就毫无压力啦! 1. 连接 ...

  3. 华为手机文件夹android,安卓手机文件目录详解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 \system\media 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音 \system\media\audio \system\media\a ...

  4. Android中项目中各个文件夹的含义和用途详解

    1.src:存放所有的*.java源程序. 2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3.assets:可以存放项目一些较大的资源文件,例如:图片. ...

  5. Python的os模块常用文件夹的增删改查详解

    python常用os模块 增 os.makedirs("path\\目录") 用于递归创建目录 删 os.remove("path")用于删除指定路径(path ...

  6. scp 保留文件属组_SCP命令用法详解-hdparm工具参数详解-改变文件组命令chgrp和改变文件属主命令chown_169IT.COM...

    scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令.scp实质相当于利用SSH协议来传输数据的cp命令. 用法举例: 1.复制远程服务器的文件到本地: ...

  7. OA服务器文件夹,OA服务器架设 图文详解.docx

    OA办事器架设 AnyOffice.Net在平台准备充实的情况下可以通过一次点击安装.配置IIS站点就能完成.所以在安装AnyOffice.Net系统之前,确保IIS+.NET 2.0+SQL Ser ...

  8. 大文件的切分--split命令选项详解

    由于工作中需要处理很大的数据文件,使用split命令将其切分成较小的文件后再进行处理是一个不错的选择. 在默认情况下,split以1000行为单位进行切分,如果不足1000行的会另外输出到一个文件. ...

  9. Linux 执行文件查找命令 which 详解

    某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查 ...

  10. Linux如何全盘搜索MySQL文件_Linux上的文件搜索命令实例详解

    locate 基础了解 locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db ls -hl /var/lib/mlocate total 1.2M -rw-r- ...

最新文章

  1. 清华大学:2021元宇宙发展研究报告
  2. python与excel的差别-python3与Excel的完美结合
  3. 这样去写你的 HTML
  4. abap al设置单元格可编辑 oo_润乾报表美化设置 -- 样式
  5. Win10如何屏蔽删除电脑右下角的广告
  6. TensorFlow应用实战-17-Qlearning实现迷宫小游戏
  7. 跨路由器 网段访问rtsp_实验演示:三层交换机与路由器对接
  8. 【WCF】WCF服务库和WCF服务应用程序的区别
  9. JSP中的坑(一):一个空格都不能少
  10. MySQL-第N篇一些经验
  11. 根据MIDlet套件(Jar文件)自动生成jad文件
  12. ReportMachine终于有更新了。
  13. 媒体选择与发布实践总结
  14. noi 1.5第38题 计算多项式的导数
  15. 【饭谈】为什么总有人劝你用mac来办公?
  16. 前端网页水印实现方法
  17. 双u服务器装win7系统安装,u深度一键u盘装原版win7 安装系统详细使用教程
  18. 【Kaggle】Titanic - Machine Learning from Disaster(二)
  19. 高德地图怎么添加公司地址标注
  20. android 开发微信群发,Android 记录一次开发微信分享功能的吐槽与思考

热门文章

  1. PIC单片机入门笔记(新手学PIC必看)——基于PIC16F886
  2. 海思Hi3511芯片参数和工作原理介绍
  3. AHB与VPB的区别
  4. MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB
  5. html5 2019新年祝福页面,2019新年创意祝福语 绝对让你的心意顺利送达
  6. GlobalMapper20如何更快速的浏览影像(mbt)【tif转mbt】
  7. GPGPU-sim环境搭建教程(详细)
  8. 103 THREE.JS 实现局部纹理刷新
  9. js渲染10万数据列表,不阻塞UI
  10. 巧学五笔打字-----1小时可学会,不用死背字根 [图片]