Linux下强大的查找命令find 用法和常见用例
Linux系统下find是较为常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对我们很有用处。
因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于Linux来说find是一条很重要的命令。Linux下面的find指令用于在目录结构中搜索文件,并执行指定的操作。它提供了相当多的查找条件,功能很强大。在不指定查找目录的情况下,find会在对整个系统进行遍历。
即使系统中含有网络文件系统,find命令在该文件系统中同样有效。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
命令功能
用于在文件树中查找文件,并做相应的处理,(有可能访问磁盘)。
1.find命令的格式
find pathname -options [-print -exec -ok ...]
2.命令参数
pathname : find命令所查找的目录路径。例如用 . 来表示当前目录,用 / 来表示系统根目录;
-print:find命令将匹配的文件输出到标准输出;
-exec : find命令对匹配的文件执行该参数所给出的shell命令,为查找完成以后的操作。
相应命令的形式举例如
-exec ls -l {} \;
注意{ }和\;之间的空格;
-ok : 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行,
格式为:
-ok ls -l {} \;
3.命令选项
-options :
-name : 按照文件名查找文件;

-perm : 按照文件权限来查找文件;

-prune : 使用这一选项可以使find命令不在当前指定的目录中查找,
如果同时使用-depth选项,那么-prune将被find命忽略;


-user : 按照文件属主来查找文件;

-group: 按照文件所属的组来查找文件;

-mtime -n +n : 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项相同;

-nogroup :查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在;
-nouser : 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在;
find -nogroup find -nouser
-newer file1:查找更改时间与文件file1更改时间最近的文件;

-type :查找某一类型的文件,诸如:
b - 块设备文件; d - 目录; c - 字符设备文件; p - 管道文件; l - 符号链接文件; f - 普通文件;

-size n +[c] 代表以字节计即查找字节为n的文件,+n(表示大于n字节的文件),-n(表示小于n字节的文件);

-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找;

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到该配置文件中包含了本系统中有关文件系统的信息;
-mount:在查找文件时不跨越文件系统mount点;
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件;
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
4.命令功能
用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)。
5.总结
由以上可知 Linux下find命令提供了相当多的查找条件,选项很多,功能很强大,即使系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。
所以在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间 (这里是指30G字节以上的文件系统)。
(以上举例命令参数pathname基本都没有明确给出,默认为当前路径)
Linux下强大的查找命令find 用法和常见用例的更多相关文章
- Linux下的搜索查找命令的详解(find)
4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...
- Linux下的文件查找命令——find
Linux下几个常见的文件查找命令: which 查看可执行文件的位置 whereis 寻找特定文件,查看文件的位置 locate 配合数据库查看文件位置 find ...
- Linux下的find查找命令
Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容).find(在磁盘上查找文件).grep(使用正则表达式 ...
- linux下五种查找命令
我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...
- Linux下4个查找命令which、whereis、locate、find的总结
(1)which [-a] cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...
- Linux下的搜索查找命令的详解(whereis)
2.whereis 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据 ...
- Linux下的搜索查找命令的详解(locate)
3.locate locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中 ...
- Linux下的搜索查找命令的详解(which)
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件 ...
- Linux的五个查找命令find,locate,whereis,which,type
Linux的五个查找命令 1. find 最常见且最强大的命令,可以查找任何文件. 格式 $ find 指定目录 指定条件 指定动作 指定目录: 所要搜索的目录及其子目录,默认当前目录 ...
随机推荐
- bzoj1025
题意: 找环 有多少种不同的排列 使排列数目为n 题解: 考虑dp f[i][j]表示前i个质数,和为j的方案数 然后转移一下即可 代码: #include<bits/stdc++.h> ...
- new BigDecimal(0.01) 与 new BigDecimal(String.valueOf(0.01))的区别 (转)
转自:http://blog.csdn.net/major1985/article/details/50210293 一般我们使用BigDecimal进行比较精密的计算,我这里计算金额.注意使用dou ...
- Linux运维学习笔记-通配符及正则表达式知识总结
通配符: * 代表所有 ? 任意一个字符 : 两个命令的分隔符 # 注释 | 管道,将|前命令的执行结果作为|后命令的输入 ~ 用户的家目录 - 上一次的目录 $ 变量前面 ...
- ajax向后台请求数据,后台接收到数据并进行了处理,但前台就是调用error方法
如果你的前台页面书写正确的情况下,并且运行情况和本文题目类似,那不妨试试这个: 在ajax方法中加上:async:false,让ajax同步执行. 因为ajax默认是异步的,至于为什么会不执行succ ...
- Pandas dataframe 标记删除重复记录
Pandas提供了duplicated.Index.duplicated.drop_duplicates函数来标记及删除重复记录 duplicated函数用于标记Series中的值.DataFrame ...
- centos中如何安装php-bcmath扩展?
talk is cheap,show me the code: [root@LAMP1 lib]# php -v PHP (cli) (built: Oct ::) Copyright (c) - T ...
- DBUnit使用介绍
一.DbUnit设计理念熟悉单元测试的开发人员都知道,在对数据库进行单元测试时候,通常采用的方案有运用模拟对象(mock objects)和stubs两种.通过隔离关联的数据库访问类,比如JDBC的相 ...
- 显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
很多朋友的php程序当php的版本升级到5.3以后,会出现”Deprecated: Assigning the return value of new by reference is deprecat ...
- bzoj 5020(洛谷4546) [THUWC 2017]在美妙的数学王国中畅游——LCT+泰勒展开
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5020 https://www.luogu.org/problemnew/show/P4546 ...
- Lucene/Solr搜索引擎开发笔记 - 写作方向调整
今天突然想到一个问题,觉得直接从Solr开始写,如果没有Lucene知识背景的话,看后续的章节还是比较吃力的,所以从下一篇博文开始,我可能会从Lucene开始写作,只要有Java的基础,搞定Lucen ...