Linux linux中,只删除目录下的文件,不删除目录下的目录。

linux中,只删除目录下的文件,不删除目录下的目录。

今天我遇到这样一个问题:在我的/root目录下面有很多文件,这些文件有目录,有文件。我想把/root下的文件全部删除,但不删除目录。一个一个的删除很浪费时间和精力。怎样用一个命令就可以做到呢?经过尝试终于找到一个好方法:find /root -type f | xargs rm -rf 这里,我要解释下 xargs 这个命令的用法:例如,下面的命令:find /root -t...

今天我遇到这样一个问题:在我的/root目录下面有很多文件,这些文件有目录,有文件。我想把/root下的文件全部删除,但不删除目录。一个一个的删除很浪费时间和精力。怎样用一个命令就可以做到呢?

经过尝试终于找到一个好方法:


find /root -type f | xargs rm -rf


这里,我要解释下 xargs 这个命令的用法:


例如,下面的命令:
find /root -type f | xargs rm -rf 
如果/root目录下文件过多就会因为“参数列表过长”而报错无法执行。但改用xargs以后,问题即获解决。

find /path -type f | xargs rm -rf

本例中xargs将find产生的长串文件列表拆散成多个子串,然后对每个子串调用rm。这样使用find命令效率高的多。




转载于:https://blog.51cto.com/4471739/1313013

Logo

更多推荐

  • 浏览量 4084
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献2条内容