find命令

1、find顾名思义查找,但是linux还可以找到目标后继续一些操作,例如删除。

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

  解释:

  path  搜索路径

  -oprint  标准输出所匹配的文件

  -exec  执行后面的命令

  -ok  执行带提示,例如删除时,会提示你。

  command {}   注意{}和之间有空格。

2、看几个例子

  1)查根目录下,文件名.tar结尾的文件,然后进行删除

    find /  -type f  -name *.tar -exec rm -rf {}

  2)根据时间删除,例如删除目录里7天前文件

    find / -type f -mtime +6 |xargs rm -rf {}

    解释 +0 代表24小时之前

         0  代表24~48小时之间

                -0 代表24小时之内

    xargs代替exec,原因就是exec会一次性接受find匹配到所有的结果,会溢出,报错:参数列溢出;而xargs的思想是分步加载,每次只处理一部分,然后在加载一部分。

  遇到的坑:(1)卡时间时,有系统0开始,有的是1,这个需要根据实际情况测

       (2)按时间删除几天前的目录,如果当前的空目录,时间上也是合适的,则也会删除

参考:https://blog.csdn.net/dearbaba_8520/article/details/80534516

原文地址:https://www.cnblogs.com/xingrui/p/11470228.html