这个-W
标志有rm
什么作用(在 BSD 或 Mac OS X 上)?
根据其手册页,该标志试图“取消删除命名文件”。而目前,“这个选项只能用于恢复被whiteouts覆盖的文件。” 这到底是怎么回事,我该如何使用它?
小智 16
该-W
标志是大多数用户BSD/OSX
永远不需要使用的选项,因为它仅适用于“联合安装”。这种类型的挂载只是允许挂载多个文件系统,看起来只是一个文件系统。为了进一步解释这一点,以下是作者 Jan-Simon Pendry 和 Marshall Kirk McKusick 撰写的题为“ Union Mounts in 4.4BSD-Lite ”的论文摘要:
与隐藏其所在目录内容的传统挂载不同,联合挂载显示两个目录的合并视图。尽管只能修改联合堆栈顶部的文件系统,但联合文件系统看起来允许删除或修改任何内容。下层的文件可能会被删除,而上层的则是留白。要修改的文件会自动复制到顶层。这个新功能使几个新应用程序成为可能,包括将补丁应用到 CD-ROM 和消除自动安装程序生成的符号链接的能力。还可以提供文件系统的每个用户视图,允许共享工作区的私有视图,
本文还讨论了whiteout操作:
如果正在从下层的命名空间中删除名称,则会在上层中创建一个 whiteout。白化具有掩盖下层名称的效果。导致创建 whiteout 的操作包括 unlink、rmdir 和 rename。
总而言之,rm
带有-W
标志的使用在顶层创建的“whiteout”来恢复从下层“删除”的文件。使用方法请看说明书。