Linux-Find命令

在Linux中,经常要查找某个文件,但不知道放在哪里了,针对这种情况,我们可以使用以下这些命令来进行文件的搜索:

Which: 查看可执行文件的位置。
whereis: 查看文件的位置。
locate: 配合数据库查看文件位置。
Find: 实际搜寻硬盘查询文件名称。

在这里,我们重点介绍Find命令:

Find指令:
1.命令功能:
Find指令主要用来查找文件,在文件树(目录结构)中搜索文件,并执行指定的操作。
2.命令格式:
find pathname -options [-print -exec -ok ...]
3.命令参数:
pathname: find命令所查找的目录路径。用.来表示当前目录,用/来表示系统根目录。 
-print: find命令将匹配的文件输出到标准输出。 

-exec: find命令对匹配的文件执行该参数所给出的shell命令。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提
示,让用户来确定是否执行。
4.命令选项:
-name 按照文件名查找文件。 

-perm 按照文件权限来查找文件。 

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

-depth:在查找⽂件时,⾸先查找当前⺫录中的文件,然后再在其⼦⺫录中查找。
-user 按照文件属主来查找文件。 

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

-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内, + n表示文件更改时间距现在n天以

前。 find命令还有-atime和-ctime 选项,但它们都和-mtime选项相同。 

-type 查找某一类型的文件,诸如: 

b - 块设备文件。 

d -  目录。 

c - 字符设备文件。 

p - 管道文件。 

l - 符号链接文件。 

f - 普通文件。

 -size n: [c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

5.执行命令

(1)-name  

通过搜索文件名h.txt来搜索该名称的文件:

(2)-perm  

通过搜索文件权限来搜索文件,下例为搜索权限为666(即所有用户权限均为读、写权限)的文件:

(3)-depth  

通过搜索文件的深度搜索文件  下例搜索最大深度为3、名为file的文件

(4)-user  

通多搜索文件的所有者搜索文件,下例搜索拥有者为root的文件:

(5)-group  

通过搜索文件的所属组搜索文件,下例搜索所属组为root的文件:

(6)-mtime、-atime、-ctime  -n +n  

通过搜问文件的-mtime、-atime、-ctime搜索文件  下例搜索更改时间在距现在两天之内的文件:

(7)-type

通过搜索文件的类型搜索文件  下例搜索文件类型为普通文件的文件:

(b - 块设备文件、 
d -  目录、c - 字符设备文件、 p - 管道文件、 l - 符号链接文件、f - 普通文件。)

(8)-size n[c]

查找文件长度为n块的文件,带有c时表示文件长度以字节计。下例搜索长度为50k的文件

原文地址:https://www.cnblogs.com/hanxiaoyu/p/5519090.html