Vantagem de links simbólicos sobre atalhos de estilo do Windows

4

Quando eu usava principalmente o Windows, para fazer um atalho, eu podia usar um arquivo regular detalhando onde ele estava vinculado, com a extensão .lnk ou .url

Agora, no Linux, eu principalmente uso links simbólicos, que são um recurso específico do sistema de arquivos. O Linux não parece ter muito suporte para atalhos baseados em arquivos, e o Windows não parece ter muito suporte para links simbólicos.

Eu posso ver a vantagem de usar atalhos baseados em arquivos (pode ser usado em qualquer sistema de arquivos).

Minha pergunta é: Por que o linux usa links simbólicos sobre atalhos baseados em arquivos, e no linux, como posso criar atalhos em sistemas de arquivos que não suportam links simbólicos (por exemplo, FAT32)?

    
por Mikemk 17.09.2013 / 05:39

2 respostas

1

Links simbólicos são usados por dois motivos:

  1. Ele mal usa espaço no disco rígido. Nos sistemas de arquivos em que os metadados são reservados durante a criação (por exemplo, a família ext2 / 3/4), os links simbólicos são totalmente contidos como inode na tabela de metadados do sistema de arquivos.

  2. É completamente transparente. Veja a explicação abaixo:

Digamos que eu, em /etc , criei um link simbólico varlink apontando para /var . Com links simbólicos, posso fazer cd /etc/varlink/lib . Se eu fizer um ls , eu veria o conteúdo de /var/lib (ou seja, a parte " /etc/varlink " é "substituída" por " /var "). Eu posso ir mais fundo para /etc/varlink/lib/dbus , no qual verei o conteúdo de /var/lib/dbus . No entanto, embora o que eu esteja vendo seja realmente o conteúdo do último, o $CWD (Diretório de trabalho atual) ainda é o primeiro.

Da mesma forma, quando links simbólicos são contra arquivos. Digamos que /etc/fstab seja um link simbólico para /opt/fstab . Eu posso fazer toda a operação contra /etc/fstab (por exemplo, cat do conteúdo, ou executar sed em relação ao seu conteúdo) sem ter que decodificá-lo primeiro para encontrar o arquivo real para o qual ele é symlinking. O sistema de arquivos nos bastidores cuidará do redirecionamento de E / S para o arquivo real.

E a resposta para a segunda pergunta: não acho que isso seja possível. Pelo menos, não via o shell.

Dentro de uma GUI, no entanto, é possível ter um programa que lida com os arquivos ".lnk" do Windows, para redirecionar o navegador de arquivos para algum outro lugar. Mas não tenho certeza se esse programa já foi feito.

    
por 17.09.2013 / 07:47
0

Vantagens de sym-links:

  1. transparência: somente o software de gerenciamento precisa saber da existência de links sym. Eles apenas trabalham. Atalhos só funcionam se o software que tenta abri-los sabe que eles são um atalho. Os Syn-links funcionam para todos os softwares, incluindo softwares legados.

  2. cadeia-capaz: Um link sym permitirá um link para um link para um link…

  3. mais rápido: Eles são frequentemente armazenados no inode (isso pode nem sempre ser verdade), tornando-os mais rápidos para procurar.

Desvantagens:

  1. Meta-informação adicional pode ser armazenada em um atalho.

  2. O suporte ao sistema de arquivos não é necessário.

  3. Em vez de atualizar seu sistema de arquivos, você atualiza todos os outros programas do sistema, o que permite vender às pessoas o software que elas já possuem, mas com suporte a atalho, aumentando assim a receita. (essa vantagem depende de seus usuários não serem gratuitos, você deve ter licenciado o software sob uma licença proprietária.)

por 01.03.2015 / 20:20