Ramziy havola - Symbolic link

Yilda hisoblash, a ramziy aloqa (shuningdek simvol aloqasi yoki yumshoq havola) har qanday fayl uchun atama bo'lib, unda mutlaq yoki nisbiy shaklda boshqa fayl yoki katalogga havola mavjud yo'l va bu yo'l nomining aniqlanishiga ta'sir qiladi.[1]

Simvolik aloqalar 1978 yilgacha minikompyuter operatsion tizimlarida mavjud edi DEK va Data General's RDOS. Bugungi kunda ular tomonidan qo'llab-quvvatlanmoqda POSIX operatsion tizim standarti, ko'pi Unixga o'xshash operatsion tizimlar kabi FreeBSD, Linux va macOS. Windows operatsion tizimlarida ham cheklangan yordam mavjud Windows Vista, Windows 7 va ma'lum darajada Windows 2000 va Windows XP yorliqli fayllar ko'rinishida.

Umumiy nuqtai

Ramziy havola avtomatik ravishda izohlanadigan va keyinchalik operatsion tizim tomonidan boshqa fayl yoki katalogga yo'l sifatida matn satrini o'z ichiga oladi. Ushbu boshqa fayl yoki katalog "maqsad" deb nomlanadi. Ramziy havola - bu maqsadidan mustaqil ravishda mavjud bo'lgan ikkinchi fayl. Agar ramziy havola o'chirilsa, uning maqsadi ta'sir qilmaydi. Agar ramziy havola maqsadga ishora qilsa va bir muncha vaqt o'tgach, ushbu maqsad ko'chirilsa, nomini o'zgartirsa yoki o'chirilsa, ramziy havola avtomatik ravishda yangilanmaydi yoki o'chirilmaydi, lekin davom etadi va hanuzgacha eski maqsadga ishora qiladi, hozir mavjud bo'lmagan joy yoki fayl. Ko'chirilgan yoki mavjud bo'lmagan maqsadlarga ishora qiluvchi simvolik aloqalar ba'zan chaqiriladi singan, yetim, o'lik, yoki osilgan.

Ramziy bog'lanishlar boshqacha qattiq havolalar. Qattiq havolalar yo'llarni boshqasiga bog'lamaydi jildlar yoki fayl tizimlari, ammo ramziy havolalar har qanday faylga yoki katalogga qaramasdan ishora qilishi mumkin jildlar havolada va maqsadda joylashgan Qattiq havolalar har doim mavjud bo'lgan faylga ishora qiladi, ammo ramziy havolalar hech narsaga ishora qilmaydigan o'zboshimchalik yo'lini o'z ichiga olishi mumkin.

