Jakie są różne typy linków w systemie Windows? Jak je utworzyć?

Odpowiedzi:

57

Pamiętaj, że jedyną niefortunną różnicą jest to, że potrzebujesz uprawnień administratora, aby tworzyć dowiązania symboliczne. IE, potrzebujesz podwyższonego monitu. (Obejściem problemu jest to, że SeCreateSymbolicLinkPrivilege można przyznać zwykłym użytkownikom za pośrednictwem secpol.msc.)

Uwaga w terminologii: skróty systemu Windows nie są nazywane „dowiązaniami symbolicznymi”; są to linki powłoki , ponieważ są to po prostu pliki, które powłoka Eksploratora Windows traktuje specjalnie.


Symlinks: Jak je utworzyć w systemie plików NTFS?

Windows Vista i nowsze wersje obsługują dowiązania symboliczne w stylu Unix w systemach plików NTFS. Pamiętaj, że mają one również tę samą rozdzielczość ścieżki - linki względne są tworzone względem lokalizacji łącza, a nie do bieżącego katalogu. Ludzie często o tym zapominają. Można je również wdrożyć przy użyciu ścieżki bezwzględnej; EG c: \ windows \ system32 zamiast \ system32 (który przechodzi do katalogu system32 podłączonego do lokalizacji łącza).
Dowiązania symboliczne są implementowane przy użyciu punktów ponownej analizy i generalnie zachowują się tak samo jak dowiązania symboliczne Unix.

W przypadku plików możesz wykonać:

mklink  linkname  TargetPath

W przypadku katalogów możesz wykonać:

mklink / d linkname  ścieżka docelowa

Twarde linki: jak je utworzyć w systemach plików NTFS?

Wszystkie wersje systemu Windows NT obsługują twarde łącza w stylu uniksowym w systemach plików NTFS. Korzystanie z mklink w systemie Vista i nowszych:

mklink / h linkname  ścieżka docelowa

W systemach Windows 2000 i XP użyj fsutil.

fsutil hardlink tworzyć linkname  TargetPath

Działają one tak samo jak twarde łącza Unix - wiele wpisów w tabeli plików wskazuje na ten sam i- węzeł .


Połączenia katalogu: jak je utworzyć w systemach plików NTFS?

Windows 2000 i nowsze wersje obsługują połączenia katalogów w systemach plików NTFS. Różnią się od dowiązań symbolicznych tym, że zawsze są absolutne i wskazują tylko na katalogi, nigdy na pliki.

mklink / j linkname  TargetPath

W wersjach, które nie mają mklink, pobierz junctionz Sysinternals:

junction  linkname  targetpath

Połączenia są realizowane za pomocą punktów ponownej analizy .


Jak zamontować wolumin za pomocą punktu ponownej analizy w systemie Windows?

Dla kompletności w systemie Windows 2000 i nowszych punkty ponownej analizy mogą również wskazywać woluminy , co powoduje trwałe montowanie dysków w stylu uniksowym :

mountvol  mountpoint \\? \ Volume { volumeguid }

Identyfikatory GUID woluminów są wymienione według mountvol; są statyczne, ale tylko w obrębie tej samej maszyny.


Czy można to zrobić w Eksploratorze Windows?

Tak, możesz użyć rozszerzenia powłoki Link Shell Extension, które bardzo ułatwia tworzenie linków opisanych powyżej. Pliki do pobrania można znaleźć na dole strony .

System plików NTFS zaimplementowany w NT4, Windows 2000, Windows XP, Windows XP64 i Windows7 obsługuje funkcję znaną jako twarde linki (zwane tutaj Hardlinks ). Dowiązania twarde umożliwiają przechowywanie pojedynczej kopii pliku, a jednocześnie wyświetlanie jej w wielu folderach (katalogach). Można je utworzyć za pomocą polecenia POSIX ln zawartego w zestawie Windows Resource Kit, narzędzia polecenia fsutil zawartego w systemie Windows XP lub mojego narzędzia ln.exe w wierszu polecenia.

