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的更多相关文章

  1. Linux下的文件查找类命令(转载)

    如何快速有效的定位文件系统内所需要查找的文件呢?Linux为我们提供了一些文件查找类的命令,我们需要掌握以下几个命令: http://blog.csdn.net/sailor201211/articl ...

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

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

  3. Linux下强大的查找命令find 用法和常见用例

    Linux系统下find是较为常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对我们很有用处. 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于Li ...

  4. Linux下的find查找命令

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

  5. linux下五种查找命令

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

  6. linux下常用文件传输命令 (转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

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

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

  8. linux下常用文件传输命令(转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

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

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

随机推荐

  1. Unity如何判断网络连接类型

    今天遇到了一个问题,如何判断手机游戏当前的网络连接类型,是wifi还是234G? 起初准备在Android中写好插件供Unity调用,后来在网上浏览众神的帖子时,在csdn上看到了使用NetworkR ...

  2. shell bash使用,包括判断文件或文件夹是否存在举例

    Linux shell编程——if条件判断 if [ condition ] ;then //一定要注意[] 與裡面的內容要有空格隔开 例如 if [(空格)${a} -eq 3(空格)]; then ...

  3. OpenCV学习笔记十八:opencv_flann模块

    一,简介: Fast Library for Approximate Nearest Neighbors (FLANN)算法库.

  4. Laravel使用ORM操作数据

    数据表 CREATE TABLE IF NOT EXISTS students( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(255) NO ...

  5. Golang中的正则表达式

    声明:文章转自GoLove 用法: 单一: . 匹配任意一个字符,如果设置 s = true,则可以匹配换行符 [字符类] 匹配"字符类"中的一个字符,"字符类" ...

  6. xshell ftp报错:找不到匹配的outgoing encryption算法

    场景:由于登陆跳板机都是从采用密钥的方式进行登陆的,然后在传输文件的时候报错 报错信息: 解决方案: 点击属性--->选择aes256-ctr加密方式默认这里是没有选择的 再次连接就成功连接上去 ...

  7. XML 文档的结构

    XML 文档的组成 一个XML文档由两部分构成:第一部分是文档序言,第二部分是文档元素(节点). 1.文档序言 文档序言通常位于XML文档的顶端,根元素之前出现,它是一个特定的包含XML 文档设定信息 ...

  8. resize和reserve

    resize改变的实际的大小,reserve是容量即capacity 如果先指定capacity的大小,可以防止内存的重新分配,我感觉在分配实际的内存的时候会餐口capacity的大小,如果事先指定容 ...

  9. git 中 A C D M R T U X 分别解释

    git 中 A C D M R T U X 分别解释 - CSDN博客 https://blog.csdn.net/adminyan/article/details/64922979 A: 你本地新增 ...

  10. ThinkPHP官网瀑布流实现分享

    很多人都想做瀑布流的效果,这里告诉大家官网使用的方法. 首先要下载瀑布流的插件jquery.masonry.min.js 地址:http://masonry.desandro.com/index.ht ...