rm -r 和 rm -R 有区别吗?

Is there any difference between rm -r and rm -R?

标题是说明。
我只是想知道 rm -rrm -R 之间有什么区别。

Linux man description 似乎完全相同(还有一个,--recursive),但许多人使用 -r 和 -R 就像它们不一样。

所以我不仅想知道它的功能差异,还想知道它的实际(或常规)差异。
谁能告诉我这件事吗?

man-page提到:

-r, -R, --recursive
       remove directories and their contents recursively

所以,至少在我的机器上是一样的。

一样的

# rm --help | grep directories.
  -r, -R, --recursive   remove directories and their contents recursively
  By default, rm does not remove directories.  Use the --recursive (-r or -R)

根据 rm 的 OpenGroup / POSIX 规范,-r-R 选项是等效的。

来源:https://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html

这可能适用于所有现代 UNIX / Linux 变体。

但并非总是如此:

添加 -R 的原因是为了与其他使用 -R 表示递归的命令兼容。 (例如 chmod ... 其中 -r 表示 "remove read permission"。)

这两个选项是等价的,默认情况下,rm不删除目录。并通过使用 --recursive-r 或 -R)选项来删除每个列出的目录及其所有内容。