Rozszerzenie pozwala użytkownikowi wybrać jeden lub wiele plików lub folderów, a następnie za pomocą myszy zakończyć tworzenie wymaganych łączy - linków twardych, połączeń lub dowiązań symbolicznych lub, w przypadku folderów, utworzyć klony składające się z dowiązań twardych lub dowiązań symbolicznych. LSE jest obsługiwany we wszystkich wersjach systemu Windows, które obsługują NTFS w wersji 5.0 lub nowszej, w tym Windows XP64 i Windows7. Dowiązania twarde, połączenia i dowiązania symboliczne NIE są obsługiwane w systemach plików FAT, a proces klonowania i inteligentnego kopiowania nie jest obsługiwany w systemach plików FAT.

Źródłem może być prosty zbierane przy użyciu właściwej kliknij menu.

W zależności od tego, co wybrałeś , kliknij prawym przyciskiem myszy folder docelowy i zobaczysz menu z opcjami.

To bardzo ułatwia tworzenie linków. Aby uzyskać obszerny przewodnik, przeczytaj dokumentację LSE .

Pliki do pobrania można znaleźć na dole ich strony .

Ważne adresy URL MSDN:

grawitacja
źródło
40

W tej odpowiedzi postaram się nakreślić, jakie są różne typy linków w zarządzaniu katalogami, a także dlaczego są one przydatne, a także kiedy mogą być użyte. Przy próbie osiągnięcia określonej organizacji na woluminach plików znajomość różnych typów, a także ich tworzenie, jest cenną wiedzą.

Aby uzyskać informacje o tym, jak pewna link może być wykonana, patrz grawity „s odpowiedź .

Co to jest link?

Łącze to relacja między dwoma podmiotami; w kontekście zarządzania katalogami łącze może być postrzegane jako relacja między następującymi dwoma podmiotami:

  1. Tabela katalogów

    Ta tabela śledzi pliki i foldery znajdujące się w określonym folderze.

    Tabela katalogów to specjalny typ pliku reprezentujący katalog (znany również jako folder). Każdy przechowywany w nim plik lub katalog jest reprezentowany przez 32-bajtowy wpis w tabeli. Każdy wpis rejestruje nazwę, rozszerzenie, atrybuty (archiwum, katalog, ukryty, tylko do odczytu, system i wolumin), datę i godzinę ostatniej modyfikacji, adres pierwszego klastra danych pliku / katalogu i wreszcie rozmiar plik / katalog.

  2. Klaster danych

    Mówiąc dokładniej, pierwszy klaster pliku lub katalogu.

    Klaster to najmniejsza logiczna ilość miejsca na dysku, którą można przydzielić do przechowywania pliku.

Szczególną cechą tego związku jest to, że pozwala on mieć tylko jeden klaster danych, ale wiele łączy do tego klastra danych, co pozwala nam wyświetlać dane jako obecne w wielu lokalizacjach. Istnieje jednak wiele sposobów, aby to zrobić, a każda z tych metod ma swoje własne skutki.

Aby zobaczyć, skąd się to bierze, wróćmy do przeszłości ...

Co to jest link powłoki i dlaczego nie zawsze jest wystarczający?

Chociaż może to nie brzmieć znajomo, wszyscy to znamy! Skróty plików są niewątpliwie najczęściej stosowanym sposobem łączenia plików. Zostały one znalezione w niektórych wczesnych wersjach systemu Windows 9x i istnieją już od dłuższego czasu.

Pozwalają one na szybkie utworzenie skrótu do dowolnego pliku lub folderu, a dokładniej służą do przechowywania dodatkowych informacji wzdłuż łącza, na przykład katalogu roboczego, w którym plik jest wykonywany, argumentów dostarczanych do programu, a także opcji na przykład, czy zmaksymalizować program.