Ramziy havolalar ko'plab operatsiyalar uchun shaffof ishlaydi: ramziy havola bilan nomlangan fayllarni o'qiydigan yoki ularga yozadigan dasturlar to'g'ridan-to'g'ri maqsad faylida ishlagandek o'zini tutadi. Biroq, ular aks holda ierarxik fayl tizimini a dan o'zgartirishga ta'sir qiladi daraxt ichiga yo'naltirilgan grafik, bu jarayonning joriy katalogini aniqlash kabi oddiy operatsiyalar uchun oqibatlarga olib kelishi mumkin. Katalogning ota-katalogiga o'tish uchun hatto Unix standarti ham simvollar oldida ishonchli ishlamaydi. Biroz chig'anoqlar evristik jihatdan daraxt shaklidagi ierarxiya haqidagi illuziyani qo'llab-quvvatlashga harakat qiling, ammo buni amalga oshirganingizda, bu ularning o'rniga operatsion tizimga tayanib, bunday evristiksiz yo'l nomlarini boshqaradigan boshqa dasturlardan har xil natijalarni keltirib chiqaradi.[2]Ramziy havolalarni maxsus ishlashi kerak bo'lgan dasturlar (masalan, chig'anoqlar va zaxira dasturlari), shuning uchun ularni to'g'ridan-to'g'ri aniqlash va boshqarish kerak.

Ba'zi Unix va Linux tarqatish tizimlari tartibini o'zgartirish uchun ramziy havolalardan keng foydalanadilar fayl tizimi ierarxiya. Bunga variantlar, kontekstga bog'liq ramziy aloqalar kabi bir nechta mexanizmlar yordamida erishiladi. Bu intuitiv yoki dasturga xos xususiyatlarni yaratish imkoniyatini beradi katalog daraxti va tizim funktsiyalari va yordam dasturlarining asosiy to'plamini qayta ishlab chiqmasdan tizimni qayta tashkil etish.

POSIX va Unix-ga o'xshash operatsion tizimlar

Yilda POSIX bilan mos keladigan operatsion tizimlar, bilan ramziy aloqalar yaratiladi simvol aloqasi[3] tizim qo'ng'irog'i. The ln shell buyrug'i odatda havola[4] a yaratadigan tizim qo'ng'irog'i qattiq havola. Qachon ln -s bayroq ko'rsatilgan, uning o'rniga symlink () tizim chaqiruvi ishlatiladi va ramziy havola yaratiladi. Belgilar bilan tanishtirildi 4.2BSD Unix dan U.C. Berkli.

Quyidagi buyruq ramziy bog'lanishni yaratadi buyruq qatori interfeysi (qobiq):

 ln -s target_path link_path

target_path ramziy bog'lanish ko'rsatilishi kerak bo'lgan nisbiy yoki mutlaq yo'l. Odatda maqsad mavjud bo'ladi, ammo mavjud bo'lmagan maqsadlarga ramziy aloqalar yaratilishi mumkin. link_path ramziy aloqaning yo'li.

Ramziy havolani yaratgandan so'ng, odatda maqsad uchun taxallus sifatida qaralishi mumkin. Har qanday fayl tizimini boshqarish buyruqlari (masalan, CP, rm) ramziy havolada ishlatilishi mumkin. Fayl tarkibini o'qiydigan yoki yozadigan buyruqlar maqsad fayl tarkibiga kirish huquqini beradi. The rm (faylni o'chirish) buyrug'i, ammo maqsadli faylni emas, balki havolani o'zi o'chiradi. Xuddi shunday, mv buyruq maqsadni emas, balki havolani siljitadi yoki o'zgartiradi.

POSIX katalogi ro'yxati dasturi, ls, uzoq kataloglar ro'yxati so'ralganda, maqsad fayl nomiga ishora qilib (quyidagi misolga qarang), ismdan keyin o'q bilan ramziy havolalarni bildiradi (-l variant). Katalogga ishora qiluvchi ramziy havolaning katalogi so'ralganda, faqat havolaning o'zi ko'rsatiladi. Bog'langan katalog ro'yxatini olish uchun yo'l katalogni ajratuvchi belgini ('/', slash) o'z ichiga olishi kerak.

Izoh: Quyidagi misolda / tmp katalogida havola yaratilishidan oldin "uchta" katalog yaratmang.

$ mkdir -p / tmp / one / two$ aks sado "test_a" > / tmp / one / two / a$ aks sado "test_b" > / tmp / one / two / b$ CD / tmp / one / two$ ls -l-rw-r - r-- 1 foydalanuvchi guruhi 7 yanvar 01 10:01 a-rw-r - r-- 1 foydalanuvchi guruhi 7 yanvar 01 10:01 b$ CD / tmp$ ln -s / tmp / one / two three$ ls -l uchlrwxrwxrwx 1 foydalanuvchi guruhi 12 Iyul 22 10:02 / tmp / three -> / tmp / one / two$ ls -l uch /-rw-r - r-- 1 foydalanuvchi guruhi 7 yanvar 01 10:01 a-rw-r - r-- 1 foydalanuvchi guruhi 7 yanvar 01 10:01 b$ CD uchta$ ls -l-rw-r - r-- 1 foydalanuvchi guruhi 7 yanvar 01 10:01 a-rw-r - r-- 1 foydalanuvchi guruhi 7 yanvar 01 10:01 b$ mushuk atest_a$ cat / tmp / one / two / atest_a$ aks sado "test_c" > / tmp / one / two / a$ cat / tmp / one / two / atest_c$ mushuk atest_c

Ramziy havolalarni saqlash

Ramziy havolalarning dastlabki tatbiq etilishi ramziy bog'lanish ma'lumotlarini oddiy fayllardagi ma'lumotlar sifatida saqlagan. Faylda havolaning maqsadiga matnli ma'lumot berilgan va fayl rejimi bitlari fayl turi ramziy havola ekanligini ko'rsatgan.

Ushbu usul sekin va samarasiz ishlatilgan disk maydoni kichik tizimlarda. Yaxshilash deb nomlangan tezkor simvollarichida maqsadli yo'lni saqlashga ruxsat berilgan ma'lumotlar tuzilmalari diskdagi fayl ma'lumotlarini saqlash uchun ishlatiladi (inodlar ). Ushbu bo'shliq odatda disklarning ro'yxatini saqlaydi blokirovka qilish faylga ajratilgan manzillar. Shunday qilib, qisqa maqsadli yo'llar bilan simvollarga tezda kirish mumkin. Maqsadli yo'l mavjud bo'lgan inode maydonidan oshib ketadigan bo'lsa, tezkor simvolli tizimlar ko'pincha asl usuldan foydalanishga qaytadi. Asl uslub orqaga qaytarilgan a sekin simvol. Bundan tashqari, u operatsion tizimlarning boshqa yoki eski versiyalari bilan diskka muvofiqligi uchun ishlatiladi.

Garchi ulanish qiymatini inode ichida saqlash disk blokini va diskni o'qilishini saqlasa-da, operatsion tizim havoladagi yo'l nomini ajratib ko'rsatishi kerak, bu har doim qo'shimcha inodlarni o'qishni talab qiladi va odatda boshqalarni va potentsial jihatdan ko'pini o'qishni talab qiladi ham fayllar ro'yxati, ham ularning har birining inodlari havolaning yo'l komponentlari bilan mos kelguniga qadar. Faqatgina havola xuddi shu katalogdagi faylga ishora qilganda, "tezkor simvollar" boshqa simvollarga qaraganda ancha yaxshi ishlashni ta'minlaydi.

POSIX-ga mos keladigan dasturlarning aksariyati tezkor simvollardan foydalanadi. Biroq, POSIX standart odatiy fayllar uchun umumiy bo'lgan fayl holati to'g'risidagi ma'lumotlarning to'liq to'plamini simvollar uchun bajarilishini talab qilmaydi. Bu dasturlarga boshqa echimlardan foydalanishga imkon beradi, masalan, katalog yozuvlarida symlink ma'lumotlarini saqlash.

The fayl tizimining ruxsatlari ramziy bog'lanish ishlatilmaydi; maqsad faylning kirish rejimlari maqsad faylning o'z ruxsatlari bilan boshqariladi. FreeBSD kabi ba'zi operatsion tizimlar, fayllar uchun ruxsatlarni va ramziy havolaning fayl tizimining atributlarini o'zgartirish qobiliyatini taklif qiladi. lchmod[5] va lchflags[6] navbati bilan tizim qo'ng'iroqlari.

Symlinkning bildirilgan kattaligi - bu ko'rsatgan yo'ldagi belgilar soni.

Mac OS taxalluslari

Mac OS-da, dasturlar yoki foydalanuvchilar ham ishlashlari mumkin taxalluslar, maqsadga rioya qilishning qo'shimcha xususiyatiga ega bo'lgan, hatto bir xil hajmdagi boshqa joyga ko'chirilgan bo'lsa ham. Buni qobiq buyrug'i bilan aralashtirib bo'lmaydi taxallus.

Microsoft Windows

NTFS ramziy aloqasi

NTFS 3.1 har qanday turdagi fayllar uchun ramziy havolalarni qo'llab-quvvatlashni joriy qildi. Bunga kiritilgan Windows XP, lekin faqat sukut bo'yicha yadro rejimi dasturlari uchun yoqilgan; Windows Vista va Windows-ning keyingi versiyalari foydalanuvchi rejimi dasturlariga ramziy havolalarni qo'llab-quvvatladi va buyruq satri yordam dasturini taqdim etdi mklink ularni yaratish uchun. Uchinchi tomon drayverlari Windows XP-da NTFS ramziy havolalarini qo'llab-quvvatlashni yoqishlari kerak.[7] Aksincha ulanish nuqtalari, ramziy havola faylga yoki masofadan boshqarish pultiga ham ishora qilishi mumkin Server xabarlarini blokirovka qilish (SMB) tarmoq yo'li. Bundan tashqari, NTFS ramziy havolasini amalga oshirish fayllararo tizim havolalarini to'liq qo'llab-quvvatlaydi. Biroq, xoch-xost ramziy bog'lanishlarini ta'minlaydigan funktsionallik masofaviy tizim ularni qo'llab-quvvatlashni talab qiladi.

Ramziy havolalar migratsiya va dasturning mosligini ta'minlashga mo'ljallangan POSIX operatsion tizimlar. Microsoft Windows Vista-ning ramziy havolalarini "xuddi UNIX havolalari kabi ishlashini" maqsad qilgan.[8] Biroq, amalga oshirish Unix ramziy havolalaridan bir necha jihatdan farq qiladi. Masalan, Windows Vista foydalanuvchilari ramziy havola yaratishda fayl yoki katalog bo'ladimi, qo'lda ko'rsatishlari kerak.[9] Windows 7 va Vista maksimal 31 ta qo'llab-quvvatlaydi ballarni qayta tiklash (va shuning uchun ramziy havolalar) ma'lum bir yo'l uchun (ya'ni har qanday berilgan yo'l Windows voz kechguncha ko'pi bilan 31 ta ko'rsatmalarga ega bo'lishi mumkin).[10] Faqatgina yangi foydalanuvchilar Ramziy havola yarating sukut bo'yicha faqat administratorlarga ega bo'lgan imtiyoz ramziy havolalar yaratishi mumkin.[11] Agar bu kerakli xatti-harakatlar bo'lmasa, uni Mahalliy xavfsizlik siyosatini boshqarish konsolida o'zgartirish kerak. Bundan tashqari, fayllarga NTFS ramziy havolalari kataloglarga NTFS ramziy havolalaridan farq qiladi va shuning uchun bir xil ramziy havola fayllar yoki kataloglarga murojaat qilishi mumkin bo'lgan POSIX-dan farqli o'laroq bir-birining o'rnida ishlatilishi mumkin emas.

Windows Vista va undan keyingi versiyalarida, ishchi katalog yo'li ramziy bog'lanish bilan tugaganda, joriy ota-ona yo'nalishi, .., maqsadli emas, balki ramziy havolaning asosiy katalogiga murojaat qiladi. Ushbu xatti-harakatlar kamida ba'zi POSIX tizimlarida, shu jumladan qobiq darajasida ham mavjud Linux, lekin hech qachon operatsion tizim qo'ng'iroqlari orqali fayllar va kataloglarga kirishda. Masalan, bash ichki buyruqlari pwd va CD joriy mantiqiy katalogda ishlash. pwd ko'pincha amaldagi ishchi katalogni aniqlash uchun skriptlarda ishlatiladi. Tizim chaqiruvi bilan biron bir yo'l ishlatilganda, har qanday foydalanish .. o'z ichiga olgan katalogning haqiqiy fayl tizimidan foydalanadi .. psevdo-katalogga kirish. Shunday qilib, CD ..; mushuk narsa va mushuk ../bir narsa butunlay boshqa natijalarni berishi mumkin.

Misollar

  1. PS>mklink /D. "$ env: LOCALAPPDATA Plex Media Server" "G: Plex Media Server"
  2. PS>Yangi element - Yo'l C:\TargetPath -TemType SymbolicLink - qiymat F:\SourcePath

NTFS ulanish nuqtalari

The Windows 2000 versiyasi NTFS tanishtirdi ballarni qayta tiklash, bu esa, boshqa narsalar qatori, foydalanishga imkon berdi Tovush balandligi ballari va ulanish nuqtalari. Aloqa nuqtalari faqat kataloglar uchun, shuningdek, faqat mahalliy kataloglar uchun; masofaviy aktsiyalarga ulanish nuqtalari qo'llab-quvvatlanmaydi.[12] Windows 2000 va XP Resurs to'plamlari nomli dasturni o'z ichiga oladi havola birlashma nuqtalarini yaratish; nomli kuchliroq Birlashma tomonidan tarqatildi Sysinternals ' Mark Russinovich.

Barcha standart dasturlar qayta tiklash punktlarini qo'llab-quvvatlamaydi. Shunisi e'tiborliki, Zaxira nusxasi ushbu muammodan aziyat chekadi va 0x80070003 xato xabari chiqaradi[13] zaxira nusxasini olish kerak bo'lgan papkalarda reparse nuqtasi bo'lsa.

Yorliqlar

Yorliqlar, ba'zi operatsion tizimlarning grafik fayl brauzerlari tomonidan qo'llab-quvvatlanadigan, ramziy havolalarga o'xshash bo'lishi mumkin, ammo bir qator muhim jihatlari bilan farq qiladi. Bitta farq shundaki, qaysi turdagi dasturiy ta'minot ularga amal qilishi mumkin:

  • Ramziy havolalar fayl tizimi tomonidan avtomatik ravishda hal qilinadi. Har qanday dasturiy ta'minot, ramziy havolaga kirgandan so'ng, dastur ramziy havolalardan xabardor bo'ladimi yoki yo'qmi, maqsadni ko'radi.
  • Yorliqlar fayl tizimi va ular haqida bilmagan dasturiy ta'minot tomonidan oddiy fayllar kabi ko'rib chiqiladi. Faqat yorliqlarni tushunadigan dasturiy ta'minot dasturlari (masalan, Windows qobig'i va fayl brauzerlari) ularni boshqa fayllarga havola sifatida ko'rib chiqadi.

Yana bir farq mexanizmning imkoniyatlari:

  • Microsoft Windows yorliqlar odatda an tomonidan belgilangan manzilga ishora qiladi mutlaq yo'l (dan boshlab ildiz katalogi ), POSIX ramziy havolalari esa absolyut yoki a orqali yo'nalishlarga murojaat qilishi mumkin nisbiy yo'l. Ikkinchisi, agar ramziy havolaning joylashuvi va yo'nalishi umumiy yo'lni birlashtirsa foydali bo'ladi prefiks[tushuntirish kerak ], lekin bu prefiks ramziy bog'lanish qachon yaratilganligi hali ma'lum emas (masalan, an arxiv fayli har qanday joyda ochilishi mumkin).
  • Microsoft Windows dastur yorliqlari manzil bilan bog'liq bo'lishi mumkin bo'lgan qo'shimcha metamalumotlarni o'z ichiga oladi, POSIX ramziy havolalari esa faqat absolyut yoki nisbiy yo'l nomlari sifatida talqin qilinadigan satrlardir.
  • Ramziy havolalardan farqli o'laroq, Windows yorliqlari maqsad ko'chirilganda yoki uning nomini o'zgartirganda ham o'zlarining maqsadlariga havolalarini saqlab qoladi. Windows domeni mijozlari a ga obuna bo'lishlari mumkin Windows xizmati deb nomlangan Tarqatilgan bog'lanishni kuzatish ular qiziqtirgan fayl va papkalardagi o'zgarishlarni kuzatib borish. Xizmat yorliqlarning yaxlitligini saqlab qoladi, hatto fayllar va papkalar tarmoq bo'ylab ko'chirilsa ham.[14] Bundan tashqari, Windows 9x va undan keyingi versiyalarida, Windows qobig'i o'chirishni taklif qilishdan oldin buzilgan yorliqning maqsadini topishga harakat qiladi.

Jildning yorliqlari

Deyarli yorliqlar kabi, ammo Windows qobig'i uchun shaffof.[15]Ular oddiy papkalar sifatida amalga oshiriladi (ular bo'lishi kerak) faqat o'qish va / yoki tizim xususiyat[16]) nomli yorliqni o'z ichiga olgan target.lnk bu maqsadga va (yashirin) ga ishora qiladi desktop.ini (kamida) quyidagi tarkib bilan:

 [.ShellClassInfo] CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}

