解释rm的-W标志


8

什么是-W对标志rmDO(上BSD或Mac OS X)?

根据其手册页,该标志尝试“取消删除命名的文件”。目前,“此选项只能用于恢复受白电覆盖的文件”。这是怎么回事,我该如何使用?


并非所有版本的rm支持-W标志。特别是大多数或所有Linux发行版都使用的GNU coreutils版本没有。rm: invalid option -- 'W'
Keith Thompson

我应该已经指定我指的是BSD版本。
Whymarrh

Answers:


16

-W标志是大多数用户BSD/OSX永远不需要使用的选项,因为它仅适用于“ 联合安装 ”。这种类型的挂载仅允许挂载多个文件系统,看起来只是一个文件系统。为了进一步解释这一点,这是作者Jan-Simon Pendry和Marshall Kirk McKusick撰写的论文摘要,标题为“ 4.4BSD-Lite中的Union Mounts ”:

与传统的挂载隐藏其所在目录的内容不同,联合挂载提供两个目录合并的视图。尽管只能修改联合堆栈顶部的文件系统,但联合文件系统的外观是允许删除或修改任何内容。较低层的文件可能会被删除,而顶层则变白。要修改的文件会自动复制到顶层。这项新功能使一些新应用成为可能,包括能够将补丁应用到CD-ROM并消除由自动安装程序生成的符号链接的功能。还可以提供每个用户的文件系统视图,以允许共享工作区的私有视图,

本文还讨论了中断操作:

如果从较低层的名称空间中删除名称,则会在较高层中创建白化。变白会掩盖较低层中的名称。导致创建中断的操作包括取消链接,rmdir和重命名。

总而言之,rm-W标志与使用在顶层创建的“ whiteout”来恢复从较低层“删除”的文件。有关用法,请参见手册

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.