É possível vincular dois arquivos ou pastas sem ter uma extensão diferente no Windows?
Estou procurando uma funcionalidade equivalente aos links flexíveis e físicos no Unix.
É possível vincular dois arquivos ou pastas sem ter uma extensão diferente no Windows?
Estou procurando uma funcionalidade equivalente aos links flexíveis e físicos no Unix.
Respostas:
Observe que a única diferença infeliz é que você precisa de direitos de administrador para criar links simbólicos. IE, você precisa de um prompt elevado. (Uma solução alternativa é que o SeCreateSymbolicLinkPrivilege pode ser concedido a usuários normais via secpol.msc
.)
Nota na terminologia: os atalhos do Windows não são chamados de "links simbólicos"; eles são links de shell , pois são simplesmente arquivos que o shell do Windows Explorer trata especialmente.
O Windows Vista e versões posteriores suportam links simbólicos no estilo Unix em sistemas de arquivos NTFS.
Lembre-se de que eles também seguem a mesma resolução de caminho - links relativos são criados em relação à localização do link, não ao diretório atual. As pessoas costumam esquecer isso. Eles também podem ser implementados usando um caminho absoluto; Por exemplo, c: \ windows \ system32 em vez de \ system32 (que vai para um diretório system32 conectado ao local do link). Os links
simbólicos são implementados usando pontos de nova análise e geralmente têm o mesmo comportamento que os links simbólicos do Unix.
Para arquivos que você pode executar:
mklink linkname targetpath
Para diretórios você pode executar:
mklink / d nome do link targetpath
Todas as versões do Windows NT suportam links físicos no estilo Unix em sistemas de arquivos NTFS. Usando o mklink no Vista e superior:
mklink / h linkname caminho do destino
Para Windows 2000 e XP, use fsutil
.
fsutil hardlink criar linkname caminho de destino
Eles também funcionam da mesma maneira que os links físicos do Unix - várias entradas da tabela de arquivos apontam para o mesmo inode .
O Windows 2000 e versões posteriores suportam junções de diretório em sistemas de arquivos NTFS. Eles são diferentes dos links simbólicos, pois são sempre absolutos e apenas apontam para diretórios, nunca para arquivos.
mklink / j linkname caminho do destino
Nas versões que não possuem mklink
, faça o download junction
no Sysinternals:
junção linkname targetpath
As junções são implementadas usando pontos de nova análise .
Para completar, no Windows 2000 e posterior , os pontos de nova análise também podem apontar para volumes , resultando em montagens de disco persistentes no estilo Unix :
mountvol ponto de montagem \\? \ Volume { volumeguid }
GUIDs de volume são listados por mountvol
; eles são estáticos, mas apenas dentro da mesma máquina.
Sim, você pode usar a extensão do shell Link Shell Extension, o que facilita muito a criação dos links descritos acima. Você pode encontrar os downloads na parte inferior da página .
O sistema de arquivos NTFS implementado no NT4, Windows 2000, Windows XP, Windows XP64 e Windows7 oferece suporte a um recurso conhecido como links físicos (aqui referidos como Hardlinks ). Os hardlinks fornecem a capacidade de manter uma única cópia de um arquivo e, ainda assim, aparecer em várias pastas (diretórios). Eles podem ser criados com o comando POSIX ln incluído no Windows Resource Kit, o utilitário de comando fsutil incluído no Windows XP ou o meu utilitário de linha de comando ln.exe .
A extensão permite que o usuário selecione um ou mais arquivos ou pastas e, com o mouse, conclua a criação dos Links necessários - Hardlinks, Junções ou Links Simbólicos ou, no caso de pastas, para criar Clones que consistam em Links Físicos ou Simbólicos. O LSE é suportado em todas as versões do Windows compatíveis com NTFS versão 5.0 ou posterior, incluindo Windows XP64 e Windows7. Hardlinks, junções e links simbólicos NÃO são suportados em sistemas de arquivos FAT, nem o processo de Clonagem e Cópia Inteligente é suportado em sistemas de arquivos FAT.
A fonte pode ser simplesmente selecionada usando o menu do botão direito.
E, dependendo do que você escolheu , clique com o botão direito do mouse em uma pasta de destino e obtenha um menu com opções.
Isso facilita a criação de links. Para um guia completo , leia a documentação do LSE .
Os downloads podem ser encontrados na parte inferior da página .
URLs MSDN relevantes:
Nesta resposta, tentarei descrever quais são os diferentes tipos de links no gerenciamento de diretórios e por que são úteis e quando podem ser usados. Ao tentar alcançar uma certa organização em seus volumes de arquivo, conhecer os vários tipos diferentes e criá-los é um conhecimento valioso.
Para obter informações sobre como um determinado link pode ser feito, consulte grawity 's resposta .
Um link é um relacionamento entre duas entidades; no contexto do gerenciamento de diretório, um link pode ser visto como um relacionamento entre as duas entidades a seguir:
Esta tabela controla os arquivos e pastas que residem em uma pasta específica.
Uma tabela de diretórios é um tipo especial de arquivo que representa um diretório (também conhecido como pasta). Cada arquivo ou diretório armazenado nele é representado por uma entrada de 32 bytes na tabela. Cada entrada registra o nome, extensão, atributos (archive, diretório, oculto, somente leitura, sistema e volume), a data e hora da última modificação, o endereço do primeiro cluster dos dados do arquivo / diretório e, finalmente, o tamanho de o arquivo / diretório.
Mais especificamente, o primeiro cluster do arquivo ou diretório.
Um cluster é a menor quantidade lógica de espaço em disco que pode ser alocada para manter um arquivo.
O aspecto especial desse relacionamento é que ele permite ter apenas um cluster de dados, mas muitos links para esse cluster, permitindo mostrar dados como estando presentes em vários locais. No entanto, existem várias maneiras de fazer isso e cada método tem seus próprios efeitos.
Para ver de onde isso se origina, vamos voltar ao passado ...
Embora possa não parecer familiar, todos conhecemos este! Os atalhos de arquivo são, sem dúvida, a maneira mais frequentemente usada de vincular arquivos. Eles foram encontrados em algumas das versões anteriores do Windows 9x e existem há um longo tempo.
Isso permite que você crie rapidamente um atalho para qualquer arquivo ou pasta, eles são feitos especificamente para armazenar informações extras ao longo do link, como por exemplo, o diretório de trabalho em que o arquivo é executado, os argumentos a serem fornecidos ao programa e as opções como maximizar o programa.
A desvantagem dessa abordagem de vinculação é exatamente isso: as informações extras exigem que esse tipo de link tenha um cluster de dados por conta própria para conter esse arquivo. O problema, então, não é necessariamente o fato de ocupar espaço em disco, mas o fato de o link ser acessado indiretamente, pois o Data Cluster precisa primeiro ser solicitado antes de chegarmos ao link real. Se o caminho referido no link real desaparecer, o link do shell ainda existirá.
Se você operasse no arquivo que está sendo referido, primeiro teria que descobrir em qual diretório o arquivo está. Você não pode simplesmente abrir o link em um editor, pois estaria editando o .lnk
arquivo, e não o arquivo ao qual está vinculado. Isso bloqueia muitos casos de uso possíveis para links de shell.
Um ponto de junção NTFS permite criar um link simbólico para um diretório nas unidades locais , de maneira que ele se comporte exatamente como um diretório normal. Portanto, você tem um diretório de arquivos armazenados no disco, mas pode acessá-lo em vários locais.
Ao remover o ponto de junção, o diretório original permanece. Ao remover o diretório original, o ponto de junção permanece. É muito caro enumerar o disco para verificar se há pontos de junção que precisam ser excluídos. Esta é uma desvantagem como resultado de sua implementação.
O ponto de junção NTFS é implementado usando pontos de nova análise NTFS , que são objetos do sistema de arquivos NTFS introduzidos no Windows 2000.
Um ponto de nova análise NTFS é um tipo de objeto do sistema de arquivos NTFS. Os pontos de nova análise fornecem uma maneira de estender o sistema de arquivos NTFS adicionando informações extras à entrada do diretório, para que um filtro do sistema de arquivos possa interpretar como o sistema operacional tratará os dados. Isso permite a criação de pontos de junção, links simbólicos NTFS e pontos de montagem de volume, e é um recurso essencial para o Sistema de Armazenamento Hierárquico do Windows 2000.
É isso mesmo, a invenção do ponto de nova análise nos permite fazer maneiras mais sofisticadas de vincular.
O ponto de junção NTFS é um link simples, o que significa que apenas vincula ao nome do arquivo. Isso significa que sempre que o link é excluído, os dados originais permanecem intactos ; mas, sempre que os dados originais forem excluídos, os dados originais desaparecerão .
Sim, quando o Windows Vista apareceu, eles decidiram estender a funcionalidade do (s) objeto (s) do sistema de arquivos NTFS, fornecendo o link simbólico NTFS , que é um link flexível que atua da mesma maneira que o ponto de junção NTFS. Mas pode ser aplicado a arquivos e diretórios.
Eles compartilham novamente o mesmo comportamento de exclusão; em alguns casos de uso, isso pode ser um problema para os arquivos, pois você não deseja ter uma cópia inútil de um arquivo por aí. É por isso que também a noção de links físicos foi implementada.
Os links físicos não são objetos do sistema de arquivos NTFS, mas são um link para um arquivo (em detalhes, eles se referem à entrada MFT, pois armazena informações adicionais sobre o arquivo real). A entrada MFT possui um campo que lembra a quantidade de tempo em que um arquivo está sendo vinculado. Os dados ainda estarão acessíveis enquanto existir pelo menos um link que aponte para ele.
Portanto, os dados não dependem mais de uma única entrada MFT para existir . Enquanto houver um vínculo rígido, os dados sobreviverão. Isso evita a exclusão acidental de casos em que não se deseja lembrar onde estava o arquivo original.
Você poderia, por exemplo, criar uma pasta com "filmes que ainda tenho que assistir", além de uma pasta "filmes que tiro em férias" e uma pasta "filmes favoritos". Os filmes que não são nenhum desses serão excluídos corretamente, enquanto os filmes que forem qualquer um deles continuarão a existir mesmo quando você assistir a um filme.
Algumas pessoas de TI ou de negócios podem não gostar de lembrar ou digitar as diferentes letras de unidade que seu sistema possui. O que M:
realmente significa, afinal? Foi música? Filmes? Modelos? Maps?
A Microsoft fez esforços ao longo do ano para tentar migrar usuários para longe do work in drive C:
para work in your user folder
. Eu poderia, sem dúvida, dizer que os usuários com problemas de permissão e UAC são aqueles que não seguem essas diretrizes, mas isso não os faz pensar:
Por que você deveria estar visualizando qualquer coisa, menos seus arquivos pessoais, diariamente?
Os pontos de montagem de volume são a maneira profissional de TI de não ser limitado por letras de unidade, além de ter uma estrutura de diretórios que faz sentido para eles, mas ...
No Windows 7, as bibliotecas foram introduzidas exatamente para esse fim. Feito com arquivos de música que estão localizados nesta pasta e nessa pasta e nessa pasta . De um nível mais baixo, uma biblioteca pode ser visualizada como vários links. Eles são novamente implementados como um objeto do sistema de arquivos que pode conter várias referências. É essencialmente uma relação de um para muitos ...
Links de atalho: use-os quando precisar de acesso rápido a um executável ou site, a um arquivo que você inicia com freqüência ou a especificar parâmetros para um aplicativo e um arquivo em lotes é um exagero. Não o utilize quando pretender manipular o arquivo através do seu atalho.
Pontos de junção: use-os quando quiser que um diretório esteja em outro lugar; isso permite que você mova os diretórios para unidades mais rápidas ou lentas, sem perder a capacidade de acessar o caminho original. Outro uso é quando você deseja acessar um diretório por outro caminho. Eles não podem ser usados para vincular a um compartilhamento.
Links flexíveis: use-os quando um link de atalho não for suficiente; geralmente é usado quando você pretende manipular o arquivo por meio dele. Ou quando você deseja que o arquivo esteja em uma unidade mais rápida ou mais lenta, sem perder a capacidade de acessar o caminho original.
Links físicos: use-os quando desejar que um arquivo seja excluído quando todos os links físicos forem removidos. Isso não pode ser usado para pastas.
Pontos de montagem de volume: use-os quando ficar sem letras de unidade ou quando achar mais viável acessar um volume por um caminho e não por uma letra de unidade.
Bibliotecas: use-as quando você tiver o mesmo tipo de arquivo em vários locais diferentes e precisar que elas estejam juntas. Isso suporta unidades removíveis, facilitando a exibição das pastas nas unidades removíveis entre as do computador quando você insere isto. Você pode clicar nas pastas individuais da árvore de pastas abaixo da biblioteca na visualização em árvore, o que facilita a movimentação de arquivos entre os dois.
dir
possam listar o conteúdo agregado (nesse caso, onde estão no sistema de arquivos, não consigo encontrá-lo) ou apenas agregam no nível do shell, onde apenas o Windows Explorer e as caixas de diálogo de arquivo podem mostrá-los? Fiquei com a impressão de que era o último, mas o seu "não" desafia este a menos que eu escrevi a minha pergunta errada (eu quis dizer "As bibliotecas são shell de nível como links de atalho são , certo?" ).
C:\Users\{User}\AppData\Roaming\Microsoft\Windows\Libraries
.
Se você estiver no Windows Vista ou posterior e tiver direitos de administrador, verifique o comando mklink (é uma ferramenta de linha de comando). Não sei ao certo como é o link simbólico, pois o Windows fornece o pequeno ícone de seta que coloca em atalhos, mas um teste rápido do bloco de notas ++ em um arquivo de texto sugere que ele pode funcionar para o que você está procurando.
Você pode executar o mklink sem argumentos para obter um guia de uso rápido.
Espero que ajude.
mklink
links simbólicos feitos pelo @Gemini foram implementados especificamente para funcionar como os do Unix .
este artigo tem algumas distinções
uma distinção importante é que, em certo sentido, as junções pré-win7 eram um pouco inseguras, pois excluí-las excluiria o diretório de destino.
http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/
Um ponto de junção nunca deve ser removido no Win2k, Win2003 e WinXP com o Explorer, os comandos del ou del / s ou com qualquer utilitário que percorra diretórios recursivamente, pois eles excluirão o diretório de destino e todos os seus subdiretórios. Em vez disso, use o comando rmdir, o utilitário linkd ou fsutil (se estiver usando o WinXP ou superior) ou uma ferramenta de terceiros para remover o ponto de junção sem afetar o destino. No Vista / Win7, é seguro excluir pontos de junção com o Explorer ou com os comandos rmdir e del.