Apa itu Soft Link Dan Hard Link Di Linux?
Sebuah simbolis atau tautan lunak adalah tautan sebenarnya ke file asli, sedangkan tautan keras adalah salinan cermin dari file asli. Jika Anda menghapus file asli, tautan lunak tidak memiliki nilai, karena mengarah ke file yang tidak ada.
Tetapi dalam kasus tautan keras, itu sepenuhnya berlawanan. Bahkan jika Anda menghapus file asli, tautan keras akan tetap memiliki data file asli. Karena tautan keras bertindak sebagai salinan cermin dari file asli.
Singkatnya, tautan lunak
- dapat melewati sistem file,
- memungkinkan Anda untuk menautkan antar direktori,
- memiliki nomor inode dan izin file yang berbeda dari file aslinya,
- izin tidak akan diperbarui,
- hanya memiliki jalur file asli, bukan kontennya.
Tautan keras
- tidak dapat melewati batas sistem file (yaitu hardlink hanya dapat bekerja pada sistem file yang sama),
- tidak dapat menautkan direktori,
- memiliki nomor inode dan hak akses yang sama dengan file asli,
- izin akan diperbarui jika kami mengubah izin file sumber,
- memiliki isi sebenarnya dari file asli, sehingga Anda tetap dapat melihat isinya, meskipun file asli dipindahkan atau dihapus.
Masih tidak mengerti? Baiklah, izinkan saya menunjukkan beberapa contoh praktis.
Cara membuat Soft Link atau Symbolic Link
Mari kita buat direktori kosong bernama "test"
.
$ mkdir test
Ubah ke "test"
direktori:
$ cd test
Sekarang, buat file baru bernama source.file
dengan beberapa data seperti di bawah ini.
$ echo "Welcome to OSTechNix" >source.file
Mari kita lihat data dari source.file.
$ cat source.file Welcome to OSTechNix
Nah, source.file
telah dibuat.
Sekarang, buat tautan simbolis atau lunak ke source.file
.
Untuk melakukannya, jalankan:
$ ln -s source.file softlink.file
Mari kita bandingkan data dari kedua source.file
dan softlink.file
.
$ cat source.file Welcome to OSTechNix
$ cat softlink.file Welcome to OSTechNix
Seperti yang Anda lihat pada output di atas, softlink.file
menampilkan data yang sama dengan source.file
.
Mari kita periksa inode dan izin softlink.file
dan source.file
.
$ ls -lia
Contoh keluaran:
total 12 11665675 drwxrwxr-x 2 sk sk 4096 Oct 17 11:39 . 4325378 drwxr-xr-x 37 sk sk 4096 Oct 17 11:39 .. 11665731 lrwxrwxrwx 1 sk sk 11 Oct 17 11:39 softlink.file -> source.file 11665692 -rw-rw-r-- 1 sk sk 21 Oct 17 11:39 source.file
Seperti yang kita lihat pada tangkapan layar di atas, nomor inode (11665731
vs 11665692
) dan izin file (lrwxrwxrwx
vs -rw-r--r--
) adalah berbeda , meskipun softlink.file
memiliki konten yang sama dengan source.file
. Oleh karena itu, terbukti bahwa soft link tidak memiliki nomor inode dan hak akses yang sama dengan file asli.
Sekarang, hapus file asli (yaitu source.file
) dan lihat apa yang terjadi.
$ rm source.file
Periksa isi softlink.file
menggunakan perintah:
$ cat softlink.file
Contoh keluaran:
cat: softlink.file: No such file or directory
Seperti yang Anda lihat di atas, tidak ada file atau direktori yang disebut softlink.file
setelah kami menghapus file asli (yaitu source.file
).
Jadi, sekarang kita mengerti bahwa soft link hanyalah sebuah link yang menunjuk ke file aslinya. Softlink itu seperti jalan pintas ke sebuah file. Jika Anda menghapus file, pintasan tidak berguna.
Seperti yang sudah Anda ketahui, jika Anda menghapus tautan lunak, file asli akan tetap tersedia.
Bacaan yang disarankan:
- Cara Mendaftar Symlink di Linux
- Cara Menemukan Symlink yang Rusak Dan Menghapusnya Di Linux
Cara membuat Hard Link
Buat file bernama source.file
dengan beberapa isi seperti di bawah ini.
$ echo "Welcome to OSTechNix" >source.file
Mari kita verifikasi isi file.
$ cat source.file Welcome to OSTechNix
source.file
telah dibuat sekarang.
Sekarang, mari kita buat tautan keras ke source.file
seperti yang ditunjukkan di bawah ini.
$ ln source.file hardlink.file
Periksa konten hardlink.file
:
$ cat hardlink.file Welcome to OSTechNix
Anda melihat hardlink.file
menampilkan data yang sama dengan source.file.
Mari kita periksa inode dan izin hardlink.file
dan source.file
.
$ ls -lia
Contoh keluaran:
total 16 11665675 drwxrwxr-x 2 sk sk 4096 Oct 17 11:58 . 4325378 drwxr-xr-x 37 sk sk 4096 Oct 17 11:39 .. 11665692 -rw-rw-r-- 2 sk sk 21 Oct 17 11:57 hardlink.file 11665692 -rw-rw-r-- 2 sk sk 21 Oct 17 11:57 source.file
Sekarang, kita melihat bahwa keduanya hardlink.file
dan source.file
memiliki nomor inode yang sama (11665692
) dan izin file (-rw-r--r--
) . Oleh karena itu, terbukti bahwa file hard link memiliki nomor inode dan izin yang sama dengan file asli.
Perhatian: Jika kami mengubah izin pada source.file
, izin yang sama akan diterapkan ke hardlink.file
juga.
Sekarang, hapus file asli (yaitu source.file
) dan lihat apa yang terjadi.
$ rm source.file
Periksa isi hardlink.file
menggunakan perintah:
$ cat hardlink.file
Contoh keluaran:
Seperti yang Anda lihat di atas, meskipun saya menghapus file sumber, saya dapat melihat konten hardlink.file
. Oleh karena itu, terbukti bahwa Hard link memiliki nomor inode, izin, dan data yang sama dengan file asli.
Jadi, apa perbedaan antara Hard link dan file salinan biasa?
Anda mungkin bertanya-tanya mengapa kami membuat tautan keras sementara kami dapat dengan mudah menyalin/menempel file aslinya? Membuat tautan keras ke file berbeda dengan menyalinnya.
Jika Anda menyalin file, itu hanya akan menduplikasi konten. Jadi, jika Anda mengubah konten dari satu file (baik asli atau hard link), itu tidak akan berpengaruh pada file lainnya.
Namun jika Anda membuat tautan keras ke file dan mengubah konten salah satu file, perubahan akan terlihat pada keduanya.
Mari kita lihat file source.
$ cat source.file Welcome to OSTechNix
File sumber memiliki satu baris yang mengatakan - Selamat datang di OSTechNix.
Tambahkan baris baru, misalnya "Selamat datang di Linux" di source.file
atau hardlink.file
.
$ echo "Welcome to Linux" >>source.file
Sekarang periksa isi kedua file.
$ cat hardlink.file Welcome to OSTechNix Welcome to Linux
$ cat source.file Welcome to OSTechNix Welcome to Linux
Lihat? Perubahan yang baru saja kita buat di source.file
diperbarui di kedua file. Artinya - kedua file (sumber dan tautan keras) disinkronkan.
Perubahan apa pun yang Anda lakukan di file apa pun akan tercermin di file lain. Jika Anda biasanya menyalin/menempel file, Anda tidak akan melihat perubahan baru di file lain.
Untuk detail lebih lanjut, periksa halaman manual.
$ man ln
Kesimpulan
Dalam panduan ini, kita telah membahas apa itu soft link dan hard link di Linux, cara membuat softlink dan hardlink dengan contoh perintah dan akhirnya kami menjelaskan perbedaan antara hardlink dan file salinan biasa.
Semoga Anda mendapatkan ide dasar tentang cara menggunakan tautan simbolik atau tautan lunak dan tautan keras di Linux.