如何删除子目录内容和目录内的文件?我不想删除子目录的结构,只想删除子目录内的内容和目录内的文件。
比如我有一个目录dev
;里面有 3 个文件:test1.txt
、test2.txt
和test3.txt
。我还有一个子目录Node
。子目录中我又有 3 个文件:node1.txt
、node2.txt
、node3.txt
。
我只想删除test1
、test2
、test3
和node1
、node2
、node3
,而不是Node
子目录。
答案1
specified_directory
这将递归删除其所有子目录中的所有常规文件:
find specified_directory -type f -exec rm -i {} +
-i
这样做是为了降低命令的危险性(主要是针对那些从互联网上随机运行代码的人)。确认命令执行了您想要的操作后,就可以开始使用它,无需-i
。
其他等效形式如下:find
:-exec rm {} \;
vs -delete
.——为什么前者被广泛推荐?
更改-type f
为! -type d
删除全部文件不属于目录类型。