艺考网
全国站

find命令的这7个高级用法你一定没用过吧?

xunaa
2024-10-05 10:40:08
编辑说
这也是技术面试的热门话题。我们来看一个真实的问题:
如果你的Linux服务器上有一个名为logs的目录,如何删除该目录中上次访问时间超过一年前的日志文件?
这很常见,但令人惊讶的

这也是技术面试的热门话题。我们来看一个真实的问题:

如果你的Linux服务器上有一个名为logs的目录,如何删除该目录中上次访问时间超过一年前的日志文件?

这很常见,但令人惊讶的是并不是每个开发人员都能在面试中清楚地写出这个命令。

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

我们先从最简单的用法开始。要按特定名称搜索文件,请使用以下命令:

寻找。 -name test.txt 如何查找所有pdf格式的书籍?使用正则表达式:

find ./yang/books -name '*.pdf' 默认情况下,find 命令搜索常规文件,但最好指定它(-type f)以使一切更清晰:

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

查找不同类型的文件

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

例如目录:

寻找。 -type d -name 'yang*' 或符号链接:

寻找。 -type l -name 'yang*'

按指定的时间戳查找文件

要按指定时间戳搜索文件,我们需要知道Linux系统中3种不同的时间戳:

访问时间戳(atime):上次读取文件的时间。修改时间戳(mtime):文件内容最后一次修改的时间。更改时间戳(ctime):上次更改文件元数据的时间(例如所有权、位置、文件类型和权限设置)。所以,正如一开始的面试题中提到的,要搜索时间超过一年的文件,我们可以编写如下命令:

寻找。 -type f -atime +365 如果我们需要查找mtime 恰好是5 天前的文件,请不要包含+,因为它意味着“大于”。

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

find命令的这7个高级用法你一定没用过吧?

寻找。 -type f -ctime +5 -ctime -10

按大小查找文件

-size 选项使我们能够按指定大小查找文件。我们可以将其计量单位指定为以下约定:

b:512 字节块(默认) c:字节w:双字节字k:KBM:MBG:GB 与按时间戳查找文件类似,+ 表示“大于”,- 表示“小于”。例如,查找大小为10 MB ~ 1 GB 的文件:

寻找。 -type f -size +10M -size -1G

按权限查找文件

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

寻找。 -type f -perm 777 例如,上面的命令将搜索所有具有777 权限的文件,这意味着一个文件对其所有者、组和所有用户具有所有读、写和可执行权限。

按所有权查找文件

这个任务很简单。我们可以使用-user 选项指定用户名。例如,以下命令将查找属于yang 的所有文件:

find -type f -user yang

在找到文件后执行命令

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

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

寻找。 -type f -atime +365 -exec rm -rf {} \;上面的命令在-exec选项后面跟着rm -rf,用于删除文件。 {} 是用于查找结果的占位符。

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

要尝试一下,请在终端上执行以下两个命令并检查它们的结果有何不同:

一种使用占位符:

寻找。 -type f -atime +5 -exec ls {} \;另一个没用:

用户评论

野兽之美

我一直是用find命令来查找文件的,但是这些高阶用法好厉害啊!要赶紧学起来才行。

    有13位网友表示赞同!

浮光浅夏ζ

这个内容太棒了!感觉之前用的 find 命令都不够高级了。

    有14位网友表示赞同!

伤离别

我每天都要用 find 命令找文件,现在发现还有这么多高级用法,效率会提升很多吧

    有7位网友表示赞同!

晨与橙与城

真厉害啊,终于知道怎么用find命令精准查找文件了!

    有5位网友表示赞同!

浮世繁华

这些find命令的高级用法简直太牛了,以前都没见过用这种方式搜索 arquivos!

    有13位网友表示赞同!

嗯咯

哇,这 7 种高级用法我一个都不知道。感谢分享!

    有19位网友表示赞同!

七夏i

我要好好学习一下,以后可以用到这些高级用法了!

    有16位网友表示赞同!

拉扯

find 命令的潜力好大啊!这么多高手技巧,我的技能要提升了。

    有6位网友表示赞同!

素婉纤尘

太强大了,要用这些高级用法试试看!

    有9位网友表示赞同!

百合的盛世恋

以前找文件都靠手动翻找,现在可以用 find命令高效搜索啦,真是太开心了

    有12位网友表示赞同!

她最好i

我一直在想,能不能用find命令更精准地查找文件。原来还有这么多高级用法,这下放心了!

    有9位网友表示赞同!

一别经年

-regex 模块让我大开眼界了,这可是高技能啊!

    有16位网友表示赞同!