Jildning yorliqlari Windows-ning qobig'idan yaratiladi va ishlatiladi tarmoq mahallasi masalan.

Shell ob'ektlari

The qobiq ob'ektlari[17] yoki qobiq papkalari Windows ro'yxatga olish kitobida aniqlangan va biron bir ramziy havolani amalga oshirish uchun ishlatilishi mumkin. Jildning yorliqlari singari, ular Windows qobig'i uchun shaffofdir.

Minimal dastur (CLSID) {00000000-0000-0000-0000-000000000000} to'ldiruvchi sifatida ishlatiladi):

 [HKEY_CLASSES_ROOT CLSID  {00000000-0000-0000-0000-000000000000}] @="ko'rsatiladigan ism" [HKEY_CLASSES_ROOT CLSID  {00000000-0000-0000-0000-000000000000}  DefaultIcon] @="..."; piktogramma uchun yo'l [HKEY_CLASSES_ROOT CLSID  {00000000-0000-0000-0000-000000000000}  InProcServer32] @="% SystemRoot%  System32  ShDocVw.Dll" "ThreadingModel"="Kvartira" [HKEY_CLASSES_ROOT CLSID  {00000000-0000-0000-0000-000000000000}  Instance] "CLSID"="{0AFACED1-E828-11D1-9187-B532F1E9575D}" [HKEY_CLASSES_ROOT CLSID  {00000000-0000-0000-0000-000000000000}  Instance  InitPropertyBag] "Xususiyatlar"=olti burchak:15,00,00,00 "Maqsad"="..."; mutlaq (faqat "TargetKnownFolder" yoki "TargetSpecialFolder" BO'LMADAN)                ; yoki nishonga olish uchun nisbiy yo'l "TargetKnownFolder"="{guidguid-guid-guid-guid-guidguidguid}"; Maqsadli papka, Windows Vista va undan keyingi versiyalar uchun qo'llanma "TargetSpecialFolder"="0x00xy"; CSIDL maqsad [HKEY_CLASSES_ROOT CLSID  {00000000-0000-0000-0000-000000000000}  ShellFolder] "Xususiyatlar"=olti burchak:00,00,00,00

