Di bagian persiapan ujian RHCSA ini, kami akan mengalihkan perhatian kami ke tautan. Ada dua jenis tautan, tautan keras dan tautan lunak. Pada artikel ini kita akan berbicara tentang cara membuat dan menghapus tautan dan juga akan membahas beberapa latar belakang dasar di balik keduanya, tautan keras dan tautan lunak.
Dalam tutorial ini Anda akan mempelajari:
- Apa yang dimaksud dengan tautan simbolis (lunak)
- Apa itu tautan keras
- Cara membuat tautan simbolis
- Cara membuat tautan keras
- Cara menghapus tautan
Halaman manual
ln
perintah Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | Red Hat Enterprise Linux 8 atau distribusi GNU/Linux lainnya |
Perangkat Lunak | T/A |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah. |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Apa itu tautan pada sistem GNU/Linux
Setiap file memiliki informasi tentang tanggal pembuatan, modifikasi, akses serta kepemilikan file dan izinnya disimpan dalam apa yang disebut inode . Selain metadata tersimpan yang telah disebutkan, inode juga menyimpan informasi tentang blok data tempat konten file yang sebenarnya disimpan di sistem file.
Oleh karena itu, fungsi utama inode adalah untuk menggambarkan objek sistem file seperti file atau direktori. Untuk mengakses objek sistem file yang terkait dengan inode tertentu kita perlu menyediakan tautan keras . kepada pengguna yang merupakan nama file atau direktori sebenarnya.
Ini menjelaskan jenis tautan pertama yang merupakan tautan keras . Jenis tautan kedua pada sistem operasi GNU/Linux adalah tautan simbolik alias tautan lunak. Perbedaan antara tautan keras dan tautan simbolik adalah bahwa tautan simbolik hanya menunjuk ke tautan keras, yaitu, tautan tersebut menunjuk ke nama file atau direktori yang ada. Singkatnya, tautan memungkinkan pengguna untuk mengakses file atau direktori melalui banyak nama.
Tautan keras
Sejak tautan keras diasosiasikan dengan inode yang pada gilirannya merupakan fitur sistem file, tautan keras tidak dapat melintasi sistem file, karenanya hanya valid dalam sistem file yang sama. Selain itu, tidak mungkin membuat tautan keras pada direktori. Setiap upaya untuk membuat tautan keras dari direktori akan menghasilkan hard link not allowed for directory
pesan eror.
Mari buat beberapa tautan keras. Dalam contoh ini pertama-tama kita akan membuat file arbitrer bernama sandbox
berisi teks linuxconfig.org
. Setelah siap, kami akan membuat beberapa tautan keras ke file ini menunjuk dari lokasi yang berbeda.
- Buat file bernama
sandbox
berisi teksRHCSA
dalam direktori home pengguna~/
.$ echo "RHCSA" > ~/sandbox
Periksa isi file dengan menggunakan
cat
perintah:$ cat ~/sandbox RHCSA
- Masih dalam direktori home pengguna, buat tautan keras ke
sandbox
file dari/tmp/
direktori bernamahardlink1
.$ ln sandbox /tmp/hardlink1
Sekarang periksa konten tautan keras yang baru dibuat
/tmp/hardlink1
. Isi dari/tmp/hardlink1
dansandbox
asli file harus sama:$ cat /tmp/hardlink1 RHCSA
- Periksa informasi tautan yang terkait dengan kedua nama file
sandbox
dan/tmp/hardlink1
.$ ls -l /tmp/hardlink1 -rw-rw-r--. 2 linuxconfig linuxconfig 6 Jul 25 10:20 /tmp/hardlink1 $ ls -l ~/sandbox -rw-rw-r--. 2 linuxconfig linuxconfig 6 Jul 25 10:20 /home/linuxconfig/sandbox
Perhatikan nomor terkait
2
seperti yang ditunjukkan oleh output di atas. Angka ini menunjukkan jumlah tautan keras yang terkait dengan inode tertentu.CATATAN
Pada tahap ini penting untuk dipahami bahwa tidak ada perbedaan nyata antarasandbox
asli dan/tmp/hardlink1
yang baru dibuat mengajukan. Keduanya menunjuk inode yang sama menggunakan nama file yang berbeda. - Hapus tautan keras dengan menggunakan
unlink
ataurm
memerintah.
$ unlink sandbox $ ls -l /tmp/hardlink1 -rw-rw-r--. 1 linuxconfig linuxconfig 6 Jul 25 10:20 /tmp/hardlink1
Dalam hal ini, keduanya rm
atau unlink
perintah akan menghapus tautan keras tetapi bukan data dan inode terkait yang sebenarnya. Sejak sandbox
tautan keras telah dihapus hanya ada 1
tautan keras kiri terkait dengan inode asli. Selanjutnya, kami akan menghapus tautan keras terakhir yang terkait dengan file ini:
$ rm /tmp/hardlink1
Pada titik ini tautan ke inode yang menunjuk ke konten file asli kami hilang, oleh karena itu kami menganggap file ini telah dihapus. Jika tidak ada tautan keras yang menunjuk ke sebuah inode, sistem file sekarang dapat menimpa lokasi inode ini dengan data baru.
Anda dapat menghapus file apa pun (jika Anda memiliki izin yang sesuai) dengan menggunakan perintah unlink? Coba sekarang:
$ touch file $ unlink file
Jika Anda memahami perintah di atas, berarti Anda telah menguasai hard link GNU/Linux seperti yang dijelaskan dalam tutorial ini.
Tautan simbolik
Selain tautan keras, ada juga berbagai jenis tautan yang tersedia di sistem operasi GNU/Linux. Tautan simbolik dapat melintasi sistem file, dan juga memungkinkan untuk membuat tautan simbolik dari sebuah direktori. Namun, tautan simbolik alih-alih inode yang sebenarnya , hanya menautkan ke tautan keras yang ada (nama file atau direktori). Untuk alasan ini jika tautan keras sebenarnya yang ditunjuk oleh tautan simbolik dihapus, tautan simbolik menjadi rusak.
- Pertama-tama mari kita buat beberapa objek kotak pasir untuk dimainkan. Dalam hal ini kita akan membuat direktori bernama
mydir
dan di dalam direktori ini kita akan membuat file bernamamyfile
.$ mkdir mydir $ touch mydir/myfile
- Selanjutnya, kita akan membuat tautan simbolik baru dari direktori yang ada mydir dengan menggunakan
ln
perintah dengan kombinasi-s
pilihan.$ ln -s ~/mydir /tmp/symdir
Sekarang, kami telah membuat tautan simbolik yang disebut
symdir
terletak di dalam/tmp
direktori.$ cd /tmp/ $ ls -l symdir lrwxrwxrwx. 1 linuxconfig linuxconfig 23 Jul 25 14:05 symdir -> /home/linuxconfig/mydir
Perhatikan karakter pertama dari output di atas. Dalam hal ini karakter
l
menunjukkan bahwa kita berurusan dengan tautan simbolik.CATATAN
Saat membuat tautan simbolik, ingatlah bahwaln
perintah menyimpan jalur aktual yang disediakan sebagai string. Jika tidak berada dalam direktori yang sama, dalam banyak kasus Anda harus menyediakan path lengkap untuk memesan agar tautan simbolik berfungsisymdir
. yang baru dibuat harus berisi filemyfile
yang dibuat sebelumnya :$ cd symdir $ ls myfile $pwd /tmp/symdir
Latihan
- Mainkan dengan tautan simbolis. Buat tautan simbolik ke file setelah itu hapus file asli dan lihat apa yang terjadi dengan tautan simbolik Anda.
- Apa yang terjadi jika Anda menjalankan
ls
perintah dengan hanya satu argumen. Misalnya jalankan perintah berikutln -s /etc/services
. Apa yang terjadi? - Tentukan apakah Anda perlu memiliki file tersebut untuk membuat tautan simbolis ke sana. Apakah aturan yang sama berlaku untuk tautan keras?