Jawaban:
Untuk menggunakan analogi dari pengiriman surat, tautan simbolik adalah sesuatu seperti alamat penerusan ... ketika sesuatu mencoba membuka tautan simbolik, tautan itu membuka "file" (meskipun bukan file secara literal) yang disimpan di sana, dan melihatnya seharusnya melihat file dengan nama yang berbeda, jadi itu membuka file lain sebagai gantinya.
Tautan keras lebih seperti memiliki dua alamat untuk tempat yang sama. (Tentu saja ini tidak benar-benar mungkin di dunia fisik). Ketika sesuatu mencoba membaca salah satu nama file (alamat), mereka mendapatkan file fisik yang sama (lokasi).
Jadi tautan keras bukan salinan, karena file tersebut hanya disimpan sekali (tetapi dengan banyak nama). Tetapi berperilaku sangat mirip salinan, karena Anda dapat mengakses informasi yang sama dari dua nama file.
/foo
dan /bar
, perubahan /foo
juga akan berubah /bar
jika itu adalah hardlink (karena mereka adalah dua nama untuk file yang sama), tetapi tidak jika mereka salinan (karena mereka dua file yang sepenuhnya independen).
Tidak. Tautan keras (kedua dan selanjutnya) ke sebuah file adalah penunjuk ke inode yang sama pada disk.
Ketika Anda membuat tautan keras, itu berarti file yang sama muncul di dua tempat yang berbeda. File sebenarnya hanya referensi ke sekumpulan blok data pada disk, jadi tautan keras menambahkan referensi lain. File jarang benar-benar dihapus; referensi hanya dihapus sehingga tidak mungkin untuk mengakses data. Itu sebabnya ketika Anda menghapus file yang Anda buat sebagai tautan keras, file asli lainnya tetap, dan sebaliknya.
Di sisi lain, symlink adalah arahan untuk mengakses file dengan nama tertentu. Ia memberi tahu program apa pun, "Jika Anda ingin menggunakan file ini, itu ada di sana". Inilah sebabnya mengapa jika Anda menghapus target symlink, symlink rusak. Dan jika Anda menghapus tautan, targetnya tidak terpengaruh.
File dalam sistem * nix memiliki dua bagian. satu bagian data dan lainnya adalah inode. inode menyimpan meta (informasi yang relevan dengan data seperti lokasi di mana dalam HDD disimpan) informasi. Hard link membuat salinan persis inode ini. Sedangkan sym link membuat inode yang menunjuk ke inode dari inode yang sebenarnya. Jadi data inode dalam hardlink sama dengan target tetapi data berbeda di tautan sym. Jadi untuk mempersingkat cerita panjang, sym link dan hard link berbeda dengan konten data inode mereka bukan data file. Ini adalah pemahaman saya tentang perbedaan antara sym link dan hard link. Awalnya saya mengalami kesulitan memahami hal ini karena ini adalah sesuatu yang lebih pengembang dan saya bukan pengembang. Oh yang berpengetahuan luas, tolong perbaiki saya jika saya salah.