find:通过遍历指定的目标目录,实时查找符合指定属性的文件

优点:精确匹配进行查找

缺点:速度略慢

用法:

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

查找路径:默认为当前路径

查找条件:默认为指定路径下的所有文件

处理动作:默认是在屏幕显示出来

查找条件:

-name:查找时区别文件大小写,支持glob

*,?,[],[^]

-iname:查找时不区分文件大小写

-user USERNAME:根据文件属主查找

-group USERNAME:根据文件属组查找

-uid UID:根据指定的UID查找

当原有的用户被删除时,他之前所创建的文件的属主属组,变成他之前帐号的uig和gid

-gid GID:根据指定的GID查找

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

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

-type TYPE:根据文件类型查找

-size TYPE:根据文件大小查找

-atime [+|-]#:最近几天访问过的文件

-mtime[+|-]#: 最近几天修改过的文件

-ctime[+|-]#: 最近几天改变的文件

-amin[+|-]#:  最近几分钟内访问过的文件

-mmin[+|-]#:  最近几分钟内修改过的文件

-cmin[+|-]#:  最近几分钟内改变过的文件

-perm [+|-]MODE:根据权限查找

-maxdepth:    查找最在深度,例:-maxdepth 1表示只在当前目录下找,而不去找当前目录下的目录

-mindepth:    查找最小深度

组合查找条件:

-a:与    当不带此参数,同时有2个操作时也表示与

-o:或者

!, -not:非

根据文件类型查找

-type TYPE:

f:普通文件

d:目录文件

l:符号链接文件

b:块设备

c:字符设置文件

p:命令名管道

s:表示套接字文件

根据文件大小查找

-size TYPE:

常用单位:k,M,G

+;大于

-;小于

什么都不带表示为精确的大小

#UNIT:表示 #-1< x <=# 以2k为例;2-1< x <=2 查找的是0大于1k和小于等于2k的所有文件都符合

-#UNIT:x <= #-1  以2k为例:x <= 2-1查找的是小于等于1k的所有文件

+#UNIT:x > # 以2k为例:x > 2查找的是大于2k的所有文件

根据时间戳查找:

以“天”为单位:

-atime [+|-]#:最近几天访问过的文件

# <= x < #+1

比如想要查找3天前访问的文件 -atime 3

输出的结果应该为大于等于3天,小于4天的内容

-#: x < #

+#:x >= #+1

-mtime[+|-]#:最近几天修改过的文件

-ctime[+|-]#:最近几天改变的文件

以“分钟”为单位:

-amin[+|-]#:最近几分钟内访问过的文件

-mmin[+|-]#:最近几分钟内修改过的文件

-cmin[+|-]#:最近几分钟内改变过的文件

根据权限查找:

-perm [+|-]MODE:

MODE:精确匹配权限

例:find ./ -perm 755   #查找指定权限为755的文件

/MODE(在centos6,7上面用/号,表示+号):任何一类用户的权限只要包含对其指定的任何一位权限即可

例:600权限   随便匹配一类就可以,要么属主是6,要么属组是0,要么其它是0,都匹配

-MODE:每一类用户的权限都包含对其指定的所有权限,与权限

例:找到后缀为txt的文件,并且具有执行的文件(u,g,o任意一个具有x的都可以)

#find ./ -name "*.txt" -a -perm /a+x

找到后的处理操作:

-print:默认动作,打印至屏幕

-delete:删除查找到的文件

-ls:显示找到的文件的详细属性

-fls /path/to/somewhere:查找到的所有文件的长格式信息保存至指定文件中;

-exec COMMAND {} \;执行其它的操作,没有交互,直接进行操作

{}:表示找到的文件名

{}:用于引用查找到的文件名称自身

-ok COMMAND {} \;对查找到的每个文件执行由COMMAND指定的命令;在执行命令前会进行交互式提示

例:find ./ -name "*.txt" -a -perm /u+x -ok rm -rf {} \;(在执行命令前进行提示)

注意:find命令会一次性找到所有符合条件的文件,并一同传递给后面的命令,如果后面的命令不能接收较长的参数时,会报错;解决办法用xargs命令一条一条的传递给COMMAND,而不同时传递

用法实例:

例1:同时查找2个文件

find ./ -name "3.log" -o -name "4.log"

例2:同时排除2个文件

find ./ ! \( -name "3.log" -o -name "4.log" \)

find ./ ! -name "3.log" -a ! -name "4.log"

本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1884742如需转载请自行联系原作者

weilovepan520

