Qattiq aloqa va ramziy bog'lanish o'rtasidagi farq nima?

O'ylaymanki, biz yorliqlarni yaratishda hayot biroz osonlashadi degan fikrga qo'shilamiz. Xuddi shu narsa dasturlashda ham - yaxshi, ba'zida shunday bo'ladi. Ushbu postda men sizning Linux terminalingizda foydalanishda simvolik havola va qattiq aloqa o'rtasidagi farqni tushuntirib beraman.

Ramziy aloqa

Symbollink deb nomlanuvchi ramziy aloqa, ko'p fayllar yoki papkalar o'rtasida aloqa yaratish uchun ishlatiladi. Ushbu havola aslida fayl yoki papkaning o'zi emas, buning o'rniga u asl fayl yoki katalogga ishora qiladi. Belgilangan belgilar haqiqiy fayl yoki katalogdagi ma'lumotlarga kirishni osonlashtiradi, chunki buni qidirish juda zerikarli bo'lishi mumkin. Ushbu havolalar odatda kataloglarga kirish uchun ishlatiladi.

Ramziy havolani yaratish uchun siz terminalda kuzatmoqchi bo'lgan ma'lum bir sintaksis (formula) mavjud.

ln -s [asl katalog yoki fayl] [simlink uchun nom]

Sintaksisni ajratish:

Bog'lanishni yaratish uchun 'ln' (bog'lanish ma'nosi) buyrug'idan foydalaniladi, shuning uchun birinchi navbatda.
Terminal sizga ramziy aloqa yaratayotganingizni bildirish uchun '-s' bayroqchasidan foydalanasiz.
Keyinchalik, siz simlinkdan foydalanadigan fayl yoki katalogni ko'rsatmoqchisiz. Siz butun yo'l nomini yozishingiz yoki fayl yoki katalogga o'tish uchun '.' Yoki '/' dan foydalanishingiz mumkin.
Va nihoyat, havolaning nomini ko'rsatmoqchisiz.
Enter ni bosing va sizning bog'lanishingiz yaratiladi!
Izoh: Qavslarga ehtiyoj yo'q, ular shunchaki chalkashlik uchun matnni guruhlash uchun bor
Ramziy havola uchun rasm: @ hiljaa

Qattiq aloqa

Qattiq havola bu mavjud faylning o'rnini bosadigan nom bo'lib, uni boshqa qattiq havolalar bilan bog'lash mumkin. Ushbu bog'lanish turi odatda turli xil kataloglarda yoki papkalarda joylashgan fayllarga kirish uchun ishlatiladi. Belgilangan chiziqlardan farqli o'laroq, qattiq aloqa to'g'ridan-to'g'ri fayl ma'lumotlariga ulanadi, bu ham inod deb nomlanadi.

Inod - bu Linux va boshqa Unix-ga o'xshash operatsion tizimlaridagi fayllar tizimidagi ma'lumotlar tuzilmasi bo'lib, ularning nomi va haqiqiy ma'lumotlaridan tashqari fayl to'g'risidagi barcha ma'lumotlarni saqlaydi. Ma'lumotlar tarkibi ma'lumotlardan samarali foydalanish uchun uni saqlash usulidir.

Qattiq havolani yaratish uchun siz terminalda kuzatmoqchi bo'lgan ma'lum bir sintaksis (formula) mavjud.

ln [asl fayl] [qattiq bog'lanish uchun nom]

Sintaksisni ajratish:

Bog'lanishni yaratish uchun 'ln' (bog'lanish ma'nosi) buyrug'idan foydalaniladi, shuning uchun birinchi navbatda.
'Bayroq' ga ehtiyoj qolmaydi, chunki bu safar siz bog'lamaysiz.
Keyinchalik, siz simlinkdan foydalanadigan fayl yoki katalogni ko'rsatmoqchisiz. Siz butun yo'l nomini yozishingiz yoki fayl yoki katalogga o'tish uchun '.' Yoki '/' dan foydalanishingiz mumkin.
Va nihoyat, havolaning nomini ko'rsatmoqchisiz.
Kirishni bosing va qattiq havolangiz yaratiladi!
Izoh: Qavslarga ehtiyoj yo'q, ular shunchaki chalkashlik uchun matnni guruhlash uchun bor
Qattiq havola uchun rasm: @ hiljaa

http://clubmate.fi/symbolic-links-and-hard-links-creating-updating-deleting-and-all-that/

Belgilanishlar va qattiq havolalarning farqi:

men tomondan

Agar siz fayl_1 va hard_link_A-ga qarasangiz, inode bir xil ekanligini ko'rishingiz mumkin. Shunga e'tibor beringki, simsiz aloqa boshqa inode qiymatiga ega. Buning sababi shundaki, qattiq bog'lanishlar deyarli nusxalarga o'xshaydi, bog'lovchilar esa asl fayl yoki katalogga ishora qiladigan faylning boshqa versiyasiga o'xshaydi.

Ehtiyot bo `lmoq!

Agar siz simsiz aloqani yoki qattiq havolani yo'q qilmoqchi bo'lsangiz, nima bo'lishi mumkinligini bilishingiz kerak.

Agar siz simsiz havolani yoki qattiq havolani yo'q qilsangiz nima bo'lishiga misol:

Sizning inode1 rasmingiz. Unga fayl_1 ulangan, keyin siz hard_link_A va hard_link_B ni ulaysiz. Keyin siz hard_link_A-ga Symlink_1-ni yaratasiz. Agar siz hard_link_A-ni o'chirib tashlasangiz va Symlink_1-ga kirishga harakat qilsangiz, terminal sizga xato beradi, chunki siz inode1-ga ulanishni o'chirib tashladingiz, shuning uchun Symlink_1 hozirda unga ulanmagan. LEKIN, siz hali ham inode1 va ichidagi ma'lumotlarga ulangan hard_link_B bor. BUUUTTT, agar siz inode1 ga ulangan qattiq havolalarni o'chirsangiz, inode1 endi yo'q. Terminal hech qanday fayl yo'qligini ko'radi, shuning uchun uni saqlash uchun ma'lumot yo'q; shuning uchun terminal uni bo'sh joy sifatida ko'radi.