当前位置:首页 > 教育

find的用法 find命令高级用法

前言

在《Linux中的文件搜索技巧》一文中,我们已经知道了文件搜索的基本方法。今天,我们介绍一些使用find命令的高级技巧。它可以满足我们一些更复杂的需求。

查找空文件或空目录

有时需要清理一些空文件或文件夹。是时候先找到他们了。

1.查找空文件

我们使用前面介绍的大小参数,例如:

找到。/-大小0#在当前目录中找到大小为0的文件

。/size_0_file

当然,您也可以使用-empty参数,例如:

Find- typef -empty #-typef表示您正在查找文件

。/size_0_file

2.找到空目录

要找到空目录,只需使用-empty参数。例如:

find-type-empty

。/test3

。/ find/test3

。/ find/test2

。/test2

要找出这些空文件或文件夹,我们通常要进行处理,最常见的操作就是删除。怎么删除?我们以后再谈。

搜索时排除文件或目录搜索时排除文件

例如,当我们按名称查找某一类型的文件但不想找到。日志文件,我们可以使用它!逻辑运算符搜索,例如:

找到。/ -name "*test* "!-名称" *。日志“#”排除。日志文件

。/ find/test.sh

。/ find/test.

从查找中排除目录

当我们搜索一些文件时,我们可能已经知道某个目录存在,但我们不想浪费时间再次搜索。我们可以使用-prune参数和-path参数,例如:

找到。路径。/test -prune -o -name "*。txt "

在这里查找txt文件,但是排除测试目录中的txt文件。但是,请注意。/test不能写成。/test/,否则结果会不正确。测试时发现。/test仍会出现在搜索结果中。此外,-prune不应与-depth(-delete)一起使用,否则-prune将不起作用。

如果需要排除多个目录怎么办?

找到。/ ( - path "。/test"-o - path "。/home") -prune -o -name "*。txt "

注意这里有空前后(和)。它告诉shell后面的字符不要被解释,并让find命令自己解释它的功能。

当然排除目录还是可以用的!逻辑符号。例如:

找到。/-名称" *。txt "!-路径”。/test "

对找到的文件执行命令操作

找到文件后,我们可能需要对其进行操作,比如删除、移动等等。我们可以用xargs。例如:

查找-名称" *。找到。日志文件,删除它

find-name " * test“| xargschmod 755 #将查找文件的权限修改为755

find-name " * test“| xargsgrp”hello " # "查找包含hello字符串的测试文件

Xargs后面是要执行的命令。这只是一个简单的例子。

我们也可以使用-exec参数。例如:

找到。/-name " * txt "-exec RM-f { };#找到后删除

找到。/-name " * txt "-execp { }。/test;#找到它并将其复制到测试目录

这里的{}指的是找到的内容。;作为命令参数结束的标志,这是必要的。边肖提醒我,小心删除,都是眼泪。Rm可以用-i参数交互删除,即需要查询。

我们还可以使用-ok参数,它与-exec的不同之处在于,它询问用户并适合删除:

找到。/-名称" *。log "-ok ls-al { };

& lt限位开关(Limit Switch)...。/locate/locate。log>。?

删除找到的文件

除了使用xargs和exec删除文件,还可以使用-delete参数。例如:

找到。/-名称" *。日志"-删除#删除带有日志后缀的文件

多条件组合搜索

事实上,我们已经看到了条件组合的使用。常用的条件组合参数有-a(and),-o(or),!(不是).让我们看几个例子:

例1。查找公共文件和符号链接文件:

找到。/-typef -o-typel #查找普通文件和符号链接文件

例2。在当前目录中查找包和gz包:

找到。/-名称" *。"-o -name "*。gz "

例三。查找名为test的符号链接文件:

找到。/-名称" *test"-a - typel

例4。查找日志文件以外的文件:

找到。/ !-名称" *。日志"

以上例子简单介绍了条件的组合使用。丰富的用法可以自己探索。

查找比文件新或旧的文件

环境中的日志文件太多。在某个时间之前想删除文件怎么办?

以下参数可用:

newer 修改时间更新的anewer 访问时间更新的ctime 修改时间更新的,包括属性的修改find./ ! -newer 1. log|xargs ls -al #列出比 1. log更旧的文件

找到。/-较新的1.log|xargs ls -al #列出了比1.log新的文件

这里我只是列举,而不是删除。如需删除,请参考上述通过删除找到的文件。如果要查找比文件1新、比文件2旧的文件,只需使用组合条件。

搜索结果以特定格式输出

以前的搜索结果大多只列出路径和文件名。如何获取更多信息?当然,我们可以结合ls -al使用xargs或exec来获得更多关于文件的信息,但是我们有更好的方法。例如,输出找到的日志文件的文件名、访问时间、权限信息、大小等信息:

