Apa perbedaan antara alias dan tautan?

Jawaban:

26

Alias ​​berisi dua bagian informasi: pengidentifikasi unik dari file yang ditautkannya, dan path serta nama file dari file yang ditautkannya.

Jika Anda mengganti nama atau memindahkan file, dan kemudian membuat file baru dengan path dan nama file yang dimiliki oleh file tersebut, maka semua alias yang ditautkan ke file asli sekarang terhubung ke file baru.

Namun, jika Anda mengganti nama atau memindahkan file tanpa menggantinya, dan kemudian memanggil alias, alias diperbarui untuk menunjuk ke jalur dan nama file baru, memanfaatkan pengidentifikasi unik untuk melakukannya.

Tautan simbolis, di sisi lain, tidak mengandung pengidentifikasi unik untuk file, dan akan tampak rusak jika file tersebut diganti nama atau dipindahkan dan tidak diganti dengan file dengan jalur dan nama file yang sama.

Pilihan Anda harus bergantung pada skenario mana yang paling cocok untuk Anda.

penjaga
sumber
11
Perbedaan lainnya adalah alat baris perintah (yaitu apa pun yang menggunakan API file Posix) tidak akan mengerti alias, hanya symlinks. Keduanya akan bekerja untuk aplikasi GUI.
Gordon Davisson
Ketika saya memposting di posting ini ( apple.stackexchange.com/questions/2992/... ), saya menemukan bahwa tindakan automator tidak bekerja dengan tautan, tetapi dengan alias.
prosseek
@sinal Anda juga harus menambahkan apa tautan keras
user151019
1
Khususnya, Spotlight tidak akan mengindeks symlink. Ini akan mengindeks alias (meskipun pada peringkat yang lebih rendah.)
ocodo
2

Saya cukup bingung dengan penjaga sentinel aktif create a new file with the path and filename that the file originally had. Juga tiba-tiba, mengapa Anda ingin melakukan itu?

Nah, jika Anda mengerti mengapa dan bagaimana alias berfungsi menggunakan UID dan path ke file (sementara symlink hanya bekerja di path), maka Anda dapat memahami perbedaan dan jawaban yang sangat banyak dipilih dengan lebih mudah.

Pada sistem file HFS dan HFS +, setiap file dan folder memiliki pengidentifikasi persisten yang unik. Alias ​​menggunakan identitas ini bersama dengan informasi pathname untuk menemukan file dan folder pada volume yang sama.

Dimulai dengan Mac OS X 10.2, alias membalik urutan pencarian ini dengan menggunakan pathname pertama dan identitas unik kedua. Ini berarti bahwa jika Anda memindahkan file dan menggantinya dengan file yang bernama identik, alias ke file asli sekarang menunjuk ke file baru. Demikian pula, jika Anda memindahkan file pada volume yang sama (tanpa menggantinya), alias menggunakan informasi identitas unik untuk mencari file.

Ketika file atau folder bergerak, alias dapat memperbarui informasi jalurnya atau informasi identitas unik ke akun untuk perubahan. Jika suatu file bergerak di suatu tempat pada volume yang sama, alias memperbarui catatan internalnya dengan informasi jalur baru untuk file tersebut. Demikian pula, jika file asli digantikan oleh file dengan nama yang sama, tetapi identitas unik yang berbeda, alias memperbarui catatan internalnya dengan identitas unik dari file baru. (hasil create a new file with the path and filename that the file originally had)

Karena alias menggunakan jalur sistem file untuk menyelesaikan lokasi file pada awalnya, mereka sekarang menawarkan perilaku yang mirip dengan tautan simbolik. Tautan simbolik hanya mengandalkan informasi jalur untuk menemukan file. Jika Anda memindahkan file di suatu tempat pada volume yang sama tanpa menggantinya, tautan simbolik ke file tersebut rusak sementara alias tidak. Satu-satunya cara untuk memperbaiki tautan simbolik adalah dengan menghapusnya dan membuat yang baru.

referensi

Izana
sumber
1
Tampaknya ini merupakan komentar pada jawaban dan bukan upaya untuk menjawab pertanyaan OP. Bisakah Anda jelaskan bagaimana posting Anda menjawab pertanyaan awal? Lihat Cara Menjawab untuk panduan menulis jawaban yang baik. - Dari Ulasan
fsb
Saya menjawab pertanyaan OP dengan menjelaskan bagaimana pencarian pada alias bekerja pada mac, yaitu, bagaimana path ke file dan UID digunakan dalam pencarian. Jawaban yang sangat banyak menjawab perbedaan tetapi tidak menjawab mengapa perbedaan itu dihasilkan.
Izana