Wikipedia mendefinisikan tautan keras sebagai:
entri direktori yang mengaitkan nama dengan file pada sistem file. (Direktori itu sendiri adalah jenis file khusus yang berisi daftar entri semacam itu.) Istilah ini digunakan dalam sistem file yang memungkinkan banyak tautan keras dibuat untuk file yang sama.
Saya bertanya-tanya apakah konsep hard link setara dengan konsep Windows Shortcut .
Jika tautan keras tidak setara dengan pintasan, lalu apa fitur Windows terdekat dengan tautan keras?
Jawaban:
Tidak, tautan keras sama sekali berbeda. Tautan lunak lebih dekat dengan pintasan Windows (meskipun ada perbedaan penting, tautan simbolis lebih mirip dengan pintasan windows daripada tautan keras). Tautan keras adalah hal yang berbeda dan Anda hampir tidak pernah membutuhkannya.
Secara singkat, tautan lunak dibuat dengan perintah ini:
Jika Anda menjalankan
ls -l
, Anda akan melihat:The
->
berarti bahwabar
ini adalah link kefoo
. Jadi, membukabar
, dengan editor teks misalnya, sebenarnya akan membuka file yang terpisahfoo
. Namun, menghapusbar
hanya akan menghapus jalan pintas, itu tidak akan mempengaruhi filefoo
.Di lain pihak, tautan keras dibuat dengan perintah ini:
Jika sekarang Anda jalankan
ls -l
, tidak ada indikasi hubungan antara file:Tetapi — dan ini sangat penting — itu sebenarnya adalah file yang sama . File pada sistem file Unix disimpan menggunakan inode ; inode pada dasarnya adalah cara filesystem memetakan nama file ke lokasi tertentu pada hard drive fisik. Jadi, tautan keras adalah file yang menunjuk ke inode yang sama dengan targetnya. Cara lain untuk meletakkan ini adalah bahwa semua file sebenarnya merupakan tautan keras yang menunjuk ke inode mereka. Membuat tautan keras ke sebuah file hanya menciptakan pointer baru (file) pada sistem file yang menunjuk ke inode yang sama. Setiap inode dapat memiliki beberapa file yang menunjuk padanya atau satu, atau tidak sama sekali.
Untuk memahami ini dengan lebih jelas, gunakan
ls -i
yang menunjukkan inode yang terkait dengan file. Mari buat tautan lunak dan tautan keras dan lihat apa yang terjadi:Sekarang, periksa inode mereka:
Seperti yang Anda lihat di atas, baik
foo
danHardLinkToFoo
memiliki inode yang sama (16648029) sementara SoftLinkToFoo memiliki satu yang berbeda (16.648.036).Apa yang terjadi jika kita mengubah nama
foo
denganmv foo bar
?Warna merah menunjukkan tautan lunak yang rusak, yang targetnya tidak dapat ditemukan lagi. Ini karena tautan lunak mengarah ke nama file, bukan inode-nya. Perhatikan bahwa meskipun mengubah nama, inode tetap sama sehingga hardlink baik-baik saja, inode tetap berfungsi.
Singkatnya, tautan keras sebenarnya adalah dua manifestasi dari file yang sama ; mereka adalah pointer ke bagian disk yang sama. Tautan lunak hanyalah pintasan. Untuk mengambil analogi dunia nyata, hardlink seperti dua nomor telepon yang berbeda untuk saluran telepon yang sama dan tautan lunak seperti memiliki dua saluran telepon yang berbeda di rumah yang sama.
sumber
rm
atauunlink()
) tautan keras hanya akan mengurangi jumlah tautan sampai jumlah tautan mencapai nol, ketika blok yang ditempati oleh isi file dilepaskan. Saya tidak yakin mengatakan "tautan keras sebenarnya adalah dua contoh dari file yang sama" benar-benar benar, karena kedua nama menunjuk ke inode yang sama, dan dengan demikian konten yang sama, daripada ada dua contoh dari file itu sendiri di masuk akal.Ada penjelasan yang bagus tentang apa itu tautan lunak dan keras, tetapi satu hal perlu diklarifikasi.
Jendela pintas yang setara atau mirip dengan baik soft link atau link keras . Pada level sistem file, mereka hanyalah file. Shell yang memahami struktur mereka dan menafsirkannya sebagai tautan. Pintasan Windows juga dapat menunjuk ke objek dalam ruang nama shell yang tidak terkait dengan sistem file (printer, item panel kontrol, folder virtual).
Cara pintas Windows, selain nama objek sistem file, berisi informasi berikut: PIDL ("path" biner buram dalam ruang nama shell), deskripsi, hotkey, ikon, direktori kerja. Windows juga menambahkan pengidentifikasi objek NTFS jika sistem file NTFS digunakan, untuk memperbaiki pintasan yang rusak.
Setara dengan jalan pintas Windows adalah file .desktop . Lihat pertanyaan ini pada SuperUser: Apakah ada yang setara dengan .lnk di Linux?
sumber
Tidak. Di Linux semuanya berjalan berbeda.
Setiap file diwakili oleh objek yang disebut 'inode'. Setiap inode memiliki nomor (ID) yang terkait dengannya.
Seperti yang kita tahu manusia tidak pandai mengingat angka tetapi nama. (Begitulah cara buku telepon berevolusi)
Oleh karena itu, nama file muncul di gambar untuk memberikan setiap inode nama yang dapat dibaca manusia. Pada dasarnya, hardlink mengikat nama file ke inode. Sebuah inode dapat memiliki banyak hardlink. Jika tidak ada hardlink yang tersedia untuk inode tertentu, ruang disk yang digunakan oleh inode dapat dialokasikan kembali untuk file baru. Yang berarti, setidaknya satu hardlink harus ada untuk setiap file. Nama file (divisualisasikan sebagai nama file / ikon yang Anda lihat di browser file) itu sendiri adalah hardlink.
Di Windows, pintasan adalah file terpisah (* .lnk file). Ini berisi informasi tentang file asli (dimengerti path file). Dalam persepsi Linux, pintasan Windows akan menjadi inode lain yang di-hardlink ke nama file yang diakhiri dengan '.lnk'.
sumber
Pada Windows Anda dapat membuat hardlink juga jika Anda memiliki sistem file NTFS.
File-file tersebut harus berada di drive logis yang sama.
sumber
subst
perintah. Suatu alat mungkin tidak tahu / peduli untuk ini dan karenanya menolak untuk membuat hardlink. Suatu hal yang sangat berguna adalah Link Shell Extension yang memungkinkan penjelajah untuk membuatnya.Perbedaan besar, tautan keras tidak dapat dibuat untuk folder, tetapi untuk file.
Pertanyaan Anda haruslah perbedaan antara tautan simbolik atau tautan lunak dan pintasan .
sesuai dengan ini:
Jadi ketika Anda mengklik pintasan akan mengubah direktori Anda ke file yang sebenarnya, sedangkan tautan lunak akan merujuk ke lokasinya seolah-olah itu adalah file yang sebenarnya, untuk itu di Linux Anda dapat menggunakan terminal dan cd untuk tautan simbolis sementara Anda tidak dapat cd ke pintasan .
Pintasan Windows dan peluncur Linux (menunjuk ke beberapa lokasi) akan sama.
sumber