GNU/Linux >> Belajar Linux >  >> Linux

Cara Membuat Tautan Keras dan Lunak (symlink) di Sistem Linux

Sering kali di Sistem Operasi berbasis Linux/Unix adalah bijaksana untuk memahami konsep yang mendasarinya, maka hanya satu yang dapat menghargai keindahan perintah dan bagaimana implementasinya.

Beberapa detail kecil akan banyak membantu kita dalam men-debug dan memecahkan masalah banyak situasi yang menantang jika kita mengetahui dengan baik sebelumnya tentang perintah ini dan konsep terkait.

Dalam topik ini, saya akan membahas apa itu tautan, jenis yang berbeda, karakter pembeda dan bagaimana mereka dapat digunakan dengan lebih baik bersama dengan konsep yang diperlukan.

Dengan menjalankan perintah “man ln” Anda dapat melihat bahwa ini mengatakan “buat tautan antar file” dan tidak mengatakan tentang tautan lunak atau keras.

[email protected] ~}$ man ln

Demikian pula perintah "man link" menggambarkan sebagai "fungsi panggilan link untuk membuat file".

Tautan lunak :

Tautan lunak seperti namanya adalah tautan baru yang dibuat ke file baru. Dalam hal ini nomor inode file baru akan menunjuk ke file lama.

Tautan Keras :

Dalam hal ini file lama dan baru keduanya akan menunjuk ke nomor inode yang sama.

Tautan Simbolik :

Dalam beberapa rasa Unix/Linux, tautan simbolik dan tautan lunak diperlakukan sama. Tetapi perbedaan sebenarnya adalah bahwa nomor inode file baru dan lama akan menunjuk ke nomor inode baru. Ini akan sepenuhnya tergantung pada implementasinya.

Catatan 1 :- Dalam banyak kasus, istilah simbolik dan istilah tautan lunak digunakan secara bergantian. Tapi kita harus sadar kapan harus menggunakan apa.

Penggunaan perintah “ln” untuk membuat tautan keras dan tautan lunak

Membuat Tautan Keras

1) Perintah “man ln” akan memberikan output berikut.

[email protected] ~}$ man ln
ln  - make links between files

2) Ketika perintah "ln" dilewatkan tanpa argumen apa pun, kesalahan "operan file yang hilang" akan muncul.

[email protected] ~}$ln
ln: missing file operand
Try 'ln --help' for more information.

3) Membuat tautan keras antara dua file. Pertama periksa file yang ada jika ada, jika tidak buat file/file baru dan kemudian tautkan. Berikut  adalah  pendekatan langkah demi langkah,

[email protected] ~}$ ls -la
total 24
drwx------  4 root root 4096 Feb  6 15:23 .
drwxr-xr-x 23 root root 4096 Jan 25 16:39 ..
-rw-r--r--  1 root root 3122 Jan 25 16:41 .bashrc
drwx------  2 root root 4096 Feb  6 15:23 .cache
-rw-r--r--  1 root root    0 Jan 25 16:41 .hushlogin
-rw-r--r--  1 root root  148 Aug 17  2015 .profile
drwxr-xr-x  2 root root 4096 Jan 25 16:41 .ssh

i) Buat file menggunakan perintah “sentuh”

[email protected] ~}$ touch 123.txt
[email protected] ~}$ ls -l
total 0
-rw-r--r-- 1 root root 0 Feb  6 15:51 123.txt

ii) Masukkan konten ke dalam file menggunakan perintah “cat”, dan tekan “ctrl+c” untuk menyimpan dan keluar.

[email protected] ~}$ cat > 123.txt
Welcome to this World!
^C

iii) Buat tautan keras antara file "123.txt" dan "321.txt". Dalam hal ini “123.txt” sudah ada dengan isi “Welcome to this World”.

[email protected] ~}$ ln 123.txt 321.txt
[email protected] ~}$ ls -l
total 8
-rw-r--r-- 2 root root 23 Feb  6 15:52 123.txt
-rw-r--r-- 2 root root 23 Feb  6 15:52 321.txt

iv) Periksa nomor inode (node ​​indeks) dari file. Untuk kedua file nomor inodenya sama yaitu 794583. Periksa juga isi file baru “321.txt” yang juga sama dengan “123.txt”.

[email protected] ~}$ ls -li
total 8
794583 -rw-r--r-- 2 root root 23 Feb  6 15:52 123.txt
794583 -rw-r--r-- 2 root root 23 Feb  6 15:52 321.txt
$ cat 321.txt
Welcome to this World!

