linux 全部删除命令,linux常用命令删除目录

首页 > 经验 > 作者:YD1662024-04-01 18:11:46

假如有人问你,你会在Linux中批量删除文件吗?

你会想一下,说会啊。无非就是find找出来,然后使用rm -f去删除。或者先打印出来文件名,再去删除。

或者还有一种情况是要提高效率删除文件怎么做呢?

需要使用xargs,因为一般xargs 比find...-exec..的效率高。

find命令可以借助-exec与其他命令进行结合。-exec算是find比较强大的特性之一。

举例:

find . -type f -mtime 180 -name "*.log" -ecec rm -f {} \;

对于文本处理而言,需要具备扎实的理论和实践才能够写出适合的单行命令解决方法。xargs 就是构建单行命令的重要组件之一。

find结合xargs可以使任务变得更轻松,但是一种错误的使用方式是find... -print | xargs rm -f。

因为这样做非常危险,我们无法预测find的输出结果的定界符。一旦文件名中含有空格符,会被xargs误认为是定界符而删掉。

所以我们要是把find作为xargs的输入,就必须把--print0与find结合使用,以字符null来分隔输出。

命令是:find...-print0 | xargs -0 rm -f

举例:

find . -type f -name "dnf.librepo.log-*" -print0 | xargs -0 rm -f

这样使用才是Linux批量删除文件的正确方式!

linux 全部删除命令,linux常用命令删除目录(1)

鼓励的话语:自信即巅峰!

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.