到 ~/something 的符号链接是否依赖于登录用户?

到 ~/something 的符号链接是否依赖于登录用户?

如果我运行命令:

ln -s ~/user/relative/path /absolute/path

然后以不同的用户身份登录,其主目录中没有用户/相对/路径,链接是否会以某种方式断开或无法访问?

谢谢您的回答 :)。

答案1

自己检查一下:

% ln -s ~/one two
% ls -l two
[...] two -> /home/rmano/one

该命令ln甚至看不到~ 字符 --- 它被 shell 扩展了。

现在,使用新用户必须对链接的真实路径具有相应的权限。

在链接中放置一个文字~,但它将不起作用,至少在 Linux 中不起作用 ---$HOME当内核解析符号链接时,环境变量不会扩展。

看:

% cd 
% touch a1
% ln -s $HOME/a1 a2
% ln -s '$HOME'/a1 a3
% ls -l a?
-rw-rw-r-- 1 rmano rmano  0 Mar 21 13:49 a1
lrwxrwxrwx 1 rmano rmano 15 Mar 21 13:49 a2 -> /home/rmano/a1
lrwxrwxrwx 1 rmano rmano  4 Mar 21 13:50 a3 -> $HOME/a1
% cat a2
% cat a3
cat: a3: No such file or directory

有些操作系统有这样的特点(我认为 FreeBSD 的一个版本有这个特点,我在 Apollo 工作站上使用的一些 unix 也有这个特点 --- 虽然不确定),它被称为变体符号链接

也可以看看https://stackoverflow.com/questions/3888809/environment-variables-in-symbolic-links

相关内容