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 指定目录 指定条件 指定动作 指定目录: 所要搜索的目录及其子目录,默认当前目录 ...
随机推荐
- Python3 条件控制(九)
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语句的一般形式如下所示: i ...
- mysql远程连接的设置
有时数据库所在机器与项目运行的机器不是同一个,那么就涉及到远程链接数据库了,配置远程连接数据库的步骤如下: 1.查看mysql数据库中,user表中的信息,如下图,先使用use mysql切换到mys ...
- django2 xadmin pip list
diff-match-patch 20121119Django 2.0.5django-crispy-forms 1.7.2django-formtools 2.1django-import-expo ...
- pandas 之 concat
本文摘自:http://pandas.pydata.org/pandas-docs/stable/merging.html 前提: ide: liuqian@ubuntu:~$ ipython 准备: ...
- linux中~和/区别
/是指根目录 就是所有目录最顶层的目录~指的是你当前用户的主目录 如果是root用户的话就是/root/目录 如果是其他用户的话就是/home/下以你用户名命名的用户 在linux里面,~/ ...
- leetcode122 买卖股票的最佳时机 python
题目:给定一个数组,它表示了一只股票的价格浮动,第i个元素代表的是股票第i天的价格.设计一个函数,计算出该股票的最大收益,注意,可以多次买入卖出,但下一次买入必须是在本次持有股票卖出之后.比如[1,7 ...
- SVN 定时 更新代码 Demo
1. 涉及技术: Winservice: 用system身份后台跑: Quartz:定时任务: SVN 2. 思路: Quartz定时调用cmd 程序,执行SVN update 命令,整个程序寄宿 ...
- Python 傅里叶分析
0. 一维序列卷积 np.convolve,注意 same/valid参数下(默认为 full),序列卷积出的结果的长度: >> np.convolve([1, 2, 3], [0, 1, ...
- python-websocket-server hacking
/************************************************************************* * python-websocket-server ...
- poj3311 经典tsp问题
题目的大概意思就是一个人到一些城市送披萨,要求找到一条路径可以遍历每个城市后返回出发点,而且路径距离最短.最后输出最短距离就可以. 注意:每个城市可反复訪问多次. 因为题中明白说了两个城市间的直接可达 ...