我根据 SUSv4-2018ed 总结了接受符号链接选项的命令列表:
cd chgrp chown chmod cp find ln ls pax rm
完整列表还包括它们的默认值和其他支持的相关选项(例如-h
和-d
),我将其存储在我的 HDD 上以供参考。
我以前见过(如果我是正确的,GNU 文档)-P -L
分别将选项称为“物理”和“逻辑”,我认为这可能是选项字母的来源,但截至 2019 年 11 月的最新文档将它们称为“--no-dereference”和“--dereference”现在。
我的问题是:-P -L -H
从哪里来?是 SUS、XPG、POSIX、SVID 还是供应商文档?它们最初代表什么?
P
并且L
确实是指物理符号链接本身,以及符号链接所指的逻辑文件。如果转到第 A.3 节。Single Unix Specification 2018 版 Rationale 卷的“符号链接”小节,
-P -L -H
都提到了,它说感谢Don Cragon(来自 Austin Group 邮件列表)的指点。
短标志是 Posix。但是在 afaik 之前,它们在 BSD 中是相同的。
据我所知,更清晰的长标志是 gnu 。
确实 P 和 L 是从物理和逻辑上来的,但是最近的许多文档都没有使用这些术语来描述,因为它们很难理解。使用取消引用/遵循等术语。
我个人认为最终的文件或目录是物理的东西,而链接本身只是逻辑的东西,但它的使用方式相反(所以物理或逻辑地评估符号链接)。