--backup 选项有以下可用选项:
none, off never make backups (even if --backup is given)
numbered, t make numbered backups
existing, nil numbered if numbered backups exist, simple otherwise
simple, never always make simple backups
- 首先,简单备份到底是如何定义的?这很令人困惑,因为“简单”的别名是“从不”,这是为什么?“简单”与“从不”有何关系?
- 现有备份与简单备份有何不同?简单备份似乎仍会创建现有文件的备份。同样,遗憾的是“零”,不清楚为什么或这与“现有”文件有何关系?
- 编号备份非常简单,它似乎是 的快捷方式
--suffix=<auto increment integer>
。这不是问题,但如果错了,请纠正。 none, off
出于完整性考虑或者为了特殊情况,可能会给出选项。
答案1
一旦人们遇到这些情况,就可以更容易地理解这些GNU Coreutils 备份选项文档(这些并不是 所独有的cp
,而是与 coreutils 中的其他工具共享的mv
):
此选项对应于 Emacs 变量“
version-control
”;其值为方法与 Emacs 中使用的相同。此选项还接受更具描述性的名称。
一旦你理解了方法名称起源于版本控制对于伪装成文本编辑器的操作系统(其本身早于当今更流行的版本控制系统),事情将会顺利进行:
- “从不”进行完整的版本控制——只对最后一个版本进行简单备份,而不是拥有多个版本。
- 版本控制处于“关闭”状态 - 甚至不必担心最后一个版本,因此根本没有备份文件(有时使用文本编辑器时需要这样做)。
至于existing
,请注意,它不是在谈论“现有的文件“——它谈论的是现存的备份(“如果编号备份存在”)。假设有一个文件a.b
,需要对其进行备份。然后检查编号备份文件是否a.b.~1~
存在。如果存在,则继续使用编号备份方法。如果不存在,则进行简单备份。