linux - 如何删除子目录下的文件但不删除子目录本身在linux中

标签 linux unix

我有以下目录结构:

/archive/file1.csv
/archive/file2.csv
/archive/myfile/my.txt
/archive/yourfile/your.txt

我想删除/archive下的所有文件,但不删除它的子文件夹,所以删除后,目录结构应该是这样的:

/archive/
/archive/myfile/
/archive/yourfile/

我试过以下两个命令,但是子文件夹下的文件没有被删除(即my.txt和your.txt),谁知道为什么?

find -L /archive ! -type d  -exec rm -rfv {} +
find -L /archive -type f  -exec rm -rfv {} +

最佳答案

使用查找

$ find . ! -type d -delete

确保您走在正确的道路上。

关于linux - 如何删除子目录下的文件但不删除子目录本身在linux中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37310116/

相关文章:

c - 从辅助线程获取主线程

mysql - 如何在 Unix 上执行存储过程 SQL (MySQL)

docker - Centos 服务已启动但仍处于禁用状态

linux - 我的 pidfile 必须位于/var/run 中吗?

linux - 如何根据 bash 查询形成 cron 任务?

php - 如何在不授予完全公开写入权限的情况下允许 PHP 中的文件上传?

c++ - 将 IP 数据包重定向到我的应用程序,然后将它们转发

linux - "Compiler threading support is not turned on."

PHP集群示例

c++ - clock() 只返回 0