Catatan 2 :- Nomor inode adalah nomor indeks unik yang dihasilkan untuk file apa pun yang dibuat di sistem Operasi Linux/unix. Nomor inode ini disimpan dalam atribut direktori/file di direktori/proc. Tetapi jika ada tautan, nomor inode ini dibagikan dengan file dan hanya jalur yang diperbarui dalam tabel file.

v) Buat satu file lagi bernama "456.txt" dan tautkan ini menggunakan perintah ln ke "321.txt". Sekarang ketiga file tersebut memiliki nomor inode yang sama. Isi “456.txt” akan sama dengan file aslinya.

[email protected] ~}$  ls -li
total 12
794583 -rw-r--r-- 3 root root 23 Feb  6 15:52 123.txt
794583 -rw-r--r-- 3 root root 23 Feb  6 15:52 321.txt
794583 -rw-r--r-- 3 root root 23 Feb  6 15:52 456.txt
$ cat 456.txt
Welcome to this World!
[email protected] ~}$   ls -l
total 12
-rw-r--r-- 3 root root 23 Feb  6 15:52 123.txt
-rw-r--r-- 3 root root 23 Feb  6 15:52 321.txt
-rw-r--r-- 3 root root 23 Feb  6 15:52 456.txt

vi) Ketika file sumber atau salah satu file ini dihapus, itu tidak akan memengaruhi file lain. File sumber dapat dihapus menggunakan perintah "rm". Konten file lain juga tidak akan berdampak apa pun.

[email protected] ~}$ rm 123.txt
[email protected] ~}$ ls -l
total 8
-rw-r--r-- 2 root root 23 Feb  6 15:52 321.txt
-rw-r--r-- 2 root root 23 Feb  6 15:52 456.txt
[email protected] ~}$ ls -li
total 8
794583 -rw-r--r-- 2 root root 23 Feb  6 15:52 321.txt
794583 -rw-r--r-- 2 root root 23 Feb  6 15:52 456.txt
[email protected] ~}$ cat 456.txt
Welcome to this World!

vii) Pembuatan tautan keras di seluruh direktori tidak diperbolehkan.

[email protected] ~}$ls -l
total 8
-rw-r--r-- 2 root root 23 Feb  6 15:52 321.txt
-rw-r--r-- 2 root root 23 Feb  6 15:52 456.txt
[email protected] ~}$ mkdir abc
[email protected] ~}$ ln abc def
ln: abc: hard link not allowed for directory

viii) Setiap perubahan pada konten satu file akan berdampak dan mengubah konten file lainnya, berikut adalah langkah-langkah yang dijelaskan,

[email protected] ~}$ vi 321.txt
Welcome to this World!
You are welcomed to this new world
:wq
[email protected] ~}$ ls -l
total 12
-rw-r--r-- 2 root root   59 Feb  6 16:24 321.txt
-rw-r--r-- 2 root root   59 Feb  6 16:24 456.txt
drwxr-xr-x 2 root root 4096 Feb  6 16:18 abc
[email protected] ~}$ cat 456.txt
Welcome to this World!
You are welcomed to this new world

Membuat Tautan Lunak:

1)  Buat file “src.txt” menggunakan perintah “touch” dan masukkan konten sebagai “Hello World” menggunakan perintah cat lalu tekan “ctrl+c” untuk menyimpan dan keluar.

[email protected] ~}$ touch src.txt
[email protected] ~}$ cat > src.txt
Hello World
^C
[email protected] ~}$ ls -l
total 4
-rw-r--r-- 1 root root 12 Feb  6 16:32 src.txt

2) Buat file tujuan sebagai "dst.txt" dan menggunakan opsi baris perintah "ln -s" buat tautan simbolik (juga disebut sebagai tautan lunak). Periksa isi file “dst.txt” dan isi yang sama dengan “src.txt” dapat dilihat.

[email protected] ~}$ ln -s src.txt dst.txt
[email protected] ~}$  ls -l
total 4
lrwxrwxrwx 1 root root  7 Feb  6 16:33 dst.txt -> src.txt
-rw-r--r-- 1 root root 12 Feb  6 16:32 src.txt
[email protected] ~}$  cat dst.txt
Hello World

3) Dalam hal tautan simbolik, nomor inode file sumber dan file tujuan berbeda. Juga, dalam surat izin "l" muncul yang menunjukkan bahwa ini adalah tautan. “dst.txt–>src.txt” akan menjadi tautan baru yang dibuat sekarang.

[email protected] ~}$  ls -li
total 4
794584 lrwxrwxrwx 1 root root  7 Feb  6 16:33 dst.txt -> src.txt
794583 -rw-r--r-- 1 root root 12 Feb  6 16:32 src.txt

