linux find的用法

linux find的用法,第1张

1、按名称或正则表达式查找文件

要按特定名称搜索文件,命令如下:

find . -name test.txt

如何查找所有格式为pdf的书籍?使用正则表达式:

find ./yang/books -name "*.pdf"

默认情况下,find命令会搜索常规文件,但最好进行指定(-type f)以使所有内容更清晰:

find ./yang/books -type f -name "*.pdf"

2、查找不同类型的文件

除了搜索常规文件外,我们还可以通过指定-type选项来搜索其他类型的文件,例如目录:

find . -type d -name "yang*"

或者符号链接:

find . -type l -name "yang*"

3、按指定的时间戳查找文件

要搜索atime超过一年的文件,我们可以编写如下命令:

find . -type f -atime +365

如果我们需要查找mtime正好是5天前的文件,请不要包含+,因为它的意思是“大于”。

find . -type f -mtime 5

显然,+表示“大于”,-表示“小于”。所以我们可以搜索ctime在5~10天前的文件:

find . -type f -ctime +5 -ctime -10

4、按大小查找文件

类似于按时间戳查找文件,+表示“大于”,-表示“小于”。例如,要查找大小为10MB~1GB的文件:

find . -type f -size +10M -size -1G

5、按权限查找文件

合理控制文件的权限是Linux管理员的一项重要任务。find命令的-perm选项可以帮助我们按指定权限查找文件:

find . -type f -perm 777

6、按所有权查找文件

例如,以下命令将查找所有属于yang的文件:

find -type f -user yang

7、在找到文件后执行命令

在大多数情况下,我们希望在找到我们需要的文件后进行后续 *** 作。例如将其删除,或检查它们的详细信息等等。-exec命令使这些所有事情变得更加容易。

现在,要了解如何使用它,让我们回到之前提到的面试问题:

find . -type f -atime +365 -exec rm -rf {} \

上述命令在-exec选项后是rm -rf,其用于删除文件。{}是用于查找结果的占位符。

注意:占位符{}非常重要,尤其是在您想删除文件时。因为,如果您不使用它,该命令将对所有文件执行(而不是您刚刚通过find命令找到的文件)。

在 Linux 中查找文件有两种方法。一种是使用 find 命令,另外一种是使用 locate 命令。

1、Find 命令

使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下:

# find path expression search-term 

下面是使用 find 命令根据文件名来查找特定文件的一个例子:

# find -name test.file 

命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下。

find 命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。比如,如果你知道 /var 中存在 test.file,那就没有必要搜索其它目录。这样,你可以使用下面的命令:

# find /var -name test.file 

find 还可以根据时间、大小、所属人、权限等选项搜索文件。要了解更多关于这些选项的信息,你可以使用查看** Linux find 命令**的手册。

# man find 

2、locate 命令

要在Linux中使用locate命令,首先需要安装它。

如果你正在使用 Ubuntu,运行下面的命令来安装 locate:

# apt-get update # apt-get install mlocate 

如果你使用的是 CentOS ,运行下面的命令来安装 locate:

# yum install mlocate 

locate 是一种比 find 更快的方式,因为它在数据库中查找文件。要更新搜索数据库,运行下面的命令:

# updatedb 

使用 locate 查找文件的语法:

# locate test.file 

就像 find 命令一样,locate 也有很多选项来过滤输出。要了解更多你可以查看Linux Locate 命令的手册。

# man locate 

路径查找。通过文件名查找文件索引节点的过程就叫做路径查找(pathlookup)。find命令在Linux中作为文件查找使用频次很高。为实现“按名存取”,必须建立文件名与辅存空间中物理地址的对应关系,体现这种对应关系的数据结构称为文件目录。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8792952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存