Wadą tego podejścia jest to, że dodatkowe informacje wymagają, aby ten typ łącza miał klaster danych samodzielnie zawierający ten plik. Problemem niekoniecznie jest więc to, że zajmuje miejsce na dysku, ale raczej to, że dostęp do łącza jest pośredni, ponieważ klaster danych musi zostać najpierw zażądany, zanim dojdziemy do faktycznego łącza. Jeśli ścieżka wymieniona w rzeczywistym łączu zniknie, łącze powłoki nadal będzie istnieć.

Jeśli operujesz na pliku, do którego się odwołujesz, tak naprawdę najpierw musisz dowiedzieć się, w którym katalogu znajduje się ten plik. Nie możesz po prostu otworzyć linku w edytorze, tak jak wtedy, gdy edytujesz .lnkplik, a nie plik, do którego jest podłączony. To blokuje wiele możliwych przypadków użycia linków powłoki.

W jaki sposób łącze punktu połączenia próbuje rozwiązać te problemy?

Punkt połączenia NTFS umożliwia utworzenie dowiązania symbolicznego do katalogu na dyskach lokalnych w taki sposób, aby zachowywał się jak normalny katalog. Tak więc masz jeden katalog plików przechowywanych na dysku, ale możesz uzyskać do niego dostęp z wielu lokalizacji.

Po usunięciu punktu połączenia oryginalny katalog pozostaje. Podczas usuwania oryginalnego katalogu punkt połączenia pozostaje. Wyliczenie dysku jest bardzo kosztowne, aby sprawdzić punkty połączeń, które należy usunąć. Jest to wadą wynikającą z jego wdrożenia.

Punkt połączenia NTFS jest implementowany przy użyciu punktów ponownej analizy NTFS , które są obiektami systemu plików NTFS wprowadzonymi w systemie Windows 2000.

Punkt ponownej analizy NTFS jest typem obiektu systemu plików NTFS. Punkty ponownej analizy umożliwiają rozszerzenie systemu plików NTFS poprzez dodanie dodatkowych informacji do pozycji katalogu, dzięki czemu filtr systemu plików może interpretować sposób, w jaki system operacyjny będzie traktował dane. Pozwala to na tworzenie punktów połączenia, dowiązań symbolicznych NTFS i punktów montowania woluminów i jest kluczową cechą Hierarchical Storage System w Windows 2000.

Zgadza się, wynalazek punktu ponownej analizy pozwala nam tworzyć bardziej wyrafinowane sposoby łączenia.

Punkt połączenia NTFS jest miękkim łączem , co oznacza, że ​​łączy tylko z nazwą pliku. Oznacza to, że przy każdym usunięciu łącza oryginalne dane pozostają nienaruszone ; ale za każdym razem, gdy oryginalne dane zostaną usunięte, oryginalne dane znikną .

Czy mogę również miękko linkować pliki? Czy istnieją linki symboliczne ?

Tak, kiedy pojawił się Windows Vista, postanowili rozszerzyć funkcjonalność obiektów systemu plików NTFS, udostępniając dowiązanie symboliczne NTFS , które jest miękkim dowiązaniem działającym w taki sam sposób, jak punkt połączenia NTFS. Ale może być stosowany do plików i katalogów.

Ponownie mają one takie samo zachowanie podczas usuwania, w niektórych przypadkach może to być kłopotliwe dla plików, ponieważ nie chcesz mieć bezużytecznej kopii pliku. Dlatego zaimplementowano także pojęcie twardych linków.

Co to jest link twardy i jak zachowuje się w przeciwieństwie do linków miękkich?

Dowiązania twarde nie są obiektami systemu plików NTFS, ale są linkami do pliku (w szczególności odnoszą się do pozycji MFT, ponieważ przechowują dodatkowe informacje o rzeczywistym pliku). Wpis MFT zawiera pole, które zapamiętuje czas, przez który plik jest twardo połączony. Dane będą nadal dostępne, dopóki istnieje co najmniej jedno łącze do nich wskazujące.