4) Penciptaan simbolis untuk direktori diperbolehkan. Ini dijelaskan seperti di bawah ini dalam langkah-langkah

[email protected] ~}$ mkdir abc
[email protected] ~}$ ln -s abc def
$ ls -l
total 8
drwxr-xr-x 2 root root 4096 Feb  6 16:34 abc
lrwxrwxrwx 1 root root    3 Feb  6 16:34 def -> abc
lrwxrwxrwx 1 root root    7 Feb  6 16:33 dst.txt -> src.txt
-rw-r--r-- 1 root root   12 Feb  6 16:32 src.txt

5) Nomor inode untuk semua file/direktori (sumber dan tujuan berbeda)

[email protected] ~}$  ls -li
total 8
794585 drwxr-xr-x 2 root root 4096 Feb  6 16:34 abc
794586 lrwxrwxrwx 1 root root    3 Feb  6 16:34 def -> abc
794584 lrwxrwxrwx 1 root root    7 Feb  6 16:33 dst.txt -> src.txt
794583 -rw-r--r-- 1 root root   12 Feb  6 16:32 src.txt

6) Tautan simbolis dapat dibuat untuk direktori seperti yang dijelaskan sebelumnya. Setelah direktori ini dengan tautan simbolik dibuat, di dalam direktori ini file dapat dibuat. Ini akan membuatnya lebih menarik untuk mengetahui bagaimana perilakunya sekarang. Ketika file dibuat di direktori sumber, hal yang sama juga terlihat di direktori tujuan. Langkah-langkah berikut menjelaskan hal ini dengan jelas.

[email protected] ~}$ $ cd abc
[email protected] ~}$  touch 123.txt
[email protected] ~}$  vi 123.txt
Hello
:wq!
[email protected] ~}$  touch 456.txt
[email protected] ~}$  cd ..
[email protected] ~}$  ls -l
total 8
drwxr-xr-x 2 root root 4096 Feb  6 16:36 abc
lrwxrwxrwx 1 root root    3 Feb  6 16:34 def -> abc
lrwxrwxrwx 1 root root    7 Feb  6 16:33 dst.txt -> src.txt
-rw-r--r-- 1 root root   12 Feb  6 16:32 src.txt
[email protected] ~}$ cd def
[email protected] ~}$ ls -l
total 4
-rw-r--r-- 1 root root 6 Feb  6 16:37 123.txt
-rw-r--r-- 1 root root 0 Feb  6 16:36 456.txt
[email protected] ~}$ cat 123.txt
Hello

Catatan 3 :- Kami dapat memiliki sejumlah tautan bersarang. Namun pengguna/admin yang membuat link simbolis ini harus menyadari fakta bahwa ini akan menyebabkan kebingungan. Terkadang mungkin  dilupakan dan dapat membuat hasil yang tidak diinginkan. Jadi mereka harus berhati-hati.

Catatan 4 :-  Ada beberapa kemungkinan tautan "simbolis" atau "lunak" yang menunjuk ke tautan yang tidak ada. Ini disebut sebagai "Link Menggantung". Ini tidak akan menunjuk ke mana-mana.

Catatan 5 :- ada panggilan sistem yang digunakan di linux/unix untuk membuat tautan keras ATAU simbolik di tingkat pemrograman (menggunakan program C/C++ tingkat sistem). Ini adalah 1) symlink 2) symlinkat.

Ini tidak boleh disamakan dengan utilitas baris perintah yang telah saya jelaskan di atas.

Menghapus Soft Link / Symbolic Links

Tautan lunak atau simbolis dihapus menggunakan perintah 'rm' dan batalkan tautan.

Sintaks:

# rm

# batalkan tautan

Menghapus direktori Soft Link

Sintaks:

# rm

# batalkan tautan

Kesimpulan:

Membuat link baik hard maupun soft akan sangat membantu admin dan developer. Materi referensi di atas akan berguna saat memahami jenis tautan apa yang kami buat dan bagaimana hal itu membantu. Juga artikel ini akan membantu dalam memahami perbedaan dan penggunaan tautan.


Linux
  1. Cara Membuat Tautan Lunak dan Keras di Linux

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

  3. Cara membuat dan memasang sistem file di Linux

  1. Cara Membuat File dan Direktori Tidak Dapat Dihapus, Bahkan Dengan Root di Linux

  2. Cara Membuat Tautan Keras dan Simbolik di Linux

  3. Perbedaan antara tautan lunak dan tautan keras di Linux

  1. Tautan keras dan tautan lunak di Linux dijelaskan

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

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