Jaka jest różnica między aliasem a linkiem?


Odpowiedzi:


26

Alias ​​zawiera dwie informacje: unikalny identyfikator pliku, z którym się łączy, oraz ścieżkę i nazwę pliku, do którego prowadzi.

Jeśli zmienisz nazwę lub przeniesiesz plik, a następnie utworzysz nowy plik ze ścieżką i nazwą pliku, który pierwotnie miał plik, wówczas dowolny alias powiązany z oryginalnym plikiem będzie teraz łączył się z nowym plikiem.

Jeśli jednak zmienisz nazwę pliku lub przeniesiesz go bez zastępowania, a następnie wywołasz alias, alias zostanie zaktualizowany, aby wskazywał nową ścieżkę i nazwę pliku, wykorzystując do tego unikalny identyfikator.

Z drugiej strony dowiązanie symboliczne nie zawiera unikalnego identyfikatora pliku i wyglądałoby jak zepsute, jeśli nazwa pliku zostanie zmieniona lub przeniesiona i nie zostanie zastąpiona plikiem o tej samej ścieżce i nazwie.

Twój wybór powinien zależeć od tego, który scenariusz najbardziej Ci odpowiada.


11
Kolejna różnica polega na tym, że narzędzia wiersza polecenia (tj. Wszystko, co korzysta z interfejsów API plików Posix) nie zrozumieją aliasów, tylko dowiązania symboliczne. Oba będą działać dla aplikacji GUI.
Gordon Davisson,

Gdy piszę w tym poście ( apple.stackexchange.com/questions/2992/... ), stwierdziłem, że akcja automatyzatora nie działa z linkiem, ale z aliasem.
prosseek

@sentinal należy również dodać twarde linki
user151019

1
W szczególności Spotlight nie indeksuje dowiązania symbolicznego.
Zindeksuje

2

Jestem dość zdezorientowany odpowiedzią wartownika create a new file with the path and filename that the file originally had. Jest to również nagłe, dlaczego chcesz to zrobić?

Cóż, jeśli rozumiesz, dlaczego i jak alias działa przy użyciu UID i ścieżki do pliku (podczas gdy dowiązanie symboliczne działa tylko na ścieżce), możesz łatwiej zrozumieć różnicę i wysoko głosowaną odpowiedź.

W systemach plików HFS i HFS + każdy plik i folder ma unikalny, trwały identyfikator. Aliasy używają tej tożsamości wraz z informacjami o ścieżce do znajdowania plików i folderów na tym samym woluminie.

Począwszy od systemu Mac OS X 10.2, aliasy odwróciły tę kolejność wyszukiwania, używając najpierw nazwy ścieżki i unikalnej tożsamości. Oznacza to, że jeśli przeniesiesz plik i zastąpisz go identycznie nazwanym plikiem, aliasy do oryginalnego pliku wskazują teraz nowy plik. Podobnie, jeśli przenosisz plik na tym samym woluminie (bez zastępowania go), aliasy używają unikalnych informacji o tożsamości, aby zlokalizować plik.

Gdy plik lub folder się przenosi, alias może aktualizować informacje o ścieżce lub unikalne informacje o tożsamości, aby uwzględnić zmianę. Jeśli plik przenosi się gdzieś na tym samym woluminie, alias aktualizuje swój wewnętrzny rekord o nowe informacje o ścieżce do pliku. Podobnie, jeśli oryginalny plik zostanie zastąpiony plikiem o tej samej nazwie, ale o innej unikalnej tożsamości, alias aktualizuje swój wewnętrzny rekord unikalną tożsamością nowego pliku. (wynik create a new file with the path and filename that the file originally had)

Ponieważ aliasy używają początkowo ścieżki systemu plików do rozpoznawania lokalizacji plików, teraz oferują one podobne zachowanie do dowiązań symbolicznych. Linki symboliczne polegają wyłącznie na informacjach o ścieżce w celu zlokalizowania pliku. Jeśli przenosisz plik gdzieś na tym samym woluminie, nie zastępując go, symboliczne łącza do pliku zostaną przerwane, a aliasy tego nie zrobią. Jedynym sposobem na naprawienie dowiązania symbolicznego jest usunięcie go i utworzenie nowego.

odniesienie


1
To wydaje się być komentarzem do odpowiedzi, a nie próbą odpowiedzi na pytanie PO. Czy możesz wyjaśnić, w jaki sposób twój post odpowiada na pierwotne pytanie? Zobacz Jak odpowiedzieć, aby uzyskać wskazówki na temat pisania dobrych odpowiedzi. - Z recenzji
fsb

Odpowiedziałem na pytanie OP, wyjaśniając, jak działa wyszukiwanie w aliasie na komputerze Mac, czyli jak ścieżka do pliku i identyfikator UID są używane w wyszukiwaniu. Wysoko głosowana odpowiedź odpowiedziała na różnicę, ale nie odpowiedziała, dlaczego ta różnica jest generowana.
Izana
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.