Soal 1Bagaimana tampilannya di ls -l setelah kamu menjalankan ln -s target.txt link.txt?
Symbolic Link dan Hard Link — ln
Buat symbolic link yang menyimpan sebuah path dengan ln -s target.txt link.txt lalu konfirmasi tanda -> di ls -l, kemudian buat hard link ke isi data yang sama dengan ln base.txt hard.txt; lihat perbedaannya lewat diagram dan terminal browser.
Symbolic Link — ln -s
Sebuah link membuat kamu bisa menjangkau file yang sama lewat nama berbeda. Kamu membuat symbolic link (tautan simbolik) dengan ln -s target name, dan ini adalah file khusus yang menyimpan path (lokasi) dari target. Saat kamu membuka name, ia otomatis mengikuti path yang tersimpan menuju target. Di ls -l, baris link tersebut menampilkan ke mana ia mengarah, sebagai name -> target.
| Sintaks | Efek |
|---|---|
ln -s target name | -s (symbolic) membuat symbolic link yang merupakan alias berbasis path |
ls -l | Cek ke mana ia mengarah lewat tampilan name -> target |
ln target alias | Membuat hard link yang menunjuk ke isi data yang sama |
| Symbolic vs hard | Symbolic = file khusus yang menyimpan path target / Hard = alias ke isi data yang sama |
| Saat target dihapus | Symbolic = kehilangan targetnya dan rusak / Hard = isinya tetap ada |
ln -s membuat link.txt, sebuah file khusus yang menyimpan path target.txt. ls -l menampilkannya sebagai link.txt -> target.txt, dan cat link.txt mengikuti path tersebut untuk membaca isi file asli target.txt.printf 'data\n' > target.txt # Buat file target
ln -s target.txt link.txt # Buat symbolic link
ls -l # Cek link.txt -> target.txt
cat link.txt # Menampilkan isi target.txt
Hard Link — ln
Tanpa -s, ln target alias membuat hard link. Sementara symbolic link adalah file khusus yang menyimpan path ke target, hard link (tautan keras) adalah nama lain yang menunjuk ke isi data yang sama. Membuka nama mana pun memberikan isi yang identik, dan di ls -l hard link tidak menampilkan tanda panah — terlihat seperti file biasa. Ingat bedanya: symbolic = file khusus yang menyimpan path target, hard = alias ke isi data yang sama.
ln -s membuat sym, yang menyimpan path ke file asli, sedangkan ln membuat hard, alias ke isi data yang sama. Keduanya mencetak shared dengan cat, tetapi sym membaca lewat path dan hard membaca isi data secara langsung.printf 'shared\n' > base.txt # Buat file target
ln base.txt hard.txt # Buat hard link
ls -l # hard.txt tampil tanpa tanda panah
cat hard.txt # Menampilkan isi yang sama dengan base.txt
Apa yang Terjadi Saat Kamu Menghapus Target
Karena symbolic link adalah file khusus yang menyimpan path ke target, ia kehilangan apa yang ditunjuknya begitu target hilang. Karena hard link adalah nama lain yang menunjuk ke isi data yang sama, isinya tetap ada bahkan setelah nama aslinya hilang. Hapus targetnya dan lihat sendiri perbedaannya.
rm orig.txt menghapus file asli, sl.txt, yang hanya menyimpan path, menjadi link menggantung (dangling), sedangkan hl.txt, yang berbagi isi data, masih mencetak isinya dengan cat.printf 'v\n' > orig.txt # Buat file target
ln -s orig.txt sl.txt # Symbolic link
ln orig.txt hl.txt # Hard link
rm orig.txt # Hapus target
cat sl.txt # Kehilangan targetnya dan gagal
cat hl.txt # Isinya tetap ada dan bisa ditampilkan
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Mana dari berikut yang dengan benar menjelaskan perbedaan antara symbolic dan hard link?
Soal 3Setelah kamu menghapus file target dengan rm, untuk yang mana cat masih berhasil?