rm -r * 在 unix 中

Ale*_*lex 1 rm

我即将输入命令:rm -r *在我希望删除所有文件和目录(及其文件)的目录中。我担心的是 unix 也有./../目录。rm -r应该遵循所有目录:这是否意味着它将遵循../并删除更高级别目录中的内容?我似乎无法通过谷歌搜索找到答案。

Chr*_*own 5

POSIXly*不会扩展为包含...(或任何以点开头的文件名),除非您确实使用特定于您的 shell 的选项(例如dotglob在 bash 中)明确包含它。

它是“安全的”(除非您的任何文件以破折号开头,在这种情况下您应该使用rm -- *),假设这就是您的意思,但您不会删除文件名以点开头的文件。

我可以建议你这样做吗:

cd .. && rm -r directory
Run Code Online (Sandbox Code Playgroud)