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 指定目录 指定条件 指定动作 指定目录: 所要搜索的目录及其子目录,默认当前目录 ...
随机推荐
- 升级安装windows8.1以后windowsphone8不能启动虚拟机的办法
如果之前在的虚拟机是OK的话,VS2012需要安装update3补丁才可以. 下载地址:http://download.microsoft.com/download/D/4/8/D48D1AC2-A2 ...
- 201621123006 《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 结合题集题目7-1回答 1.1 自己以前编写的代码中经常出现 ...
- Build Tree View Structure for SharePoint List Data
博客地址 http://blog.csdn.net/foxdave 此文参考自->原文链接 版权归原作者所有,我只是进行一下大致的翻译 应坛友要求,帮助验证一下功能. SharePoint列表数 ...
- Java判断String类型变量是否可以转换数字类型
正则表达式 首先要import java.util.regex.Pattern 和 java.util.regex.Matcher public boolean isNumeric(String st ...
- RF/GBDT/XGBoost/LightGBM简单总结(完结)
这四种都是非常流行的集成学习(Ensemble Learning)方式,在本文简单总结一下它们的原理和使用方法. Random Forest(随机森林): 随机森林属于Bagging,也就是有放回抽样 ...
- zend 2.2 db select 使用例子
<?php use Zend\Db\Sql\Select; // basic table $select0 = new Select; $select0->from('foo'); // ...
- wiremock docker 运行
使用docker 模式 docker-compose yaml version: '3.3' services: service1: image: rodolpheche/wiremock ports ...
- 使用bit管理npm包
npm 包给共享,团队写作有好多问题需要解决,类似的解决方案有lerna yarn 使用monorepo,bit 官方有相关的比较 以下只说明如何进行简单的项目使用 网站 https://bitsrc ...
- 【转】UBUNTU 下GIT的安装
原文网址:http://www.cnblogs.com/perseus/archive/2012/01/06/2314069.html linux下软件的安装方式有多种,最简单的莫过于从软件中心直接安 ...
- asm335x系列adc和触摸屏驱动(转)
An analog-to-digital converter (abbreviated ADC) is a device that uses sampling to convert a continu ...