解释 rm 的 -W 标志

解释 rm 的 -W 标志

-W标志的作用是什么rm(在 BSD 或 Mac OS X 上)?

根据其手册页,该标志试图“取消删除指定的文件”。目前,“此选项只能用于恢复被 whiteouts 覆盖的文件。”这到底是什么,我该如何使用它?

答案1

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

与隐藏其所在目录内容的传统挂载不同,联合挂载呈现了两个目录合并的视图。尽管只能修改联合堆栈顶部的文件系统,但联合文件系统看起来允许删除或修改任何内容。可以删除下层的文件,而顶层的文件将被删除。要修改的文件将自动复制到顶层。这项新功能使几个新应用程序成为可能,包括将补丁应用于 CD-ROM 和消除自动挂载程序生成的符号链接的能力。还可以提供文件系统的每个用户视图,允许私人查看共享工作区或从集中共享的只读源树进行本地构建。

本文还讨论了白化操作:

如果从下层的名称空间中删除名称,则会在上层中创建白化。白化的效果是屏蔽下层中的名称。导致创建白化的操作包括 unlink、rmdir 和 rename。

总的来说,rm-W标志使用在顶层创建的“whiteout”来恢复从底层“删除”的文件。有关用法,请参阅手动的

相关内容