The Mening hujjatlarim papkasida Ish stoli shuningdek Shriftlar va Ma'muriy vositalar papkalari Boshqaruv paneli misollari qobiq ob'ektlari fayl tizimidagi papkalarga yo'naltirildi.

Cygwinning ramziy aloqalari

Kigvin Microsoft Windows fayl tizimidagi POSIX-ga mos keladigan ramziy havolalarni simulyatsiya qiladi. Unix bilan bir xil dasturlash va foydalanuvchi dasturlari interfeyslaridan foydalanadi (yuqoriga qarang), lekin Cygwin tomonidan simvolga ulanish vaqtida foydalanilgan qo'shimcha ma'lumotlar bilan Windows yorliqlarini (.lnk fayllari) yaratadi. Cygwin simvollari ularning echimi jihatidan POSIX standartiga va diskda namoyish etilishi jihatidan Windows standartlariga mos keladi.

Bundan tashqari, Cygwin Windows-ning ramziy havolalarini qo'llab-quvvatlash uchun o'rnatilishi mumkin, bu Cygwin-dan cheklovsiz foydalanish mumkin.[18] Bu quyidagilarni talab qiladi:

  1. O'z ichiga olgan CYGWIN o'zgaruvchisini o'zgartirish Winsymlinks: mahalliy;
  2. Cygwin-ni yuqori huquqlar bilan ishlatish, chunki Windows imtiyozli foydalanuvchilarga ramziy havolalar yaratilishini cheklaydi

