如何删除子文件夹中的所有文件,而不是子文件夹本身?

ubu*_*ico 5 command-line trash

我知道如何递归删除所有子文件夹和所有文件。但在这种情况下,我需要保留子文件夹。基本上,我需要将它们全部清空。

所以我有

rootdir/
        subA/           
        subB/
        subC/
        subN/
Run Code Online (Sandbox Code Playgroud)

我想删除所有文件里面subAsubN,但没有删除subA...subN

什么是控制台命令?我想这是一个切换到rm

ste*_*ver 18

您可以使用该find命令f递归地仅识别常规文件(类型)

find rootdir -type f
Run Code Online (Sandbox Code Playgroud)

如果这显示了您期望的结果,则实际删除它们

find rootdir -type f -delete
Run Code Online (Sandbox Code Playgroud)

注意,这是真正的删除,而不是“移至垃圾箱”,因此在执行命令之前,请 100% 确定这是您真正想要执行的操作。

  • @ubuntico 如果您有较新版本的常规 Ubuntu,您应该可以使用 `gvfs-trash`:具体来说,将 `-delete` 替换为 `-execdir gvfs-trash {} +` (5认同)