Rumah > Tutorial sistem > LINUX > teks badan

Contoh untuk menerangkan penciptaan pautan keras dan pautan lembut dalam sistem Linux

PHPz
Lepaskan: 2024-02-12 12:48:27
ke hadapan
550 orang telah melayarinya

Pautan Linux terbahagi kepada dua jenis, satu dipanggil pautan keras dan satu lagi dipanggil pautan simbolik. Secara lalai, arahan ln menjana pautan keras. Perbezaan antara pautan keras dan pautan lembut pada asasnya bermula dengan nod inod. Berikut ialah contoh membuat pautan keras dan pautan lembut dalam sistem Linux untuk melihat perbezaan antara dua jenis pautan dalam Linux.

Contoh untuk menerangkan penciptaan pautan keras dan pautan lembut dalam sistem Linux

Pertama sekali, kita mesti faham bahawa dalam sistem Linux, kernel memperuntukkan Inode (nod indeks) kepada setiap fail yang baru dibuat, dan setiap fail mempunyai nombor inod yang unik. Atribut fail disimpan dalam nod indeks Apabila mengakses fail, nod indeks disalin ke memori, dengan itu mencapai akses pantas kepada fail.

Pautan ialah kaedah untuk mewujudkan sambungan antara fail kongsi dan beberapa entri direktori pengguna yang mengaksesnya. Linux termasuk dua jenis pautan: Pautan Keras dan Pautan Lembut juga dipanggil pautan Simbolik.

Pautan keras

Secara terang-terangan, pautan keras ialah penunjuk yang menunjuk ke nod indeks fail Sistem tidak memperuntukkan semula inod untuknya. Anda boleh menggunakan arahan :ln untuk mencipta pautan keras. Tatabahasa:

ln [options] existingfile newfile
ln[options] existingfile-list directory
Salin selepas log masuk

Penggunaan: Yang pertama: Buat pautan keras untuk "fail sedia ada" dan nama fail ialah "fail baharu". Kedua: Dalam direktori "direktori", buat pautan keras dengan nama yang sama untuk semua fail yang terkandung dalam "senarai fail sedia ada". [options] -f pilihan yang biasa digunakan mencipta pautan tanpa mengira sama ada "fail baharu" wujud atau tidak. -n Jika "fail baharu" sudah wujud, tiada pautan akan dibuat Contohnya seperti berikut:

$ ls –il

13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 1 longcheng longcheng 57 8月 5 16:40 file2
$ ln file2 file2hard
$ ls –il

13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
Salin selepas log masuk

Nota:
Sebelum membuat pautan, bilangan pautan yang dipaparkan dalam fail1 ialah 1
Selepas mencipta pautan, (1) bilangan pautan untuk file1 dan file1hard menjadi 2; (2) nombor inode fail1 dan file1hard adalah sama;
Dapat dilihat bahawa hasil daripada operasi arahan ln ialah: file1 dan file1hard adalah dua nama bagi fail yang sama Mereka mempunyai nombor nod indeks dan atribut fail Mencipta pautan keras ke fail1 bermakna nod indeks fail file1 berada dalam direktori semasa. Cipta penunjuk baharu.

Contoh untuk menerangkan penciptaan pautan keras dan pautan lembut dalam sistem Linux

Bilangan pautan dikurangkan satu pada masa yang sama Hanya apabila semua penunjuk menunjuk kepada kandungan fail, iaitu bilangan pautan dikurangkan kepada 0, kernel akan memadam kandungan fail daripada cakera. Struktur logik direktori semasa: (Maaf, gambar tidak ditunjukkan).

Anda juga boleh membuat pautan keras ke fail dalam direktori berbeza tetapi dalam sistem fail yang sama. Anggapkan bahawa fail1 dan fail2 berada dalam direktori /home/longcheng/dir1. Perintah berikut mencipta pautan keras ke file2 dalam /home/longcheng.

ln file2 /home/longcheng/file2hard
Salin selepas log masuk

