Por que as versões posteriores do Windows continuam a usar arquivos de atalho em vez de links simbólicos?

Por que as versões posteriores do Windows continuam a usar arquivos de atalho em vez de links simbólicos?

O Windows XP e versões posteriores oferecem suporte a links simbólicos. Mesmo assim, o Windows continua a usar arquivos de atalho (que basicamente armazenam a localização do arquivo vinculado como texto). Por que?

Responder1

Uma série de razões, eu acho

  1. Você pode armazenar diferentes níveis de compatibilidade em vários atalhos diferentes para o mesmo EXE, à medida que são interpretados pelo shell, em vez do sistema de arquivos.
  2. Certos links de atalho não existem realmente no sistema de arquivos. Alguns deles são simplesmente referências a GUIDs ou strings especiais interpretadas pelo shell.
  3. Você não pode incluir opções em um link simbólico. Você pode apontar para o EXE, claro, mas não pode dizer a esse EXE mais argumentos.
  4. Você não pode escolher um ícone para um link simbólico.
  5. Você não pode escolher em qual diretório trabalhar em um link simbólico.
  6. Os arquivos de atalho não precisam apenas apontar para arquivos, eles podem ser hiperlinks ou links de protocolo (no caso de um arquivo .URL).
  7. Os arquivos LNK podem existir em qualquer sistema de arquivos. Os links simbólicos são gerenciados pelo próprio sistema de arquivos, no caso do Windows, NTFS.
  8. Não há necessidade real de substituí-los. Eles funcionam, são minúsculos e podem ser ampliados no futuro, caso haja necessidade de adicionar mais funcionalidades a eles do que os listados acima.
  9. São necessários direitos administrativos para criar um link simbólico (por um bom motivo - caso contrário, o redirecionamento de arquivos inocentes para arquivos maliciosos pode ser executado com muito pouco trabalho)

Haverá mais motivos do que isso, mas acho que é o suficiente para você começar :) - Há um link fornecido por @grawityaquiisso fornecerá algumas leituras adicionais sobre partes deste tópico.

Responder2

Um link simbólico nada mais é do que um caminho envolvido em uma pequena quantidade de magia do sistema de arquivos. Existem várias maneiras pelas quais ele pode se tornar inválido ("quebrado"), a maioria das quais envolve a renomeação de um ou mais arquivos ou diretórios. Como o Windows é um software de consumo, você pode ter um grande número de programas mal projetados em execução em uma instalação "típica". Como resultado, esse tipo de quebra é muito mais difícil de evitar do que em um servidor onde (em teoria) cada programa que toca o disco é uma quantidade conhecida.

Os atalhos sãoimune à maioria das formas de quebrajá que eles rastreiam seus alvos independentemente do caminho. Isso os torna mais fáceis de usar. Eles são projetados especificamente para consumidores, com uma abordagem “apenas faça o que eu quero e não me incomode com os detalhes”.

Agora, você poderia usar links físicos para isso (até certo ponto), mas os links físicos têm uma série depropriedades complicadasque os tornam inadequados para uso pelo consumidor. Em particular, os arquivos obtêm novos números de inode com muita facilidade e alguns softwares de backup quebram de maneira espetacular quando confrontados com links físicos. O primeiro poderia (talvez) ser resolvido comtunelamento do sistema de arquivos(que é na verdade como os atalhos resolvem um problema relacionado), mas o último é um problema muito mais difícil.

(Eu provavelmente também deveria observar que "resolver" hard links com tunelamento é decididamente não trivial, já que não é apenas uma questão de reanexar metadados que "se perderam". Os inodes estão vinculados ao esquema de alocação de disco, então você não pode simplesmente mesclar arbitrariamente ou reatribuí-los após o fato, sem muito trabalho braçal, como os atalhos usam outros metadados que podem ser facilmente encapsulados, como o horário de criação, eles não têm esse problema.)

Responder3

Sei que esta é uma questão antiga, mas continuamos a ser atormentados pelo Windows Explorer exibindo atalhos e links simbólicos de uma maneira que é quase indistinguível e totalmente enganosa.

  1. Nas visualizações do Explorer que mostram ícones, ambos têm uma pequena seta apontando para cima e para a direita em uma caixa anexada ao canto inferior esquerdo, portanto, aqui eles são representados de forma indistinguível.

  2. Na visualização em árvore do Explorer, os links simbólicos (para diretórios) aparecem como nós, enquanto os atalhos não aparecem.

  3. O clique com o botão direito> caixa de diálogo Propriedades é uma confusão. Para links simbólicos, não há menção nesta caixa de diálogo de "link" ou "link simbólico" e, de fato, a caixa de diálogo exibe uma guia "Atalho" com informações sobre o tipo de destino, local de destino e caminho de destino real. Há um campo Iniciar em (esmaecido e não se aplica ao SymLink).

Enquanto isso, para atalhos reais, a guia Geral mostra o atalho "Tipo de arquivo" (.lnk). E a caixa de diálogo omite a guia Compartilhamento (para diretórios).

Portanto, se tudo isso deixa você incerto sobre o que é o quê, você deve recorrer a uma janela de comando na qual o comando dir identifica claramente os links simbólicos com "" na coluna de tipo, enquanto os atalhos aparecem como arquivos comuns com seus nomes escritos com o " Extensão .lnk".

Claro, já é um problema que a extensão do atalho seja uma abreviatura de "link", quando não são links.

Em suma, o Windows Explorer poderia fazer um trabalho muito melhor ao identificar e distinguir claramente essas duas coisas bastante diferentes, e certamente deveria parar de usar termos para uma ou outra que sejam enganosos ou totalmente errados.

informação relacionada