Qual é a vantagem de um diretório de trabalho lógico?

Qual é a vantagem de um diretório de trabalho lógico?

Eu entendo o que é um diretório de trabalho lógico. Quando você cria um link simbólico para um diretório e, em seguida, cdpara esse diretório usando o link simbólico, seu diretório de trabalho lógico se tornao caminho do link simbólico + o próprio link simbólico! por exemplo:

$ pwd
/home/john/this_is_a_symbolic_link

Mas qual é exatamente o benefício de um diretório de trabalho lógico?

Responder1

Um caso de uso um tanto complicado:

Em alguns sistemas, os diretórios pessoais dos usuários podem, por exemplo, ser montados por ummontador automático(como no Solaris).

Deo artigo "Automounter" da Wikipedia:

O automounter tem o propósito de conservar os recursos do sistema local e de reduzir o acoplamento entre sistemas que compartilham sistemas de arquivos com vários servidores. Por exemplo, uma organização de grande a médio porte pode ter centenas de servidores de arquivos e milhares de estações de trabalho ou outros nós acessando arquivos de qualquer número desses servidores a qualquer momento. Normalmente, apenas um número relativamente pequeno de sistemas de arquivos remotos (exportações) estará ativo em qualquer nó em um determinado momento. Adiar a montagem de tal sistema de arquivos até que um processo realmente precise acessá-lo reduz a necessidade de rastrear tais montagens, aumentando a confiabilidade, a flexibilidade e o desempenho.

O montador automático pode montar um homecompartilhamento NFS de algum servidor de arquivos central em um caminho como /aou /tmp_mntou semelhante e, em seguida, criar um link simbólico de /tmp_mnt/home/steve(o diretório inicial físico) para /home/steve(o diretório inicial lógico) quando você efetuar login.

Isso tem a vantagem, como menciona o artigo da Wikipedia, de exigir apenas uma única montagem do homecompartilhamento NFS, mesmo se vários usuários estiverem ativos. Quando o diretório inicial de alguém não estiver mais em uso, o link simbólico poderá ser removido e, quando todos os usuários estiverem desconectados, o compartilhamento NFS montado poderá até ser desmontado completamente.


Um exemplo mais simples:

Digamos que você fique sem espaço no /usr/local. Você pode então adicionar novos discos e montá-los como, por exemplo, /data/disk1e /data/disk2. Então você pode decidir copiar o conteúdo antigo de /usr/local/binto /data/disk1e /usr/local/libto /disk/data2e recriar /usr/local/bine /usr/local/libcomo links simbólicos para esses dois diretórios.

Alterar o diretório com cd /usr/local/binmoveria você fisicamente para, /data/disk1mas logicamente você estaria em /usr/local/bin. Isso também tem o efeito de que o acesso aos utilitários /usr/local/binacessaria de forma transparente sua localização física, /data/disk1sem que você precise atualizar sua $PATHvariável.


Outro:

Você pode criar um link simbólico a partir de um pendrive montado pelo usuário ou outro dispositivo de armazenamento em algum lugar /mediacomo /home/steve/my_work_files. A vantagem disso seria que você seria capaz de cdentrar ~/my_work_filesem vez de ter que lembrar onde /mediaseus arquivos estão localizados.

Responder2

$ cd this_is_a_symbolic_link
$ pwd
$ cd ..

informação relacionada