compreende a designação de links simbólicos

2

Eu tenho um número de arquivos no diretório /etc/rc3.d/ , que são todos links simbólicos e apontam para arquivos no diretório /etc/init.d/ usando ../init.d/ designation. Por exemplo, o arquivo S18rsyslog in /etc/rc3.d/ directory é um link simbólico para o arquivo /etc/init.d/rsyslog , mas de acordo com ls -l , /etc/rc3.d/S18rsyslog não aponta para /etc/init.d/rsyslog mas ../init.d/rsyslog em vez disso:

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

Qual é a vantagem de manter links simbólicos relativos ao diretório? Porque isso permite mover o próprio diretório sem romper os links simbólicos? Além disso, é possível criar um link simbólico com .. (diretório pai) no caminho sem estar no diretório? ln -sv '/etc/init.d/rsyslog' '/etc/rc3.d/../init.d/rsyslog' obviamente não funciona porque o link simbólico é criado no diretório /etc/init.d/ enquanto eu gostaria de ter um link simbólico chamado ../init.d/rsyslog no diretório /etc/rc3.d/ .

    
por Martin 31.07.2014 / 14:11

1 resposta

3

What is the advantage to keep symbolic links relative to directory? Because this allows one to move the direcoty itself without breaking the symbolic links?

Exatamente.

In addition, is it possible to create a symbolic link with .. (parent directory) in the path without being in the directory? ln -sv '/etc/init.d/rsyslog' '/etc/rc3.d/../init.d/rsyslog' obviously does not work as symlink is created into /etc/init.d/ directory while I would like to have symlink named ../init.d/rsyslog in the /etc/rc3.d/ directory.

Então você quer expressar ln -s ../init.d/rsyslog /etc/rc3.d

Para não escorregar em links simbólicos, é melhor ter em mente que ln tem a semântica de ln TARGET LINK e que um link simbólico é, em essência, um arquivo no LINK que contém TARGET; se TARGET for um nome de caminho relativo, o TARGET substituirá o link simbólico relativo ao seu diretório contido. Assim, ln -s X/Y A/B/ se torna A/B/X/Y .

    
por 31.07.2014 / 14:34

Tags