我即将输入命令:rm -r *
在我希望删除所有文件和目录(及其文件)的目录中。我担心的是 unix 也有./
和../
目录。rm -r
应该遵循所有目录:这是否意味着它将遵循../
并删除更高级别目录中的内容?我似乎无法通过谷歌搜索找到答案。
POSIXly*
不会扩展为包含.
和..
(或任何以点开头的文件名),除非您确实使用特定于您的 shell 的选项(例如dotglob
在 bash 中)明确包含它。
它是“安全的”(除非您的任何文件以破折号开头,在这种情况下您应该使用rm -- *
),假设这就是您的意思,但您不会删除文件名以点开头的文件。
我可以建议你这样做吗:
cd .. && rm -r directory
Run Code Online (Sandbox Code Playgroud)