莫飞霜

学习一下这些高级用法,以后可以更有条理地使用 find 命令!

    有6位网友表示赞同!

墨城烟柳

这些技巧超棒,之前一直不知道怎么用find命令进行复杂搜索的,感谢解答!

    有8位网友表示赞同!

把孤独喂饱

简直是高手教学!

    有20位网友表示赞同!

念旧情i

终于明白了,原来找文件还能这样操作!我要赶紧练习一下!

    有16位网友表示赞同!

■孤独像过不去的桥≈

这篇文章写得太好了,内容实用又清晰易懂!

    有16位网友表示赞同!

纯真ブ已不复存在

这些高级用法我感觉可以用在很多场景下哦!

    有17位网友表示赞同!

免责声明
本站所有收录的学校、专业及发布的图片、内容,均收集整理自互联网,仅用于信息展示,不作为择校或选择专业的建议,若有侵权请联系删除!

大家都在看

find命令的这7个高级用法你一定没用过吧?

find命令的这7个高级用法你一定没用过吧?

这也是技术面试的热门话题。我们来看一个真实的问题: 如果你的Linux服务器上有一个名为logs的目录,如何删除该目录中上次访问时间超过一年前的日志文件? 这很常见,但令人惊讶的
2024-10-05
Linux小技巧:find命令使用详解,看完你会有收获

Linux小技巧:find命令使用详解,看完你会有收获

Linux命令中,find是一个比较复杂且难用的命令。在使用这个命令搜索文件的时候,我经常发现我找到了一些可以使用的例子,但是如果稍微改变一下条件,就找不到我想要的结果了。 下面
2024-10-05
英语中find/found的用法及区别

英语中find/found的用法及区别

find/found的用法和区别 英语语法词性动词形态 1. 当found为动词原型时,解释为:create,后接名词 例如:他几年前创办了这所学校。 2. Found是过去时态。当用作过去分词时,原型是f
2024-10-05
几个、几个、一点、一点的区别

几个、几个、一点、一点的区别

冰箱里鸡蛋不多了,他就去超市买了一些。 她的朋友很少,而且通常都不太快乐。她的朋友很少,而且通常都不太快乐。 我为几个亲密的朋友举办了一次晚宴。我为几个亲密的朋友举办了
2024-10-05
在一篇文章中阅读它!一点点和一点点、一点点和一点点有什么区别以及如何使用它们?用途介绍

在一篇文章中阅读它!一点点和一点点、一点点和一点点有什么区别以及如何使用它们?用途介绍

Little: 用在不可数名词前,表示“很少,几乎没有”。通常用在否定句或疑问句中,表达不满意的情况或询问数量。例如:“还有牛奶吗?” 'Just a little.'a little: 也用在不可数名
2024-10-05
初中常用词汇分析,初中易混淆词汇分析:几个,几个,一点点,一点点

初中常用词汇分析,初中易混淆词汇分析:几个,几个,一点点,一点点

Few, a Few, Little, Little的区别及用法: 一些,一点点是积极意义,一些,一点点。很少和很少表达负面含义,没有和几乎没有。 1. Few/a Few 用于修饰可数名词。 1. Few表示负面
2024-10-05
英语语法few\a和little\a little的区别

英语语法few\a和little\a little的区别

几个\几个 Few 和Few 后面跟可数名词的复数形式。 a Few表示数量很少或几乎不存在,强调“很少”,有否定意义; a few表示数量虽少,但仍然存在,强调“有”,有积极意义: 很少有人
2024-10-05
几、几、一点、一点的区别:史上最详细解释

几、几、一点、一点的区别:史上最详细解释

1、few的意思是“很少,不多”,有消极的意思。它常与短语of连用,在句子中充当主语、宾语等。当few用作形容词时,意思是“很少”。用在复数可数名词之前,在句子中用作定语,表达否定
2024-10-05
一张图教你掌握比较级和最高级的“各种变化规则”

一张图教你掌握比较级和最高级的“各种变化规则”

嘿伙计们!这是詹妮弗。 今天是5分钟英语语法初级语法-形容词(第1部分) 我们主要研究形容词的位置(单/多个)和形容词(副词)的比较级最高级变化。 视频讲解 视频加载中. 思维导图 下
2024-10-05
小学英语语法、形容词比较级形式

小学英语语法、形容词比较级形式

比较: 1.形容词的比较级形式 1、形容词比较级在句子中的使用:要比较两个事物或两个人,可以使用比较级形式,后面通常加“比”一词。 比较句结构通常是: What+动词be(am,is,are)+形
2024-10-05