find命令使用方法相关推荐

  1. 250g硬盘linux分区,linux分区格式化命令使用方法

    linux分区格式化命令使用方法 首先使用root权限登陆进入linux操作界面 使用fdisk -l 参数查看设备名跟设备状态 类似如下 : [root@ecofe2 /]# fdisk -l Di ...

  2. linux temp文件夹在哪_Win10系统下使用linux命令的方法

    Win10系统是目前主流的操作系统之一,其功能十分强大,而在Windows10系统下也是能够使用linux命令,只是不少用户不知道而已.那么如何在Win10系统下使用linux命令?下面小编分享一下W ...

  3. cmd不是内部命令解决方法

    cmd不是内部命令解决方法 参考文章: (1)cmd不是内部命令解决方法 (2)https://www.cnblogs.com/wchu/p/6406150.html (3)https://www.c ...

  4. Anaconda安装Python,提示Python不是内部或外部命令解决方法

    Anaconda安装Python,提示Python不是内部或外部命令解决方法 参考文章: (1)Anaconda安装Python,提示Python不是内部或外部命令解决方法 (2)https://ww ...

  5. Linux中history历史命令使用方法详解

    在/etc/profile里添加如下:#History export HISTTIMEFORMAT="[%F %T]" HISTDIR=/home/common/.hist if ...

  6. 服务器如何开启远程控制,远程控制命令设置方法介绍

    大家在长时间的使用电脑以后,电脑就会出现一些毛病,这个时候人们都会给电脑维修工打电话亲上 门 儿服务,而大家都知道上门儿服务费用是非常的高的.但是远程控制出现就解决了这个问题,大家可以通过网络工程师对 ...

  7. Linux 常用命令使用方法

    Linux 常用命令使用方法 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的 ...

  8. Linux实战案例(4)CentOS清除用户登录记录和命令历史方法

    CentOS清除用户登录记录和命令历史方法 清除登陆系统成功的记录 [root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等 ...

  9. linux whois rpm,CentOS系统安装whois命令的方法

    在CentOS系统中,绝大部分命令系统都有自带,但有些命令则需要额外安装,比如whois命令,那么CentOS要怎么安装whois命令呢?下面小编就给大家简单的介绍下whois命令的安装. 环境:Ce ...

  10. java代码执行linux命令_java执行Linux命令的方法

    本文实例讲述了java执行Linux命令的方法.分享给大家供大家参考.具体实现方法如下: public class StreamGobbler extends Thread { InputStream ...

最新文章

  1. Postgresql 日志收集
  2. MATLAB从入门到精通-matlab中符号推导应用及相关技巧
  3. 鸟哥的Linux私房菜(基础篇)- 鸟哥的第一本书的主要内容,以 Mandrake 9.0 为例
  4. android关机菜单修改,Android4.4关机菜单添加重启系列选项
  5. gyp linux,gyp编译工具
  6. Fraction+mysql_MySQL 数据类型总结
  7. Jenkins常用插件
  8. 疑似小米10系列真机谍照首曝光:挖孔双曲面屏设计无疑
  9. mqtt 多个订阅者 只允许一个接收_一文读懂物联网的灵魂MQTT
  10. Forrester报告拆解:强劲冲击第一梯队后,京东智联云站稳云市场新格局
  11. 中国聚合混凝土行业市场供需与战略研究报告
  12. JDK数字格式,由星期几变为周几
  13. python词云图_Python快速生成词云图,这是最详细的教程,没有之一!
  14. cortex a7 a53_试驾初体验--我与奥迪A7的七天之旅
  15. 服务器怎么用固态盘安装系统,服务器使用固态盘安装
  16. html基本标记练习钱塘湖春行,实验1HTML基本标记的练习.doc
  17. 学习笔记(28):MATLAB基础入门课程-乘方运算
  18. 漏洞通告 |IBM发布9月更新, 修复墨云科技报告的漏洞
  19. 状态机工作流,顺序工作流和Flowchart
  20. 微信分享(JS-SDK权限签名算法)-Java实现

热门文章

  1. JAVA入门到精通-第6讲-成员属性-成员方法
  2. oracle创建job权限
  3. [WebException: The underlying connection was closed: The message length limit was exceeded.]解决方法...
  4. WebSocket科普
  5. WPF Splash Screen 和启动速度相关资料
  6. xpath的一些测试
  7. ThinkPad R400 安装win2003网卡驱动
  8. 职场七种最致命的想法
  9. 利用Mesos构建多任务调度系统
  10. kube-scheduler 源码解析