Linux下的文件查找命令——find
Linux下几个常见的文件查找命令:
which 查看可执行文件的位置
whereis 寻找特定文件,查看文件的位置
locate 配合数据库查看文件位置
find 实际搜寻硬盘查询文件名称
通常情况下find命令并不是很常用,大家都优先使用whereis和locate命令来查找,因为whereis和locate命令都是利用数据库来查找文件所在,并没有实际查询硬盘,所以速度很快,节省时间。但是我们的find命令依然很强大,它的查找条件相当多,对于用其他命令查找不到的文件,就可以考虑使用find命令在硬盘上遍历查找,虽然速度慢效率低。
find(用于在文件树中查找文件,并进行相应操作)
格式: find [PATH] [option] [action]
[PATH] : 所要搜索遍历的目录,默认为当前目录
[option] : 所要搜索文件的条件特征
[action] : 对搜索结果进行特殊处理
- 为了缩短指令的执行时间,要尽量缩小查找的起始目录。因为find指令使用递归的方式遍历目录,所以起始目录范围较大,会导致find指令的运行时间过长。
- 不加任何参数时,默认遍历当前目录及其子目录,将它们全都显示在屏幕上。

1. 与时间有关的参数
-amin n :查找n分钟内被访问过的文件
-cmin n : 查找n分钟内被修改过文件状态的所有文件
-mmin n : 查找n分钟内被修改过文件内容的所有文件
-atime n : 将n天内存取过的的文件列出来
-ctime n : 将n天内改变、新增的文件或者目录列出来
-mtime n : 将n天内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来 (可用来分辨两个文件之间的新旧关系)
除此之外,以-mtime为例:(类比使用其他与时间有关的参数)
-mtime n :列出n天前的那一天被更改过的文件
-mtime +n :列出n天之前(不包含n天本身)被更改过的文件
-mtime -n :列出n天之内(包含n天本身)被更改过的文件
-mtime 0 : 0代表当前时间,即列出从现在开始到24小时前之间的被更改过的文件

2. 与用户或用户组名有关的参数
-uid n :寻找拥有者ID为n的文件
-gid n :寻找用户组ID为n的文件
-group name :寻找群组名称为name的所有文件
-user name :寻找用户名称为name的所有文件
-nouser :寻找文件所有者不存在 /etc/passwd 的人(可以查找不太正常的文件)
-nogroup : 寻找文件的所有用户组不存在于 /etc/group 中的文件
如果你将某个账户删除了,该账户曾经建立的文件就成了无主的非正常文件,这时候可以利用 -nouser来找出该类型的文件

3. 与文件权限及名称有关的参数
(1)-name [filename] : 查找文件名为filename的文件

从以上的例子中我们可以看出,find命令需要一个路径名作为查找范围,find会深入到这个路径的每一个子目录中去寻找,打印文件的绝对路径。
如果指定路径为“/”,就查找整个文件系统。-name选项指定了文件名,-printf表示将结果输出到屏幕上,-type选项用来定位特殊文件类型。
(2)-size [+-]SIZE : 查找比"SIZE"还要大(+)或小(-)的文件 (SIZE的规格有:① c :代表byte ②k :代表1024 bytes) ; 要找比50k还要大的文件时就用" -size +50k"
(3)-type [TYPE] :查找文件类型为TYPE的文件
-type选项常见的参数:
| 参数 | 含义 |
| b | 块设备文件 |
| c | 字符设备文件 |
| d | 目录文件 |
| f | 普通文件 |
| p | 命名管道 |
| l | 符号链接 |
(4)-perm [mode] : 查找文件权限刚好等于"mode"的文件,这个"mode"为类似chmod的属性值
-perm [+mode] : 查找文件权限全部包含“mode”权限的文件
-perm [-mode] : 查找文件权限包含任一“mode”权限的文件

4.其它
-exec [command] : command为其他命令,-exec后面可接其它的命令来处理查找到的结果。
-exec 到 “ \; ”是关键字,代表find额外命令的开始到结束,这两者之间就是find命令的额外命令
-print :将结果打印到屏幕上,默认操作

Linux下的文件查找命令——find的更多相关文章
- Linux下的文件查找类命令(转载)
如何快速有效的定位文件系统内所需要查找的文件呢?Linux为我们提供了一些文件查找类的命令,我们需要掌握以下几个命令: http://blog.csdn.net/sailor201211/articl ...
- Linux下的搜索查找命令的详解(find)
4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...
- Linux下强大的查找命令find 用法和常见用例
Linux系统下find是较为常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对我们很有用处. 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于Li ...
- Linux下的find查找命令
Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容).find(在磁盘上查找文件).grep(使用正则表达式 ...
- linux下五种查找命令
我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...
- linux下常用文件传输命令 (转)
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
- Linux下4个查找命令which、whereis、locate、find的总结
(1)which [-a] cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...
- linux下常用文件传输命令(转)
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
- Linux下的搜索查找命令的详解(whereis)
2.whereis 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据 ...
随机推荐
- Chromium中多线程及并发技术要点(C/C++)
类别 类 说明 演示样例 线程机制 Thread (參考:线程模型及应用指南) MessagePump MessageQueue SequencedWorkerPool 它是一个线程池,用 ...
- json responseJson
private void doResoponseJson(HttpServletResponse resp,String jsonString){ Trace.logError(Trace.COMPO ...
- python3----strip lstrip rstrip
Python中的strip用于去除字符串的首位字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符.这三个函数都可传入一个参数,指定要去除的首尾字符.注意的是,传入的是一个字符数 ...
- ios . -- UICollectionView --cell 自适应
#pragma mark — 视图控制器中使用:(关键) layout.estimatedItemSize = CGSizeMake(WIDTH, ); // layout约束这边必须要用estima ...
- linux下装locustio
升级Python版本 #python centOS6.8中默认安装的是2.6版本,因为我在安装到后面的时候报错Python版本较低,所以可以先把python版本升级到2.7: 直接在命令行输入:#wg ...
- JS 插件 fastclick.js 解决手机端click点击延迟
FastClick 是一个简单,易于使用的JS库用于消除在移动浏览器上触发click事件与一个物理Tap(敲击)之间的300延迟. 对于非移动浏览器不启作用,禁用缩放标签. <meta name ...
- fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory
stdint.h是c99标准的头文件,vc不支持,所以肯定会提示“No such file or directory”的. stdint.h是C99的标准,主要用于统一跨平台数据定义. MSVC中不带 ...
- 洛谷 P2721 小Q的赚钱计划
洛谷 这大概是我见过最水的紫题吧- 洛谷标签赞一个! 题意:你有一年时间,把10w元存银行变成更多钱,在特定时间区间内,你会有一些利息,不过不可中途退出. 直接dp:st[i]表示区间左端点,ed[i ...
- 关于服务器jdk版本和代码编译调试兼容问题
首先代码是基于哪个版本编写和调试,有没有用到新版本jdk新的特性,类啊接口啊啥的,用到了的话,就不行了 其他都共有的是向下兼容的 最好开发环境的jdk版本和部署环境的jdk版本匹配.
- springboot添加对listener,servlet,filter的支持
比较常用的方式就是使用注解来添加对 监听器,过滤器,servlet的支持. 1.首先在启动类上添加 @ServletComponentScan 开启 对监听器,过滤器,servlet的注解扫描. ...