Qual é o benefício de um diretório de trabalho lógico?

2

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, cd para esse diretório usando o link simbólico, seu diretório de trabalho lógico se torna o caminho do link simbólico + o próprio link simbólico ! por exemplo:

$ pwd
/home/john/this_is_a_symbolic_link

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

    
por Steve 26.04.2017 / 23:37

2 respostas

3

Um caso de uso um pouco complicado:

Em alguns sistemas, os diretórios home dos usuários podem, por exemplo, ser montados por um automounter (como no Solaris).

De o artigo da Wikipédia "Automounter" :

The automounter has the purpose of conserving local system resources and of reducing the coupling between systems which share filesystems with a number of servers. For example, a large to mid-sized organization might have hundreds of file servers and thousands of workstations or other nodes accessing files from any number of those servers at any time. Usually, only a relatively small number of remote filesystems (exports) will be active on any given node at any given time. Deferring the mounting of such a filesystem until a process actually needs to access it reduces the need to track such mounts, increasing reliability, flexibility and performance.

O montador automático pode montar um compartilhamento de NFS home de algum servidor de arquivos central em um caminho como /a ou /tmp_mnt ou similar e 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ê faz o login.

Isso tem o benefício, como menciona o artigo da Wikipedia, de exigir apenas uma única montagem do compartilhamento home NFS, mesmo que vários usuários estejam ativos. Quando o diretório pessoal 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á ser desmontado completamente.

Um exemplo mais simples:

Digamos que você fique sem espaço em /usr/local . Você pode adicionar novos discos e montá-los como, por exemplo, /data/disk1 e /data/disk2 . Em seguida, você pode decidir copiar o conteúdo antigo de /usr/local/bin para /data/disk1 e /usr/local/lib para /disk/data2 e recriar /usr/local/bin e /usr/local/lib como links simbólicos para esses dois diretórios.

A alteração do diretório com cd /usr/local/bin o levaria fisicamente para /data/disk1 , mas, logicamente, você estaria em /usr/local/bin . Isso também faz com que o acesso a utilitários de /usr/local/bin acesse com transparência a localização física em /data/disk1 sem a necessidade de atualizar sua variável $PATH .

Outro:

Você pode criar um link simbólico de um pendrive ou outro dispositivo de armazenamento montado pelo usuário em algum lugar em /media as /home/steve/my_work_files . O benefício disso seria que você seria capaz de cd em ~/my_work_files em vez de ter que lembrar onde /media seus arquivos estão localizados.

    
por 26.04.2017 / 23:51
1
$ cd this_is_a_symbolic_link
…
$ pwd
$ cd ..
    
por 27.04.2017 / 02:05

Tags