linux find命令怎么用

linux find命令怎么用,第1张

Linux

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。

语法格式:

find path -option [ -print ] [ -exec -ok command ] {} \

参数说明:

find根据下列规则判断path和expression,在命令列上第一个-(),!之前的部分为path,之后的部分是expression。如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression。

expression中可使用的选项有二三十个,在此只介绍常用的部分。

-mount,-xedv:只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中的文件

-amin n:在过去n分钟内被读取过

-anewer file:比文件file更晚被读取过的文件

-atime n:在过去n天内被读取过的文件

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

-cnewer file:比文件file更新的文件

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

-empty:空的文件-gid n or -group name:gid是n或是group名称是name

-ipath p,-path p:路径名称符合p的文件,ipath会忽略大小写

-name name,-iname name:文件名称符合name的文件,iname会忽略大小写

-size n:文件大小是n单位,b代表512位元组的区块,c表示字元数,k表示kilo bytes,w是二个位元组。

-type c:文件类型是C的文件。

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命令找到的文件)。

find命令可将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。

扩展资料:

linux的其他类似find命令详解:grep

用于查找文件中符合字符串的那行。

e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]

参数说明: -a :将 binary 文件以 text 文件的方式搜寻数据

-c :计算找到 '搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

参考资料来源:百度百科-linux命令

参考资料来源:百度百科-find


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存