Tautan keras menautkan file dan direktori dalam sistem file yang sama, tetapi tautan lunak dapat melintasi batas-batas sistem file.
Sebelum memahami tautan, kita harus terlebih dahulu memahami inode, inode adalah struktur data yang terdiri dari metadata tentang file seperti tanggal pembuatan file, otorisasi file, pemilik file dan banyak lagi.
Grafik perbandingan
Dasar untuk perbandingan | Tautan keras | Tautan lunak |
---|---|---|
Dasar | File dapat diakses melalui berbagai nama yang dikenal sebagai tautan keras. | File dapat diakses melalui berbagai referensi yang menunjuk ke file tersebut yang dikenal sebagai tautan lunak. |
Validasi tautan, ketika file asli dihapus | Masih valid dan file dapat diakses. | Tidak valid |
Perintah digunakan untuk penciptaan | dalam | Dalam -s |
nomor inode | Sama | Berbeda |
Dapat ditautkan | Ke partisi sendiri. | Untuk sistem file lain bahkan jaringan. |
Konsumsi memori | Kurang | Lebih |
Jalur relatif | Tak dapat diterapkan | Diizinkan |
Definisi tautan keras
Hard link langsung menghubungkan dua file dalam sistem file yang sama dan untuk identifikasi menggunakan nomor inode file. Hard link tidak dapat diimplementasikan pada direktori (karena mereka menunjuk ke inode). Ketika perintah " ln " digunakan untuk menghasilkan tautan keras, ia menciptakan file lain pada baris perintah yang dapat digunakan untuk merujuk file asli. Baik file asli dan yang dihasilkan memiliki inode dan konten yang sama; karenanya mereka akan memiliki izin dan pemilik yang sama.
Penghapusan file asli tidak memengaruhi file yang ditautkan, dan file yang ditautkan akan tetap ada. Inode menyimpan penghitung, untuk menghitung jumlah tautan keras ke dirinya sendiri. Ketika penghitung menunjukkan nilai 0, maka inode dikosongkan. Setiap kali Anda membuat perubahan pada tautan keras, itu akan meniru di file asli.
Definisi tautan lunak
Tautan lunak biasanya merupakan jalur alternatif (atau alias) untuk file asli; ini juga disebut sebagai tautan simbolik . Ini termasuk nama "file target" tautan, bendera yang menentukan bahwa itu adalah tautan lunak. Ketika suatu file diakses, tautan lunak mengarahkannya ke file target melalui jalur yang ditulis dalam subjek tautan lunak.
Ini sangat berguna dalam kasus OS windows di mana tautan lunak berperilaku sebagai pintasan. Pembuatan dan penghapusan tautan lunak tidak memengaruhi file asli. Jika file target dihapus, tautan lunak akan menggantung yang berarti tidak menunjuk ke mana-mana dan menghasilkan pesan kesalahan saat file target diakses. Tautan lunak tidak menggunakan nomor inode, tidak seperti tautan keras. Jalur absolut atau relatif dapat menjadi bagian dari tautan simbolik.
Perbedaan Kunci Antara Hard link dan Soft link
- Hard link adalah nama tambahan dari file asli yang merujuk inode untuk mengakses file target. Sebaliknya, tautan lunak berbeda dengan file asli dan merupakan alias untuk file asli tetapi tidak menggunakan inode.
- Ketika file asli dihapus, tautan lunak menjadi tidak valid, sedangkan tautan keras valid bahkan jika file target dihapus.
- Di Linux, perintah yang digunakan untuk pembuatan tautan keras adalah " ln ". Sebagai lawan, perintah yang digunakan untuk tautan lunak adalah " ln -s ".
- Hard link memiliki nomor inode yang sama dengan tautan lunak, di mana file target dan tautan lunaknya memiliki nomor inode yang berbeda.
- Tautan keras dibatasi untuk partisinya sendiri, tetapi tautan lunak dapat mencakup berbagai sistem file.
- Kinerja hard link lebih baik daripada soft link dalam beberapa kasus.
- Jalur relatif dan jalur absolut keduanya diizinkan dalam tautan lunak. Sebaliknya, jalur relatif tidak diizinkan dalam tautan keras.
Kesimpulan
Tautan keras tidak membutuhkan ruang ekstra dan penyelesaian mat lebih cepat, tetapi perubahan yang diterapkan pada tautan keras tercermin dalam file asli. Di sisi lain, Soft link membutuhkan ruang ekstra tetapi perubahan pada soft link tidak memengaruhi file aslinya. Tautan lunak diizinkan ke direktori yang tidak seperti Tautan keras.