了解符号链接的名称

了解符号链接的名称

我的目录中有许多文件/etc/rc3.d/,它们都是符号链接,并/etc/init.d/使用指定指向目录中的文件../init.d/。例如,目录S18rsyslog中的文件/etc/rc3.d/是指向文件的符号链接/etc/init.d/rsyslog,但根据ls -l/etc/rc3.d/S18rsyslog并不指向/etc/init.d/rsyslog而是../init.d/rsyslog

# ls -l /etc/rc3.d/S18rsyslog
lrwxrwxrwx 1 root root 17 30. jun 15:05 /etc/rc3.d/S18rsyslog -> ../init.d/rsyslog
# 

保留相对于目录的符号链接有什么好处?因为这允许人们在不破坏符号链接的情况下移动 direcoty 本身?另外,是否可以..在路径中创建与(父目录)的符号链接而不在目录中?ln -sv '/etc/init.d/rsyslog' '/etc/rc3.d/../init.d/rsyslog'显然不起作用,因为符号链接被创建到/etc/init.d/目录中,而我想../init.d/rsyslog/etc/rc3.d/目录中命名符号链接。

答案1

保留相对于目录的符号链接有什么好处?因为这允许人们在不破坏符号链接的情况下移动 direcoty 本身?

确切地。

另外,是否可以..在路径中创建与(父目录)的符号链接而不在目录中?ln -sv '/etc/init.d/rsyslog' '/etc/rc3.d/../init.d/rsyslog'显然不起作用,因为符号链接被创建到/etc/init.d/目录中,而我想../init.d/rsyslog/etc/rc3.d/目录中命名符号链接。

所以你的意思是表达ln -s ../init.d/rsyslog /etc/rc3.d

为了不忽视符号链接,最好记住它ln的语义ln TARGET LINK,并且符号链接本质上是 LINK 处包含 TARGET 的文件;如果 TARGET 是相对路径名,则 TARGET 替换相对于其包含目录的符号链接。因此,ln -s X/Y A/B/变为A/B/X/Y.

相关内容