Tak więc dane nie zależą już od istnienia pojedynczego wpisu MFT . Tak długo, jak istnieje twarde łącze, dane będą przetrwać. Zapobiega to przypadkowemu usunięciu w przypadkach, w których nie chce się pamiętać, gdzie był oryginalny plik.

Możesz na przykład utworzyć folder z „filmami, które wciąż muszę oglądać”, a także folder „filmy, które zabieram na wakacje”, a także folder „ulubione filmy”. Filmy, które nie są żadnym z nich, zostaną poprawnie usunięte, podczas gdy filmy, które są któregokolwiek z nich, będą istnieć nawet po obejrzeniu filmu.

Do czego służy łącze do punktu instalacji woluminu ?

Niektórzy informatycy lub ludzie biznesu mogą nie chcieć pamiętać lub wpisywać różnych liter dysków w swoim systemie. Co tak M:naprawdę znaczy? Czy to była muzyka? Kino? Modele? Mapy?

Microsoft zrobił wysiłki ponad rok, aby spróbować dokonać migracji użytkowników z dala od work in drive C:celu work in your user folder. Mogę bez wątpienia powiedzieć, że użytkownicy z UAC i problemami z uprawnieniami to ci, którzy nie przestrzegają tych wytycznych, ale to ich nie zastanawia:

Dlaczego w ogóle powinieneś codziennie przeglądać cokolwiek poza plikami osobistymi?

Punkty montowania woluminów to profesjonalny sposób na to, aby nie ograniczać się do liter dysków, a także mieć strukturę katalogów, która ma dla nich sens, ale ...

Moje pliki znajdują się w różnych miejscach, czy mogę użyć łączy, aby je zebrać?

W systemie Windows 7 biblioteki zostały wprowadzone właśnie w tym celu. Wykonano z plikami muzycznymi znajdującymi się w tym folderze oraz w tym folderze i w tym folderze . Z niższego poziomu widoku bibliotekę można przeglądać jako wiele łączy. Ponownie są one implementowane jako obiekt systemu plików, który może zawierać wiele odniesień. Zasadniczo jest to relacja jeden do wielu ...

Mój mózg eksploduje ... Czy możesz streścić, kiedy ich użyć?

  • Łącza skrótów: używaj ich, gdy potrzebujesz szybkiego dostępu do pliku wykonywalnego lub strony internetowej, pliku, który uruchamiasz bardzo często lub gdy musisz określić parametry aplikacji, a plik wsadowy to przesada. Nie używaj go, jeśli zamierzasz manipulować plikiem za pomocą jego skrótu.

  • Punkty połączenia: używaj ich, gdy chcesz, aby katalog był gdzie indziej, pozwala to przenosić katalogi na szybsze lub wolniejsze dyski bez utraty dostępu do oryginalnej ścieżki. Innym zastosowaniem jest dostęp do katalogu inną ścieżką. Nie można ich użyć do połączenia z udziałem.

  • Miękkie łącza: używaj ich tam, gdzie skrót skrótu nie jest wystarczający, często jest używany, gdy zamierzasz manipulować plikiem za pomocą skrótu. Lub gdy chcesz, aby plik znajdował się na szybszym lub wolniejszym dysku bez utraty dostępu do oryginalnej ścieżki.

  • Twarde linki: używaj ich, gdy chcesz, aby plik zniknął tylko po usunięciu wszystkich twardych linków do niego. Tego nie można użyć w przypadku folderów.

  • Punkty montowania woluminu: używaj ich, gdy zabraknie liter dysku lub gdy łatwiej jest uzyskać dostęp do woluminu ścieżką, a nie literą dysku.

  • Biblioteki: używaj ich, gdy masz ten sam typ pliku w wielu różnych lokalizacjach i potrzebujesz ich razem, obsługuje to dyski wymienne, dzięki czemu wygodne jest wyświetlanie folderów na dyskach wymiennych między folderami na komputerze podczas wkładania to. Możesz kliknąć poszczególne foldery z drzewa folderów pod biblioteką w widoku drzewa, co ułatwia przenoszenie plików między nimi.

