Bosh sahifa Wiki Papka

Papka

Papka — fayl tizimida fayl va boshqa papkalarni nomlar orqali tartibga soluvchi konteynerdir. Texnik adabiyotda u directory yoki katalog deb ataladi. Papka ma’lumotning o‘zini bitta katta fayl sifatida birlashtirmaydi; u nomlarni fayl tizimidagi obyektlar bilan bog‘lab, ierarxik yo‘l hosil qiladi.

Ierarxik tuzilma

Fayl tizimi odatda ildiz papkadan boshlanuvchi daraxt ko‘rinishiga ega. Har papka ichida fayl va ichki papka bo‘lishi mumkin. /home/user/docs/report.md yo‘lida home, user va docs kataloglar, report.md esa oxirgi obyekt nomidir. Windowsda disk harfi va teskari chiziq ishlatilishi mumkin, masalan C:\Users\User\Docs.

Absolute path obyektning ildizdan to‘liq joyini ko‘rsatadi. Relative path joriy ishchi papkaga nisbatan hisoblanadi. . joriy, .. esa ota katalogni bildiradi. Relative yo‘lni talqin qilishda jarayonning working directory holati muhim.

Katalog yozuvlari

Unixsimon fayl tizimida papka maxsus turdagi fayl bo‘lib, nomlarni inode raqamlari bilan bog‘laydigan yozuvlarni saqlaydi. Faylning hajmi va ruxsati kabi metadata inode ichida turadi. Bitta inode hard link sabab turli papkalarda bir nechta nomga ega bo‘lishi mumkin.

Symbolic link esa boshqa yo‘lni matn sifatida ko‘rsatadigan alohida obyekt. U fayl yoki papkaga yo‘naltiriladi, ammo nishon ko‘chirilsa yoki o‘chirilsa, link ishlamay qolishi mumkin. Katalog daraxtini aylanib chiqadigan dastur symbolic link sikllarini hisobga oladi.

Ruxsatlarning ma’nosi

Unix katalogida ruxsat bitlari oddiy fayldagidan biroz boshqacha talqin qilinadi:

  • read katalogdagi nomlar ro‘yxatini ko‘rishga imkon beradi;
  • write yozuv yaratish, o‘chirish yoki nomini almashtirishga imkon beradi;
  • execute katalog orqali o‘tish va ma’lum nomga murojaat qilishga imkon beradi.

Faylni o‘chirish imkoniyati ko‘pincha faylning o‘z ruxsatidan emas, uning ota katalogidagi write va execute huquqlaridan kelib chiqadi. Sticky bit umumiy yoziladigan katalogda foydalanuvchining boshqalarga tegishli obyektlarni o‘chirishini cheklaydi.

Dasturiy loyihadagi vazifasi

Loyiha papkalari kod, test, konfiguratsiya, statik aktiv va hujjatlarni ajratadi. Tuzilish build vositasi yoki framework konvensiyasiga bog‘liq bo‘lishi mumkin. Papka nomini tasodifiy o‘zgartirish import, route yoki deploy jarayonini buzadi, agar ular shu yo‘lga tayangan bo‘lsa.

Maxsus holatlar

Bo‘sh papka ham metadata va katalog yozuviga ega. Ko‘plab versiya nazorati tizimlari, jumladan Git, bo‘sh katalogni alohida obyekt sifatida kuzatmaydi; amalda ichiga placeholder fayl qo‘yiladi. Mount point orqali boshqa fayl tizimi mavjud katalog daraxtiga ulanadi va foydalanuvchiga yagona ierarxiya sifatida ko‘rinadi.

Nom to‘qnashuvi va traversal

Bir papka ichida ayni nomli ikkita yozuv bo‘la olmaydi, ammo katta-kichik harfni farqlash fayl tizimiga bog‘liq. Readme va README Linuxdagi ayrim tizimlarda alohida, case-insensitive tizimda esa bir obyekt bo‘lishi mumkin. Arxiv yoki foydalanuvchi kiritgan yo‘lni ochishda ../ segmenti kutilgan katalogdan tashqariga chiqishi mumkin; bu path traversal xavfidir. Dastur yo‘lni canonical shaklga keltirib, yakuniy manzil ruxsat etilgan ildiz ichida qolishini tekshiradi. Faqat matndan ..ni o‘chirish yetarli emas, chunki symbolic link va kodlangan ajratgichlar ham haqiqiy yo‘lga ta’sir qiladi.

Katalogni ko‘chirish

Bitta fayl tizimi ichida katalog nomini almashtirish tez metadata amali bo‘lishi mumkin. Boshqa qurilmaga ko‘chirish esa barcha ichki obyektlarni nusxalab, keyin manbani o‘chirishni talab qiladi. Amal o‘rtada uzilsa, ikki tomonda qisman nusxa qolishi mumkin. Dastur bunday ko‘chirishni atomar deb qabul qilmaydi va yakuniy tarkibni tekshiradi.

Bog‘liq tushunchalar

directory, fayl, path, inode, symbolic link, permission, mount point