Setiap orang yang terbiasa dengan Windows dapat membayangkan apa itu symlink dan bagaimana mereka digunakan. Di sisi lain, konsep hard link asing bagi Windows (apakah saya benar?).
Saya ingin tahu apa kegunaan khas tautan keras di Linux. Saya sudah melihat posting berbeda yang menggambarkan perbedaan dalam cara kerjanya. Apa yang saya tanyakan adalah situasi khas apa ketika pengguna akan lebih baik menggunakan tautan keras daripada symlink?
symbolic-link
hard-link
Melakukan
sumber
sumber
Jawaban:
Saya menggunakan tautan keras di mana saya memerlukan satu file di dua tempat atau lebih, saya memperkirakan bahwa suatu hari saya ingin menghapus salah satu lokasi, dan saya mungkin lupa bahwa saya memiliki tautan ke file tersebut. Ini mencegah saya mengakhiri dengan tautan simbolis ke file yang tidak ada lagi.
Klarifikasi:
Nama file sebenarnya adalah tautan keras ke file tersebut. Dengan demikian, setiap file memiliki setidaknya satu tautan keras, yang biasanya kita anggap sebagai nama file "the". Ketika Anda menghapus file, sebenarnya Anda menghapus tautannya (karena itu nama "hapus", yaitu
rm
, bukannya "hapus"). Ketika file memiliki tautan keras terakhir yang dihapus, sistem juga menghapus file.sumber
Tautan keras memungkinkan ...
satu executable memiliki lebih dari satu nama.
Contoh:
ls -l /bin | grep -v ' 1 ' | sort
akan mencantumkan yang di/bin
untuk Anda. Hasil ...Alih-alih 3 file bunzip2 bzcat dan bzip2 menggunakan file yang sama dan di dalam file perbedaan dibuat untuk apa yang harus dilakukan. Menghemat kode dan mengurangi kode berarti mengurangi kemungkinan bug dan perawatan yang lebih mudah.
satu file untuk diakses oleh beberapa jalur.
Ambil contoh manajer paket, yang membuat direktori / usr / share / doc / $ nama paket untuk setiap paket yang diinstal dan di dalam direktori itu file yang disebut LICENSE dengan informasi lisensi paket. Banyak paket pada sistem Linux umum berlisensi GPL, jadi alih-alih memiliki 200 salinan GPL pada sistem file, hanya ada satu salinan dan 199 tautan. ptman @ Serverfault
Alasan mengapa tautan keras berfungsi di sini (dan tautan lunak tidak): menghapus hanya 1 tautan keras tidak menghapus file itu sendiri.
sumber
mv
) adalah salinan (cp
) + a remove (rm
)." Ini benar hanya ketika sumber dan tujuan berada pada tunggangan yang berbeda. Kalau tidak,mv
hanya memindahkan nama, bukan file.mv
ubah nama saja; inode tetap sama.