有些时候我们想删除一个目录内的全部内容,但是由于 rm 命令也是有参数数量上限的,所以直接删除会报错。
比如我想删除 mnt/
目录下的所有文件:
1 | rm mnt/* |
解决方法:
使用
find
命令结合xargs
:1
find mnt/ -type f -exec rm {} +
这个命令会使用
find
查找mnt/
目录下的所有文件,并将它们作为参数传递给rm
命令。+
表示将尽可能多的文件传递给rm
以避免参数列表过长。使用
find
命令结合xargs
和rm
:1
find mnt/ -type f | xargs rm
这个命令会使用
find
查找mnt/
目录下的所有文件,并将它们通过管道传递给xargs rm
命令,以删除这些文件。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GuKaifeng's Blog!
评论(延迟加载 / 需要可访问 GitHub Issues)