Tamara Wijsman
źródło
Biblioteki są na poziomie powłoki jak linki skrótów, prawda?
Medinoc,
@ Medinoc: Nie, agregują zawartość wielu lokalizacji.
Tamara Wijsman
1
Ale czy robią to na poziomie systemu plików w taki sposób, że powiedzmy cmd.exe i dirmogą wyświetlać zagregowaną zawartość (w takim przypadku, gdzie są w systemie plików, nie mogę jej znaleźć), czy tylko agregują na poziomie powłoki, gdzie tylko Eksplorator Windows i okna dialogowe plików mogą je wyświetlać? Byłem pod wrażeniem, to był ostatni, ale swoje „nie” podważa to chyba pisałem moje pytanie źle (chciałem powiedzieć „Biblioteki są powłoki poziomie jak skrótów linki , prawda?” ).
Medinoc,
@ Medinoc: Są to pliki na C:\Users\{User}\AppData\Roaming\Microsoft\Windows\Libraries.
Tamara Wijsman
1
@Pacerier: Windows używa starego systemu lokalizacji, w którym można na przykład przenieść folder muzyczny z jego właściwości. Biblioteki są nowym dodatkiem, którego sam system operacyjny prawie nie wykorzystuje. Dlatego wątpię, aby coś się zepsuło; ponieważ są one przeznaczone wyłącznie do celów ekspozycyjnych, ...
Tamara Wijsman,
8

Jeśli korzystasz z systemu Windows Vista lub nowszego i masz uprawnienia administratora, możesz sprawdzić polecenie mklink (jest to narzędzie wiersza polecenia). Nie jestem pewien, jak naprawdę jest to symlink-y, ponieważ Windows daje mu małą strzałkę, którą umieszcza na skrótach, ale szybki test notatnika ++ na pliku tekstowym sugeruje, że może on działać na to, czego szukasz.

Możesz uruchomić mklink bez argumentów, aby uzyskać szybki przewodnik użytkowania.

Mam nadzieję że to pomogło.

GeminiDomino
źródło
mklink używa punktów połączenia NTFS (uważam, że tak się nazywają), aby mniej więcej idealnie powielić łączenie w stylu uniksowym. System Windows może stwierdzić, że jest to skrzyżowanie, więc nada mu tradycyjną ikonę strzałki. iirc możesz to usunąć za pomocą jakiegoś rejestru, ale nie pamiętam gdzie.
jcrawfordor,
2
@jcrawfordor: Struktury dysku to „punkty ponownej analizy” . Połączenia i dowiązania symboliczne to dwa różne rodzaje punktów ponownej analizy; punkty montowania woluminu są trzecie.
grawity
1
I tak, utworzone linki mklinksymboliczne @Gemini zostały specjalnie zaimplementowane, aby działały tak samo jak te uniksowe .
grawity
Dzięki grawitacji, za potwierdzenie. Nigdy nie
bawiłem
2

ten artykuł ma pewne rozróżnienia

jednym ważnym rozróżnieniem jest to, że w pewnym sensie połączenia przed win7 były nieco niebezpieczne, ponieważ ich usunięcie spowodowałoby usunięcie katalogu docelowego.

http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/

Punkt połączenia nigdy nie powinien być usuwany w Win2k, Win2003 i WinXP za pomocą Eksploratora, poleceń del lub del / s, ani za pomocą jakiegokolwiek narzędzia, które rekurencyjnie chodzi po katalogach, ponieważ usuwają one katalog docelowy i wszystkie jego podkatalogi. Zamiast tego użyj polecenia rmdir, narzędzia linkd lub fsutil (jeśli używasz WinXP lub nowszego) lub narzędzia innej firmy, aby usunąć punkt połączenia bez wpływu na cel. W systemie Vista / Win7 można bezpiecznie usunąć punkty połączenia za pomocą Eksploratora lub za pomocą komend rmdir i del.

barlop
źródło