我需要删除特定文件夹中的文件和子目录,而不是该文件夹本身。
我正在使用以下命令:
find . -type d -depth -mtime +7 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
但它抛出以下错误消息:
rm:拒绝删除“.” 或 '..' 目录:跳过 '.'
我应该避免或处理此错误消息的正确命令是什么?是否因为我的find命令中的选项“-depth”而发生?
Linux 版本:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.1 (Maipo)"
如果您有/path/to/folder
,并且想删除里面的非隐藏文件,而不是那个文件夹,只需运行:
rm -rf /path/to/folder/*
Run Code Online (Sandbox Code Playgroud)
请注意,这不会删除隐藏文件(以点开头的文件)。
鉴于您拥有正确的权限并且您的系统上并不总是需要此文件夹,您可以简单地将其删除并创建一个新的空文件夹:
rm -rf /path/to/folder; mkdir /path/to/folder
Run Code Online (Sandbox Code Playgroud)