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.