【发布时间】:2012-08-12 04:39:59
【问题描述】:
问题
- Bash 中的
rm -d和rm -R命令有什么区别? - 我应该使用哪一个?
详情
根据rm 命令的手册页:
-
rm -d尝试删除目录以及其他类型的 文件。 -
rm -R尝试删除根植于每个文件的文件层次结构 争论。 -R 选项意味着 -d 选项。
现在,我知道最后一条语句(-R 暗示 -d),这似乎回答了我的问题。但是,我仍然想知道为什么这两个命令标志首先存在,如果它们的作用被认为是相同的。
此外,由于我仍在学习 Bash,我认为最好知道哪个选项是 Bash 程序员的首选(通常),以及为什么。
【问题讨论】:
-
你们在讨论什么奇怪的 rm ?我的沼泽标准 GNU coreutils rm 没有 -d 选项。
-
rm的 BSD 版本有-d。 POSIX 标准规定,当目标是目录时,rm的行为应与rmdir相同,而 BSD 版本遵循rm的历史行为,除非您使用-d。 -
-d选项不在POSIX 中,因此应针对问题指向的特定系统标记此问题。