GNU/Linux >> Belajar Linux >  >> Linux

Tautan keras dan tautan lunak di Linux dijelaskan

Pernahkah Anda terbiasa dengan sesuatu, mengerjakannya, tetapi tidak sepenuhnya memahami konsepnya? Saya merasa seperti itu terjadi pada saya lebih dari kebanyakan orang. Ini adalah perasaan frustasi, tetapi juga salah satu yang sering mudah diatasi. Terkadang, hanya dibutuhkan seseorang yang menjelaskan konsep dalam "bahasa Inggris biasa", alias istilah awam. Itulah tujuan dari artikel ini. Saya ingin berbicara tentang tautan keras dan tautan lunak (simbolis) dalam istilah yang paling dasar mungkin. Anda mungkin menyadari bahwa konsep ini, yang seringkali merupakan perjuangan bagi sysadmin, cukup sederhana. Jika tidak ada yang lain, saya membawa Anda melalui sintaks untuk membuat tautan ini (yang sulit diingat banyak orang). Jadi mari kita mulai.

Tautan keras

Konsep hard link adalah yang paling mendasar yang akan kita bahas hari ini. Setiap file di sistem file Linux dimulai dengan satu tautan keras. tautan antara nama file dan data aktual yang disimpan di sistem file. Membuat tautan keras tambahan ke file berarti beberapa hal yang berbeda. Mari kita bahas ini.

Pertama, Anda membuat nama file baru yang menunjuk ke data yang sama persis dengan nama file lama. Ini berarti bahwa kedua nama file, meskipun berbeda, menunjuk ke data yang identik. Misalnya, jika saya membuat file /home/tcarrigan/demo/link_test dan tulis halo dunia dalam file, saya memiliki satu tautan keras antara nama file link_test dan konten file hello world .

[tcarrigan@server demo]$ ls -l
total 4
-rw-rw-r--. 1 tcarrigan tcarrigan 12 Aug 29 14:27 link_test

Catat jumlah tautan di sini (1 ).

Selanjutnya, saya membuat tautan keras baru di /tmp ke file yang sama persis menggunakan perintah berikut:

[tcarrigan@server demo]$ ln link_test /tmp/link_new

Sintaksnya adalah ln (original file path) (new file path) .

Sekarang ketika saya melihat sistem file saya, saya melihat kedua tautan keras.

[tcarrigan@server demo]$ ls -l link_test /tmp/link_new 
-rw-rw-r--. 2 tcarrigan tcarrigan 12 Aug 29 14:27 link_test
-rw-rw-r--. 2 tcarrigan tcarrigan 12 Aug 29 14:27 /tmp/link_new

Perbedaan utama di sini adalah nama file. Jumlah tautan juga telah diubah (2 ). Terutama, jika saya cat isi file baru, ini menampilkan data asli.

[tcarrigan@server demo]$ cat /tmp/link_new 
hello world

Ketika perubahan dilakukan pada satu nama file, yang lain mencerminkan perubahan tersebut. Izin, jumlah tautan, kepemilikan, stempel waktu, dan konten file sama persis. Jika file asli dihapus, data masih ada di bawah tautan keras sekunder. Data hanya dihapus dari drive Anda ketika semua tautan ke data telah dihapus. Jika Anda menemukan dua file dengan properti yang identik tetapi tidak yakin apakah keduanya terkait erat, gunakan ls -i perintah untuk melihat inode nomor. File yang ditautkan bersama memiliki nomor inode yang sama.

[tcarrigan@server demo]$ ls -li link_test /tmp/link_new 
2730074 -rw-rw-r--. 2 tcarrigan tcarrigan 12 Aug 29 14:27 link_test
2730074 -rw-rw-r--. 2 tcarrigan tcarrigan 12 Aug 29 14:27 /tmp/link_new

Nomor inode bersama adalah 2730074 , artinya file-file ini adalah data yang identik.

Jika Anda ingin informasi lebih lanjut tentang inode, baca artikel lengkap saya di sini.

Batas keras