Program berikut adalah untuk mencipta pautan keras untuk semua fail dalam direktori dir1 dalam direktori dir2

$mkdir dir2
$ln /home/longcheng/dir1/* /home/longcheng/dir2
Salin selepas log masuk

Jika fail baharu ln -f fail sedia ada digunakan, jika fail baharu sudah wujud, tidak kira apa fail fail baharu, hanya pengguna semasa mempunyai kebenaran menulis kepadanya, dan fail baharu akan menjadi fail pautan keras exitngfile.

Walaupun pautan keras menjimatkan ruang dan merupakan cara tradisional untuk menyepadukan sistem fail dalam sistem Linux, terdapat beberapa kelemahan:
(1) Pautan tidak boleh diwujudkan antara fail dalam sistem fail yang berbeza
(2) Hanya pengguna super boleh membuat pautan keras untuk direktori. Walaupun banyak pokok mengatakan bahawa pengguna root boleh mencipta, penulis mendapati semasa proses pembelajaran bahawa pengguna root tidak boleh mencipta sistem saya ialah Redhat, dan saya telah mencuba kernel 2.4 dan 2.6 .

Pautan lembut (pautan simbolik)

Pautan lembut mengatasi kekurangan pautan keras dan tidak mempunyai sebarang sekatan sistem fail Mana-mana pengguna boleh membuat pautan simbolik yang menghala ke direktori. Hasilnya, ia kini lebih meluas digunakan, mempunyai fleksibiliti yang lebih besar, malah boleh memautkan fail merentasi mesin yang berbeza dan rangkaian yang berbeza.

Untuk membuat pautan lembut, cuma tambah pilihan -s selepas ln

$ ls -il

13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
$ln –s file1 file1soft
$ls -il

13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
13061 lrwxrwxrwx 1 longcheng longcheng 5 8月 5 16:58 file1soft->file1
Salin selepas log masuk
Contoh untuk menerangkan penciptaan pautan keras dan pautan lembut dalam sistem LinuxDaripada keputusan pautan di atas, kita dapat melihat bahawa perbezaan antara pautan lembut dan pautan keras bukan sahaja dalam konsep, tetapi juga dalam pelaksanaan.

Perbezaan:

Fail asal pautan keras & fail terpaut berkongsi nombor inod biasa, menunjukkan bahawa ia adalah fail yang sama, manakala fail asal pautan lembut & fail terpaut mempunyai nombor inod yang berbeza, menunjukkan bahawa ia adalah dua fail berbeza.
Dalam atribut fail, pautan lembut dengan jelas menyatakan bahawa ia adalah fail pautan, tetapi pautan keras tidak, kerana pada dasarnya, fail pautan keras dan fail asal mempunyai hubungan yang sama rata.
Bilangan pautan adalah berbeza, dan bilangan pautan lembut tidak akan meningkat saiz fail adalah berbeza, dan saiz yang dipaparkan oleh fail pautan keras adalah sama dengan fail asal.

Ringkasnya, mencipta pautan lembut ialah mencipta fail baharu. Apabila fail yang dipautkan diakses, sistem akan mendapati bahawa ia adalah fail yang dipautkan, dan ia akan membaca fail yang dipautkan untuk mencari fail yang sebenarnya untuk diakses. Sudah tentu, pautan lembut juga mempunyai kelemahan yang tidak ada pada pautan keras, kerana fail pautan mengandungi maklumat laluan fail asal, jadi apabila fail asal dialihkan dari satu direktori ke direktori lain dan fail pautan itu diakses semula, sistem tidak akan dapat mencarinya, manakala pautan keras akan Tanpa kecacatan ini, anda boleh mengalihkannya walau bagaimanapun anda mahu, ia juga memerlukan sistem untuk memperuntukkan ruang tambahan untuk mencipta nod indeks baharu dan menyimpan laluan fail asal.

Atas ialah kandungan terperinci Contoh untuk menerangkan penciptaan pautan keras dan pautan lembut dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lxlinux.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!