找到。/-名称" *。log"- printf"%f %a %M %s "

定位日志星期六2409年11月24日:44:22。19902018-rw-rw-r-69

测试日志Sat 1515:09:33 . 990592102018-rw-rw-r-0

常见的格式控制输出如下:

%f 文件名%a 访问时间%c 修改时间%M 权限信息%m 权限位信息%s 文件大小,单位为字节%d 文件所在目录层级%u 文件所属用户%p 带相对路径的完整名%y 文件类型…

还有很多,这里不一一列举。感兴趣的读者可以查看find的帮助手册。

总结

find命令的用法非常丰富,本文仅列举一些实用的find命令高级用法。如果有本文没有反映的特殊场景,也欢迎读者在本文末尾留言。

注意:

-prune参数与-depth或-delete参数一起使用时,-prune将失效。后面的字符串表明shell不解释该字符串,留给命令本身去解释处理。基本使用可参考《Linux中的文件查找技巧》

【结束】

抛弃Windows,拥抱Linux之后,我有了这些新发现!

2018年Python开发者调查报告发布

“我不想966,老板建议离婚”

小费

1.《find的用法 find命令高级用法》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《find的用法 find命令高级用法》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/1044546.html

上一篇

河北女子惨遭家暴20年 人渣丈夫:打死你又没有摄像头 直接扔进大海里

下一篇

景区游览实名登记 事情经过真相揭秘!

如何设置加密文件夹 怎么样给PDF加密?PDF文件如何加密?

  • 如何设置加密文件夹 怎么样给PDF加密?PDF文件如何加密?
  • 如何设置加密文件夹 怎么样给PDF加密?PDF文件如何加密?
  • 如何设置加密文件夹 怎么样给PDF加密?PDF文件如何加密?
文件删除不了怎么办 电脑中的图片删除不了,怎么办?

文件删除不了怎么办 电脑中的图片删除不了,怎么办?

简介:有些图片是不能通过点击删除按钮删除的。原因是什么?怎么办? 原因:文件和图片的位置已经移动,这意味着留下缩略图 方法:可以使用电脑管家的【文件粉碎】功能 1.右击图片 2.点击[文件粉碎]  3.点击[确定] 注意:有些文档可以用类似的方式处理...

北京建筑材料 关于《北京市禁止使用建筑材料目录》 (征求意见稿)征求意见的回复建议

北京建筑材料 关于《北京市禁止使用建筑材料目录》 (征求意见稿)征求意见的回复建议

关于《北京市禁用建筑材料目录》(2018年版)众所周知,中国的基本建筑材料包括水泥、玻璃、陶瓷、岩棉或玻璃棉,墙体、屋顶、道路等建筑材料,它们的水泥、玻璃、陶瓷、岩棉或玻璃棉需要经过高温矿化或熔融才能生产出合格的产品。另一方面,只需850-1100℃(最低温度)即可熔化粘结粘土或粘土矿物片状...

合并pdf文件 如何将两个PDF文件合并成一个PDF文件

  • 合并pdf文件 如何将两个PDF文件合并成一个PDF文件
  • 合并pdf文件 如何将两个PDF文件合并成一个PDF文件
  • 合并pdf文件 如何将两个PDF文件合并成一个PDF文件
大功率led封装 大功率LED灯珠特性及技能参数

大功率led封装 大功率LED灯珠特性及技能参数

与低功率LED珠相比,大功率LED珠功率更高,亮度更亮,价格更高。小功率LED珠的额定电流为20mA,高于20mA的额定电流可视为大功率。一般电源号有:0.25w、0.5w、1w、3w、5w、8w、10w等。第一个亮度单位是lm(流明),低功率的亮度单位是mcd (milliCandeira...

细雪 日语中很优美的雪的名称,不是只有“细雪”!

  • 细雪 日语中很优美的雪的名称,不是只有“细雪”!
  • 细雪 日语中很优美的雪的名称,不是只有“细雪”!
  • 细雪 日语中很优美的雪的名称,不是只有“细雪”!

电机功率等级表 Y系列电动机型号大全及详细参数(用处多多,记得收藏噢!)

  • 电机功率等级表 Y系列电动机型号大全及详细参数(用处多多,记得收藏噢!)
  • 电机功率等级表 Y系列电动机型号大全及详细参数(用处多多,记得收藏噢!)
  • 电机功率等级表 Y系列电动机型号大全及详细参数(用处多多,记得收藏噢!)

qq无法传输文件 iPhone不通过微信/QQ怎么进行文件传输?

  • qq无法传输文件 iPhone不通过微信/QQ怎么进行文件传输?
  • qq无法传输文件 iPhone不通过微信/QQ怎么进行文件传输?
  • qq无法传输文件 iPhone不通过微信/QQ怎么进行文件传输?