Meskipun berguna, ada beberapa batasan untuk apa yang dapat dilakukan oleh tautan keras. Sebagai permulaan, mereka hanya dapat dibuat untuk file biasa (bukan direktori atau file khusus). Juga, tautan keras tidak dapat menjangkau banyak sistem file. Mereka hanya berfungsi ketika tautan keras baru ada di sistem file yang sama seperti aslinya.

Tautan lunak

Biasanya disebut sebagai tautan simbolik , tautan lunak menghubungkan file non-reguler dan reguler. Mereka juga dapat menjangkau beberapa sistem file. Menurut definisi, tautan lunak bukanlah file standar, tetapi file khusus yang menunjuk ke file yang sudah ada. Mari kita lihat cara membuat tautan lunak. Saya menggunakan ln -s perintah dan sintaks berikut:

ln -s (file path you want to point to) (new file path)

Pada contoh di bawah ini, saya membuat file baru di /home/tcarrigan/demo/soft_link_test dengan konten file Halo dunia lembut . Saya kemudian membuat tautan lunak ke file itu di /tmp/soft_link_new :

[tcarrigan@server demo]$ ln -s /home/tcarrigan/demo/soft_link_test /tmp/soft_link_new
[tcarrigan@server demo]$ ls -l soft_link_test /tmp/soft_link_new 
-rw-rw-r--. 1 tcarrigan tcarrigan 17 Aug 30 11:59 soft_link_test
lrwxrwxrwx. 1 tcarrigan tcarrigan 35 Aug 30 12:09 /tmp/soft_link_new -> /home/tcarrigan/demo/soft_link_test

Perhatikan bahwa /tmp/soft_link_new hanyalah tautan simbolis, menunjuk ke /home/tcarrigan/demo/soft_link_test asli . Jika saya cat isi /tmp/soft_link_new , saya akan melihat dunia Halo yang lembut teks.

[tcarrigan@server demo]$ cat /tmp/soft_link_new 
soft Hello world

Semua ini terdengar bagus, tetapi ada beberapa kelemahan menggunakan tautan lunak. Kekhawatiran terbesar adalah kehilangan data dan kebingungan data. Jika file asli dihapus, tautan lunak rusak. Situasi ini disebut sebagai tautan lunak yang menggantung . Jika Anda membuat file baru dengan nama yang sama seperti aslinya, tautan lunak yang menjuntai tidak lagi menjuntai sama sekali. Ini menunjuk ke file baru yang dibuat, apakah ini niat Anda atau tidak, jadi pastikan untuk mengingatnya.

Keras atau lunak?

Tidak ada jawaban yang jelas di sini. Tautan terbaik adalah jenis yang sesuai dengan situasi khusus Anda. Meskipun konsep-konsep ini sulit untuk diingat, sintaksnya cukup mudah, jadi itu adalah nilai tambah! Untuk menjaga keduanya dengan mudah dipisahkan dalam pikiran Anda, saya meninggalkan Anda dengan ini:

  • Tautan keras selalu mengarahkan nama file ke data di perangkat penyimpanan.
  • Tautan lunak selalu mengarahkan nama file ke nama file lain, yang kemudian mengarah ke informasi di perangkat penyimpanan.

Semoga, ini membantu Anda memisahkannya saat Anda mengerjakan jenis tautan yang diperlukan untuk mencapai tujuan harian Anda!

[ Kursus online gratis:Tinjauan teknis Red Hat Enterprise Linux. ]


Linux
  1. Cara Membuat Tautan Lunak dan Keras di Linux

  2. RHEL 7 – RHCSA Catatan :Buat tautan keras dan lunak.

  3. Apa itu Tautan Lunak dan Tautan Keras di Sistem File Linux

  1. Perbedaan Antara Tautan Simbolik dan Tautan Keras?

  2. Perbedaan antara tautan lunak dan tautan keras di Linux

  3. Pindahkan file dan tinggalkan tautan lunak

  1. Cara Membuat Tautan Keras dan Simbolik di Linux

  2. Pipes dan Redirection di Linux - Dijelaskan!

  3. Apa itu Tautan Simbolik (Tautan Lunak) dan cara membuatnya di Linux