您的位置  > 互联网

Linux中查找文件的命令-查找命令

他们的主要区别是:

find:是一个非常强大的搜索命令,可以实现实时搜索和精确搜索,但是在搜索大量内容时速度慢且效率低。

:搜索速度快,但不是实时搜索,搜索结果不准确。

:用于查找二进制文件、源代码文件和帮助手册;

其中:将在环境变量$PATH设置的目录中搜索符合条件的文件

1.find 查找文件

find 用于在指定目录中搜​​索文件。

参数前面的任何字符串都将被视为要搜索的目录的名称。

如果使用该命令而不设置任何参数,find命令将在当前目录中搜索子目录和文件。 所有找到的子目录和文件都会显示出来。

寻找

path:要搜索的目录及其所有子目录。 默认为当前目录。

:要搜索的文件的特征。

-cmin n :过去n分钟内修改过

-ctime n:过去n天内修改过的文件

-mtime n:过去n天内修改过的文件

-mmin n:过去n分钟内修改过

-empty:空文件,寻找文件大小为0 Byte的文件,或者没有任何子目录或文件的空目录;

-ipath p, -path p:匹配文件路径,ipath会忽略路径大小写

-name name、-iname name:匹配文件名。 iname 忽略名字大小写

-size n:匹配文件大小,单位为:c--字节、k--千字节、M--兆字节、G--GB

-type c:匹配文件类型,c为指定类型。 (文件类型参数为:f--普通文件、d--目录、l--符号链接)

-exec:假设find命令的返回值为True,则执行该命令;

-ok:该参数的效果与指定“-exec”类似,但在执行命令之前会询问用户。 如果答案是“y”或“Y”,则该命令将被放弃;

-regex:指定一个字符串作为查找文件或目录的模板模式

列出当前目录及其子目录下所有以.py为后缀的文件:

寻找 。 -名称“*.py”

寻找 。 -iname“*.py”

匹配文件路径或文件:

查找 /usr/ -path "*local*"

根据正则表达式匹配文件路径:

寻找 。 -正则表达式“.*\(\.txt\|\.doc\)$”

(查找当前目录及子目录下所有以.txt或.doc结尾的文件)

查找最近 3 天内访问过的所有文件:

寻找 。 -类型f -atime -3

在当前目录中查找大于10kb的文件

寻找 。 -大小+10k

2.查找文件

搜索命令比较简单,而且不是实时的,而是基于数据库的更新。

实际上检查的是保存文档和目录名称的数据库。 默认为/var/lib//.db。

Linux系统自动创建这个数据库并每天自动更新一次。 因此,当我们搜索文件时,有时会发现数据已被删除,或者文件刚刚创建但找不到。 原因是数据库文件没有更新。

为了避免这种情况,可以在使用前使用命令手动更新数据库(也可以使用-u命令更新)

查找以以下内容开头的所有文件

查找/data/jjing/目录下所有以test开头的文件或文件夹

/数据/jjing/测试

3.查找文件

该命令只能用于搜索程序名,并且只搜索二进制文件(参数-b)、man描述文件(参数-m)和源代码文件(参数-s)。 如果省略参数,则返回所有信息。

查找与该文件名相关的所有数据

#

: /usr/bin/ /etc/ /usr/share/man/man1/.1.gz

4.查找文件

which命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置,并返回第一个搜索结果。 也就是说,通过which命令可以查看某个系统命令是否存在以及该命令执行到了哪里。

$ 哪个 grep

/bin/grep