我在网上看到硬链接和原始文件指的是同一个文件,但我给一张图创建硬链接后,拖到 ps 里修改,原始文件没变。
mklink /H e:\2.jpg e:\1.jpg
为 e:\2.jpg <<===>> e:\1.jpg 创建了硬链接
这是怎么回事?难不成 ps 保存导致地址变了?不可能吧
图片大小都不一样了,完全就是两张图了
1
msg7086 2022-04-07 01:36:56 +08:00
> 「难不成 ps 保存导致地址变了?不可能吧」
为什么不可能? |
2
ysc3839 2022-04-07 01:50:38 +08:00 1
很多程序保存文件是先把原有文件改名,然后用原来的名称保存新的,再把改名的旧文件删除。这么操作后硬链接就断开了。
|
3
Tumblr 2022-04-07 02:31:02 +08:00
大概率是保存路径变了。
硬链接相当于原文件的一个镜像,和原文件共享 content ,所以如果你确实覆盖了硬链接,则两边文件会同步更新的。 BTW ,硬链接 /Junction (这个一直不知道怎么翻译的)已经过时了,现在一般都是用符号链接( symbolic link )…… |
4
ysc3839 2022-04-07 02:35:17 +08:00
@Tumblr Junction 不是硬链接,更像是文件夹的符号链接,只不过这个“符号链接”在 SMB 网络共享的时候是由服务器进行解析后再返回给客户端的,客户端不知道这是一个 Junction ,而符号链接则是原样返回给客户端,让客户端自己解析。
|
5
crab 2022-04-07 02:58:06 +08:00
ps 应该是把图写出到临时文件名 xx.tmp ,然后删除硬链接 2.jpg ,再把 xx.tmp 重命名为 2.jpg 。
|
6
geelaw 2022-04-07 08:51:01 +08:00
因为 Photoshop 使用了保存、删除、重命名的安全保存操作序列——如果直接写文件,可能会出现 Photoshop 写到一半崩溃,导致文件完全损坏的情况。
Windows 文件系统隧穿功能只能保持长短文件名、创建日期,不能保持硬链接,参考: https://devblogs.microsoft.com/oldnewthing/20050715-14/?p=34923 |
7
Tumblr 2022-04-07 10:53:13 +08:00
@ysc3839 #4 我知道 junction 不是硬链接。
你看我写的 junction 是用 / 和前面分开的,这个和硬链接并列。🙃 符号链接我是把 symbolic link 放在括号里的。。。 |
8
zeronofreya OP @Tumblr 一开始用的 symlink ,但它不支持拖动,拖到 ps 里报错,所以才想到硬链接,没想到有这么个坑
|
9
zeronofreya OP @crab 原来如此,我还以为直接写源文件呢
|
10
zeronofreya OP @geelaw 学到了,那能实现映射一个文件吗?我补充了一下问题
|