Biroq, ba'zi farqlar mavjud. Cygwin-da yorliqlar bilan bog'liq ma'lumotlarni, masalan, ishchi katalog yoki belgi kabi ma'lumotlarni ko'rsatish imkoniyati yo'q, chunki bunday parametrlar uchun joy yo'q ln -s buyruq. Microsoft .lnk standart fayllarini yaratish uchun Cygwin mkshortcut va readshortcut kommunal xizmatlar.[19]

Cygwin foydalanuvchi qo'llanmasida ushbu mavzu bo'yicha qo'shimcha ma'lumot mavjud.[18] MSYS2 Cygwin-ga asoslangan, shunga o'xshash to'plamga ega winsymlinks sozlamalari, lekin fayllarni nusxalash uchun sukut bo'yicha.[20]

Xulosa

Mulk / harakatRamziy havolaBirlashmaQattiq havola
Havola o'chirilgandaMaqsad o'zgarishsiz qolmoqdaMaqsad o'chirildi (maxsus vositalardan foydalanishdan tashqari)Malumot taymeri kamaytirilgan; u 0 ga yetganda, maqsad o'chiriladi
Maqsad ko'chirilgandaRamziy havola yaroqsiz holga keladiBirlashma yaroqsiz holga keladiQattiq havola amal qiladi
Nisbiy yo'lRuxsat berilganRuxsat berilmagan (tejash bo'yicha, mutlaq yo'lga aylanadi)Yo'q
Fayl tizimi chegaralarini kesib o'tishQo'llab-quvvatlanadiQo'llab-quvvatlanadiQo'llab-quvvatlanmaydi (maqsad bitta fayl tizimida bo'lishi kerak)
WindowsFayllar uchunWindows Vista va undan keyingi versiyalar[21]
(administrator huquqlari talab qilinadi)
Yo'qHa
Jildlar uchunHaYo'q
UnixFayllar uchunHaYo'qHa
Kataloglar uchunHaYo'qQisman[22]

Eski tizimlar

Amiga

Ramziy havolalarni yaratish buyrug'i makelink, bu qattiq havolalar uchun ham ishlatiladi. Ichida dos.library xato kodini qaytaradi, agar siz bu fayl uchun faqat qonuniy bo'lgan harakatlarni bajarishga harakat qilsangiz, maqsad yumshoq bog'lanish ekanligini ko'rsatadi va ramziy havolani bajarishni istagan dasturlar aniq qo'ng'iroq qilishlari kerak. havolani kuzatib boring va amalni takrorlang. The AmigaDOS shell havolalarni avtomatik ravishda kuzatib boradi.

OS / 2

In OS / 2 operatsion tizim, ramziy havolalar biroz o'xshash soyalar grafikda Ish joyi qobig'i. Biroq, soyalar ob'ektga to'liq yo'naltirilgan tizim ob'ekti modeli tufayli oddiy havolaga qaraganda ancha kuchli va mustahkamdir. Masalan, soyalar nomini o'zgartirganda yoki havola ob'ekti yoki sub'ekti boshqa joyga ko'chirilganda o'z imkoniyatlarini yo'qotmaydi.[iqtibos kerak ]

O'zgaruvchan ramziy havolalar

Ramziy havolalar kontekstga bog'liq yoki o'zgaruvchan shaklda amalga oshirilishi mumkin, chunki havola konfiguratsiya parametri, ish vaqti parametri yoki boshqa bir lahzali holatga qarab har xil maqsadlarga ishora qiladi.

A o'zgaruvchan yoki variant ramziy bog'lanish ichiga kiritilgan o'zgaruvchan nomga ega bo'lgan ramziy havola. Bu fayl tizimining tartibida ba'zi bir moslashuvchanlikni ta'minlaydi, bu standart ramziy havola bilan mumkin emas. Ramziy havolaga kiritilgan o'zgaruvchilar foydalanuvchi va atrof muhitga oid ma'lumotlarni o'z ichiga olishi mumkin.

Operatsion tizimlar Variantli ramziy bog'lanishlardan foydalanadiganlar kiradi NetBSD, DragonFly BSD, Domen / OS.[23][24]Tru64 foydalanadi kontekstga bog'liq ramziy bog'lanish bu erda kontekst klaster a'zosi raqami.

Piramida texnologiyasi OSx Operatsion tizim amalga oshirildi shartli ramziy aloqalar qaysi biriga qarab har xil joylarni ko'rsatgan koinot bir dastur ishlay boshladi. Olamlar qo'llab-quvvatlandi AT & T "s SysV.3 va Berkli dasturiy ta'minotini tarqatish (BSD 4.3). Masalan: agar ps buyrug'i att koinot, keyin katalog uchun ramziy havola / bin ishora qiladi /.attbin va dastur /.attbin/ps qatl qilinadi. Agar ps buyrug'i ucb koinot, keyin / bin ishora qiladi /.ucbbin va /.ucbbin/ps qatl qilinadi. Shunga o'xshash shartli ramziy havolalar boshqa kataloglar uchun ham yaratilgan / lib, / usr / lib, / usr / o'z ichiga oladi.[25]

Shuningdek qarang

  • Symlink poygasi - ramziy havolalardan kelib chiqqan xavfsizlik zaifligi
  • ozod qilish - avtomatik ravishda bir xil ma'lumotlar orasidagi bog'lanishlarni hosil qiladi

Adabiyotlar

  1. ^ Pathname o'lchamlari, POSIX.
  2. ^ Payk, Rob (2000). 9-rejadagi leksik fayl nomlari yoki nuqta-nuqta to'g'ri kelmoqda (PDF). Proc. USENIX Yillik texnik. Konf.
  3. ^ simlink, simlinkat. IEEE Std 1003.1, 2013 yil nashr.
  4. ^ havola, linkat. IEEE Std 1003.1, 2013 yil nashr.
  5. ^ "lchmod (2)". FreeBSD 11 uchun qo'llanma sahifalari.
  6. ^ "lchflags (2)". FreeBSD 11 uchun qo'llanma sahifalari.
  7. ^ "Link Shell Extension veb-sayti". Shell Extension veb-saytini bog'lang.
  8. ^ Ramziy havolalar, MSDN kutubxonasi, Win32 va COM Development, 2008-01-18
  9. ^ CreateSymbolicLink funktsiyasi, MSDN Library, Win32 va COM Development
  10. ^ Ramziy bog'lanishni dasturlash bo'yicha mulohazalar, MSDN
  11. ^ Mark Russinovich: Windows Vista yadrosi ichida: 1-qism - Faylga asoslangan ramziy havolalar, Microsoft Technet, 2007 yil fevral.
  12. ^ "Sysinternals Junction hujjatlari". microsoft.com. Olingan 23 mart 2018.
  13. ^ http://support.microsoft.com/kb/973455
  14. ^ "Tarqatilgan havolani kuzatish va ob'ekt identifikatorlari". Microsoft dasturchilar tarmog'i. Microsoft korporatsiyasi. 2011 yil 20 mart. Olingan 30 iyun 2011.
  15. ^ "Ism maydoni kengaytmasining joylashishini ko'rsatish". msdn.microsoft.com. Olingan 23 mart 2018.
  16. ^ [1] Faqat o'qish uchun atributni papkadan o'chirib bo'lmadi
  17. ^ Shell Instant ob'ektlari bilan Shell kengaytmalarini yaratish. msdn.microsoft.com
  18. ^ a b [2] Cygwin foydalanuvchi qo'llanmasi, Kigvin.
  19. ^ [3] Cygwin-dagi Microsoft .lnk fayllari
  20. ^ "Coreutils: ln -symbolic qattiq havolalar yaratadi (MSYS2-to'plamlar # 249)". GitHub.
  21. ^ Windows dasturi POSIX-ga mos kelmaydi
  22. ^ POSIX kataloglarda qattiq havolalarga ruxsat beradi, lekin ularni talab qilmaydi. Zamonaviy fayl tizimlari uni qo'llab-quvvatlamaydi.
  23. ^ simvolli bog'lanish (7) – NetBSD Turli xil ma'lumotlar Qo'lda: sehrli ramzlar.
  24. ^ Bruks Devis (2008). "FreeBSD uchun turli xil ramziy havolalar" (PDF).
  25. ^ Nil Braun (2016). "Variant ramzlari uchun ish". LWN.

Tashqi havolalar

  • Savol-javob: Qattiq va yumshoq bog'lanishlar o'rtasidagi farq Linuxga nisbatan
  • Birlashma: NTFS ulanish nuqtalarini saqlash (Windows 2000 va undan yuqori versiyalar uchun)
  • FSUtil Hardlink: FSUtil buyruq qatori vositasi yordamida qattiq bog'lanishlar yaratish uchun Microsoft Technet sahifasi (Windows 2000 va undan yuqori versiyalar uchun)
  • Link Shell kengaytmasi: Windows Explorer kontekst menyusi, qattiq bog'lanishni ta'minlash uchun qo'shimcha belgilar va xususiyatlar varag'i ishlovchisi, NTFS ulanish nuqtalari, ramziy havolalar va boshqalar.
  • Windows XP uchun ramziy drayvlar (yapon tilida): fayl tizimi drayverlari Windows XP uchun Symbolic Links-ni yoqadi (shuningdek, Link Shell Extension saytida aks ettirilgan). Mavjud manbalar.

Ushbu maqola olingan ma'lumotlarga asoslangan Kompyuterning bepul on-layn lug'ati 2008 yil 1-noyabrgacha va "reitsenziyalash" shartlariga kiritilgan GFDL, 1.3 yoki undan keyingi versiyasi.