linux下find命令的详细说明
1.我们为什么要学会使用find命令?
每一种操作系统都由成千上万的文件组成,对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不是很熟悉,其实想玩linux的你更要牢牢掌握这个命令,因为linux不像windows那样有固定的文件名后缀,并且因为linux阵营下百家争鸣的特性,一个相同的文件在不同的发行版,可能会有不同,所以如果你能牢牢掌握find命令的使用,你在摸索linux的道路上将会顺利很多,同时你会发现linux下文件查找功能其实很简单,而且要比windows下查找功能强大很多很多!
Linux下查找文件的命令有两个:locate 和 find
2.find命令的详细说明
使用格式:find [options] [查找路径] [查找条件] [处理动作]
查找路径 | 默认为当前目录 |
---|---|
查找条件 | 默认为查找指定路径下的所有文件 |
处理动作 | 默认为显示 |
按文件名称查找
命令:find /etc/ -name group 找出/etc下名称为group的文件
命令:find /etc/ -name *.conf 找出所有以.d为后缀的文件
命令:find /etc/ -name *.conf | grep wc -l找出所有以.d为后缀的文件并且统计行数
按照文件的用户和用户组查找
find /opt/ -user root 找出/opt目录下用户为root的文件
find /opt/ -group root 找出/opt目录下用户组为root的文件
命令:find /mnt/ -group root -o -user root找出/mnt目录下用户组为root或者用户为root的文件
(–o表示或者,–a表示并且,默认为并且可以不输入)
按文件目录层数查找
命令:find /etc/ -maxdepth 3 -mindepth 2 -name passwd找出/etc下深度最大为3,最小为2且叫passwd的文件
按文件大小查找
命令:find /etc -size 10k 查找/etc下大小为10k的文件并且统计个数
命令:find /etc -size -10k 查找/etc下大小小于10k的文件并且统计个数
命令:find /etc -size -10k 查找/etc下大小大于10k的文件并且统计个数
按文件类型查找
d | 目录 |
---|---|
l | 软链接,快捷方式 |
s | socket ,套接字符 |
b | block块设备 |
c | 字符设备 |
find /etc/ -type d查找/etc下的目录
find /etc/ -type f查找/etc下的文件
find /etc/ -type l查找/etc下的软连接
按文件修改时间查找
find /etc -cmin 15 /etc目录下距现在15分钟创建修改的文件
find /etc -cmin -15 /etc目录下15分钟以内创建修改的文件
find /etc -cmin +15 /etc目录下15分钟以后创建修改的文件
find /etc -ctime -10 /etc目录下10天以内创建修改的文件
find /etc -ctime +10 /etc目录下10天以外创建修改的文件
按文件权限时间查找
find /etc -perm -444 权限中包括rrr的文件
find /etc -perm /444 权限中有用户r,组r或者其他人o为r的文件
find /etc -perm -444 -exec chmod o-r {} \ ; 查找到包含444的文件并将其他用户r去掉
- 查找/tmp目录下文件名为passwd的文件find /tmp -name “passwd”
- 查找/tmp目录下文件名以passwd开头的文件,passwd不区分大小写find /tmp -iname “passwd*”
- 查找/tmp目录下属主为keyso的文件find /tmp -user keyso
- 查找/tmp目录下属组为keyso的文件find /tmp -group keyso
- 查找/tmp目录下UID为502的文件find /tmp -uid 502
- 查找/tmp目录下GID为502的文件find /tmp -gid 502
一个普通用户例如keyso创建了/tmp/keyso.txt,该文件属主和属组都是keyso
但当keyso用户被删除之后,/tmp/keyso.txt文件的属主和属组会发生变化
此种情况无法再根据属主为keyso这个被删除用户查找到/tmp/keyso.txt文件
- 查找/tmp目录下没有属主的文件find /tmp -nouser
- 查找/tmp目录下没有属组的文件find /tmp -nogroup
- 查找/tmp目录下的目录find /tmp -type d
-type文件类型包括:
f | 普通文件 |
---|---|
d | 目录 |
b | 块设备 |
c | 字符设备 |
l | 符号链接文件 |
p | 命名管道 |
s | 套接字 |
- 查找/tmp目录下大于100M的文件 find /tmp -size +100M
- -size:根据文件大小查找,-size [+ | -]#[k | M | G],+(大于),-(小于),没有+和-,就是精确匹配
- #实际的取值范围:(#-1)
- 查找/tmp目录下一天之内被访问过的文件 find /tmp -atime -1
- 格式:-[a | m | c][time | min] [+ | -]#
- 根据time时间戳查找(以天为单位):
-atime | 访问时间,就是一个文件最后一次被访问的时间 |
---|---|
-mtime | 修改时间,就是文件的内容最后被修改的时间 |
-ctime | 改变时间,就是文件或者目录的属性(属主、属组、权限等等)被改变的时间 |
- 根据min时间戳查找(以分钟为单位):
-amin | 意义同-atime |
---|---|
-mmin | 意义同-mtime |
-cmin | 意义同-ctime |
+# | 表示(#+1)天之外被访问过 |
-# | 表示#天之内被访问过 |
# | 表示在#<=x<(#+1)天的时间段内被访问过 |
- 查找/tmp目录下权限为644的文件find /tmp -perm 644
- 根据权限查找,格式:-perm [+ | -]MODE
+MODE | 任何一类用户的任何一位权限匹配,常用于查找某类用户的某特定权限是否存在 |
---|---|
-MODE | 每类用户的指定要检查的权限位都要匹配 |
MODE | 精确匹配所给的权限 |
-示例: //6=4+2=r+w
- 查找/tmp目录下权限为666的文件(精确匹配) find /tmp -perm 666
- 查找/tmp目录下其他用户有读写权限的文件find /tmp -perm -006
- 查找/tmp目录下其他用户有读或者写权限的文件find /tmp -perm +006
- 查找/tmp目录下至少有一类用户有写权限的文件find /tmp -perm +222
- 查找/tmp目录下所有用户都有写权限的文件find /tmp -perm -222
- 查找/tmp目录下所有用户都没有写权限的文件find /tmp -not -perm +222
- //“所有用户都没有”和“只要有一类用户有”意思相反
- //只确定不能有写权限,并不能确定有没有读和执行权限
- 查找/tmp目录下至少有一类用户没有写权限的文件:# find /tmp -not -perm -222
- //“至少有一类用户没有”和“所有用户都有”意思相反
- 查找/tmp目录下属组或者其他用户有读写权限的文件:# find /tmp -perm -060 -o -perm -006
- 查找/tmp目录下属组和其他用户都有读写权限的文件:# find /tmp -perm -066
- 查找/tmp目录下属组有读或者写权限,或者其他用户有读或者写权限的文件(4选1):
find /tmp -perm +066
- 查找/tmp目录下的普通文件,并删除:# find /tmp -type f -exec rm -rf {} ;
- 查找/tmp目录下大于10M的文件,并以长格式显示文件信息:# find /tmp -size +10M -ls
- 查找/tmp目录下以.doc结尾的文件,并重命名为.docx:# find /tmp -iname “*.doc” -exec mv {} {}x ;
处理动作
- -ls:以长格式显示文件信息
- -exec COMMAND {} ; --> 对查找到的文件执行指定的命令,{}为占位符,指代find查找到的文件
- -ok COMMAND {} ; --> 与-exec COMMAND {} ;类似,交互式的-exec
- |xargs COMMAND:对查找到的文件执行指定的命令,功能与-exec COMMAND {} ;类似
备注:-exec与xargs的区别
-exec:
find将查找到的所有文件一次性全部传递给-exec所指定的命令,容易出现溢出错误
-exec为处理每一个匹配到的文件而发起一个相应的进程,会导致进程过多,系统性能下降
xargs:
对find传递给xargs所指定的命令的文件,每次只获取一部分而不是全部,不会出现溢出错误
另外xargs只会发起一个进程,不会导致系统性能下降
- 查找/tmp目录下没有属主或属组,且最近1个月内曾被访问过的文件:
find /tmp ( -nouser -o -nogroup ) -a -atime -30 //括号内侧的两端都需要加空格
组合条件
-a:与,同时满足,如果组合条件中只有-a,可以省略 --> # find /tmp -user Hadoop [-a] -name "*.txt"
-o:或,只需满足其一即可,优先级比-a低,如果需要先执行-o条件,需要加(),()需要转义
-not | !:非,取反
非A且非B <==> 非(A或B) -not A -a -not B <==> -not \( A -o B \)
非A或非B <==> 非(A且B) -not A -o -not B <==> -not \( A -a B \)
linux下find命令的详细说明相关推荐
- linux中的ps fx命令,Linux下ps命令详解 Linux下ps命令的详细使用方法
Linux下ps命令详解 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断 ...
- linux环境下ps命令行,Linux下ps命令详解 Linux下ps命令的详细使用方法
Linux下ps命令详解 Linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运 ...
- Linux高频命令汇总,Linux下高频命令分类辑录(基本使用篇)
本文目的:总结linux下常用命令的基本使用方法 文件权限: 文档权限设置命令:chmod 数字模式: 文档权限由-rwxrwxrwx十个字符组成,其中第一个代表文档类型,后面九个字符按照顺序分为三组 ...
- linux系统退出当前计算节点命令,Linux下60个系统命令详细解.doc
Linux下60个系统命令详细解 嵌入式学习指引--Linux下60个系统命令详细解 Linux为用户提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权 ...
- 嵌入式linux完整top命令,linux下top命令详细介绍
top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显示过程,即可以通过用户按键来不断 ...
- Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息
java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...
- Linux下的命令总结笔记(二)
说在前面的话: 本文是以笔记的形式呈现,那么其内容也将会有一个更新的过程.其命令也为亲测内容,大家可以放心使用(蓝色字体部分除外,蓝色部分为未测试或测试后未验证).如果有一些什么问题,可以给我留言. ...
- linux下安装DB2的详细步骤
我也是才学习,在网上找了一个在linux下安装DB2 的步骤,共享给大家看看了. linux下安装DB2的详细步骤! 第一步:检查程序包及其版本 在软件包管理中查看下列软件包是否安装,如没有安装,先安 ...
- linux下scp命令详解
http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792179.html linux下scp命令详解 http://www.9usb.net/20 ...
- Linux下查找命令
转载自 Linux下查找命令 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在目录 more 分页显示一个文件或任何输出结果 /bin less 分页显示一个文件并且可以回头 ...
最新文章
- Google又放大招:高效实时实现视频目标检测 | 技术头条
- 自动驾驶场景下的高效激光里程计
- u盘锁电脑_Win10电脑无法识别U盘?这5步操作就能轻松搞定,收藏备用
- Android开发神器:OkHttp框架源码解析
- 微软Silverlight 3正式版已经出炉
- win8系统关闭共享服务器,Windows8系统关闭Windows Media Player网络共享服务的方法
- Java中的CopyOnWrite
- php编译 ftp,无需重新编译php加入ftp扩展的解决方法
- c ++类成员函数_仅使用C ++创建具有公共数据成员的类
- 获取硬盘总容量,柱面数,磁道数,扇区数
- Excel VBA - 文件及目录操作
- java unsafe park_Java魔法类——Unsafe应用解析
- C++/CLI学习入门数组
- 计算机里的e盘 不能应用,我的电脑里的e盘打不开是怎么回事
- Asp.Net集成支付宝当面付接口报ISV权限不足
- 关于艾宾浩斯曲线的一点思考
- MeasureSpec介绍及使用详解
- Looking up JNDI object with name [LOGGING_PATTERN_LEVEL]
- BZOJ-1827 [Usaco2010 Mar]gather 奶牛大集会
- 488. 祖玛游戏【我亦无他唯手熟尔】
热门文章
- PIC单片机c语言休眠,PIC16F72 休眠程序
- 深度技术官网linux,深度系统
- 磁盘是随机存储设备,但不是随机存储器(RAM)。为什么?
- 国产系统银河麒麟(龙芯MIPS)远程访问自研windows程序
- 住宅IP和机房IP有什么区别,爬虫用哪种好?
- Google推荐的图片加载库Glide介绍
- u盘server2012服务器系统安装,如何安装原版Windows server 2012?U盘安装原版Windows server 2012方法...
- 2、51单片机——I2C 总线
- 信息安全-保研面试经历总结
- 点连通度与边连通度的求解