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 用法和常见用例的更多相关文章

  1. Linux下的搜索查找命令的详解(find)

    4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...

  2. Linux下的文件查找命令——find

    Linux下几个常见的文件查找命令: which       查看可执行文件的位置 whereis    寻找特定文件,查看文件的位置 locate       配合数据库查看文件位置 find    ...

  3. Linux下的find查找命令

    Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容).find(在磁盘上查找文件).grep(使用正则表达式 ...

  4. linux下五种查找命令

      我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...

  5. Linux下4个查找命令which、whereis、locate、find的总结

    (1)which   [-a]    cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...

  6. Linux下的搜索查找命令的详解(whereis)

    2.whereis  和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据 ...

  7. Linux下的搜索查找命令的详解(locate)

    3.locate locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中 ...

  8. Linux下的搜索查找命令的详解(which)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:  which  查看可执行文件的位置. whereis 查看文件的位置.  locate   配合数据库查看文件 ...

  9. Linux的五个查找命令find,locate,whereis,which,type

    Linux的五个查找命令 1. find 最常见且最强大的命令,可以查找任何文件. 格式 $ find   指定目录   指定条件   指定动作   指定目录: 所要搜索的目录及其子目录,默认当前目录 ...

随机推荐

  1. Python3 条件控制(九)

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语句的一般形式如下所示: i ...

  2. mysql远程连接的设置

    有时数据库所在机器与项目运行的机器不是同一个,那么就涉及到远程链接数据库了,配置远程连接数据库的步骤如下: 1.查看mysql数据库中,user表中的信息,如下图,先使用use mysql切换到mys ...

  3. django2 xadmin pip list

    diff-match-patch 20121119Django 2.0.5django-crispy-forms 1.7.2django-formtools 2.1django-import-expo ...

  4. pandas 之 concat

    本文摘自:http://pandas.pydata.org/pandas-docs/stable/merging.html 前提: ide: liuqian@ubuntu:~$ ipython 准备: ...

  5. linux中~和/区别

    /是指根目录  就是所有目录最顶层的目录~指的是你当前用户的主目录  如果是root用户的话就是/root/目录    如果是其他用户的话就是/home/下以你用户名命名的用户 在linux里面,~/ ...

  6. leetcode122 买卖股票的最佳时机 python

    题目:给定一个数组,它表示了一只股票的价格浮动,第i个元素代表的是股票第i天的价格.设计一个函数,计算出该股票的最大收益,注意,可以多次买入卖出,但下一次买入必须是在本次持有股票卖出之后.比如[1,7 ...

  7. SVN 定时 更新代码 Demo

    1. 涉及技术: Winservice: 用system身份后台跑:  Quartz:定时任务:  SVN 2. 思路: Quartz定时调用cmd 程序,执行SVN update 命令,整个程序寄宿 ...

  8. Python 傅里叶分析

    0. 一维序列卷积 np.convolve,注意 same/valid参数下(默认为 full),序列卷积出的结果的长度: >> np.convolve([1, 2, 3], [0, 1, ...

  9. python-websocket-server hacking

    /************************************************************************* * python-websocket-server ...

  10. poj3311 经典tsp问题

    题目的大概意思就是一个人到一些城市送披萨,要求找到一条路径可以遍历每个城市后返回出发点,而且路径距离最短.最后输出最短距离就可以. 注意:每个城市可反复訪问多次. 因为题中明白说了两个城市间的直接可达 ...