IlmHamroh
JavaScript Full-stack/1-qism. Kompyuter, fayllar va terminal11/40-dars11 daqiqa
Mundarija (29)

Fayl tizimi: papkalar daraxti va fayllar

Qisqacha: Fayl tizimi — diskdagi baytlarni nomlangan fayl va papkalarga aylantiradigan OS qismi. Hamma fayllar bitta ildizdan boshlanadigan daraxtda joylashadi: Linux va macOS'da ildiz — /, Windows'da har diskning o'z ildizi bor (C:\, D:\). Dasturchi fayl kengaytmalari va yashirin fayllarni doim ko'rinadigan qilib qo'yadi.

Bu darsda

  • Fayl, papka va fayl tizimi nima ekanini tushuntira olasiz.
  • Papkalar daraxtini o'qiy olasiz va ildiz, ota papka, uy papkasi tushunchalarini bilasiz.
  • Windows va Linux/macOS fayl tuzilishi farqini aytib bera olasiz.
  • Kengaytmalar va yashirin fayllarni ko'rinadigan qila olasiz.
  • Fleshka uchun to'g'ri fayl tizimini (NTFS, exFAT, FAT32) tanlay olasiz.

Oldin bilishingiz kerak: Operatsion tizim nima, O'lchov birliklari: KB, MB, GB.

1. Nega bu kerak?

Disk ichida papka ham, yorliq ham yo'q. U yerda faqat milliardlab baytlar ketma-ket turadi. Tasavvur qiling, rasmingizni topish uchun "u 1 048 576-baytdan boshlanib, 3 145 728-baytda tugaydi" deb eslab yurishingiz kerak. Bu imkonsiz.

Bu muammoni fayl tizimi hal qiladi. U baytlarni nomlangan fayllarga, fayllarni esa papkalarga tartiblaydi.

Dasturchi sifatida siz har kuni fayllar bilan ishlaysiz. Sayt — bu index.html, style.css va rasmlar papkasi. Loyiha sozlamalari esa .env yoki .gitignore kabi yashirin fayllarda turadi. Fayl tizimini tushunmasangiz, "fayl topilmadi" degan xatolar bilan ko'p vaqt yo'qotasiz.

2. Fayl, papka va fayl tizimi

2.1 Fayl

Fayl (file) — nomi bor baytlar to'plami. Ichidagi baytlardan tashqari, har faylda qo'shimcha ma'lumot ham saqlanadi:

  • nomi (hisobot.pdf);
  • hajmi (masalan, 245 KB);
  • yaratilgan va oxirgi o'zgartirilgan sanasi;
  • kim ochishi mumkinligi (ruxsatlar — keyingi darslarda).

Bu qo'shimcha ma'lumot metama'lumot (metadata) — "ma'lumot haqidagi ma'lumot" deyiladi. Windows'da faylni sichqonchaning o'ng tugmasi bilan bosib, "Properties" ("Xususiyatlar") ni tanlasangiz, uni ko'rasiz.

2.2 Papka

Papka (folder) — fayl va boshqa papkalarni guruhlaydigan "idish". Inglizcha adabiyotda u directory deb ham ataladi — bu so'zni terminal darslarida ko'p uchratasiz.

Papka ichida papka bo'lishi mumkin, uning ichida yana papka. Ichidagi papka ichki papka (subfolder), uni o'z ichiga olgan papka esa ota papka (parent folder) deyiladi.

2.3 Fayl tizimi

Fayl tizimi (file system) — diskdagi qaysi baytlar qaysi faylga tegishli ekanini yozib boradigan tizim. U OS ning bir qismi.

O'xshatish: kitobning mundarijasi. Kitob — disk, sahifalar — baytlar. Mundarijada "3-bob — 45-sahifa" deb yozilgan. Fayl tizimi ham diskning boshida shunday "mundarija" saqlaydi: "rasm.png — diskning mana shu joylarida". Siz fayl nomini aytasiz, OS mundarijaga qarab baytlarni topadi.

Tekshirib ko'ring: Faylning nomi va o'zgartirilgan sanasi fayl ichidagi baytlarning bir qismimi?

Javob

Yo'q. Bu metama'lumot — fayl tizimi uni fayl mazmunidan alohida saqlaydi. Shuning uchun faylning nomini o'zgartirsangiz, ichidagi baytlar o'zgarmaydi.

3. Papkalar daraxti va ildiz

3.1 Teskari daraxt

Fayl va papkalar daraxt shaklida tuzilgan. Lekin bu daraxt teskari: ildizi tepada, shoxlari pastga qarab o'sadi.

graph TD
  R["/ (ildiz)"] --> H["home"]
  R --> E["etc"]
  H --> A["ali"]
  H --> M["malika"]
  A --> L["loyihalar"]
  A --> RS["rasmlar"]
  L --> S["sayt"]
  S --> I["index.html"]
  S --> C["style.css"]
  • Ildiz (root) — eng yuqoridagi boshlang'ich nuqta. Hamma narsa shu yerdan tarqaladi.
  • Papkalar — shoxlar. Ular ichida boshqa shoxlar va barglar bor.
  • Fayllar — barglar. Ularning ichida boshqa narsa yo'q, faqat ma'lumot.

Diagrammada sayt papkasining ota papkasi — loyihalar. index.html ga yetish uchun ildizdan home → ali → loyihalar → sayt bo'ylab tushamiz.

Endi siz: rasmlar papkasining ota papkasi qaysi? Javob:

3.2 Windows: har diskning o'z ildizi

Windows'da har disk o'z harfiga ega va o'z daraxtining ildizi hisoblanadi: C:\, D:\. Fleshka ulasangiz, u yangi harf oladi, masalan E:\.

Nega asosiy disk C: dan boshlanadi, A: dan emas? Qadimda A: va B: harflari disketalar uchun band qilingan edi. Disketalar yo'qoldi, odat qoldi.

3.3 Linux va macOS: bitta umumiy ildiz

Linux va macOS'da ildiz bitta: /. Nechta disk ulasangiz ham, ular shu daraxt ichidagi papkaga aylanadi. Masalan, fleshka Ubuntu'da /media/ali/FLESHKA, macOS'da /Volumes/FLESHKA papkasida ko'rinadi.

3.4 Muhim papkalar

Har foydalanuvchining shaxsiy papkasi bor — uy papkasi (home folder). Hujjatlar, rasmlar va loyihalaringiz shu yerda turadi.

Nima Windows Linux macOS
Uy papkasi C:\Users\Ali /home/ali /Users/ali
O'rnatilgan dasturlar C:\Program Files /usr/bin /Applications
Tizim sozlamalari C:\Windows /etc /etc
Vaqtinchalik fayllar C:\Users\Ali\AppData\Local\Temp /tmp /tmp

Serverda ishlaganda /etc (sozlamalar) va /var/log (dastur jurnallari) papkalariga ko'p kirasiz. Ularni kursning Linux server qismida batafsil ko'ramiz.

Tekshirib ko'ring: Linux'da USB fleshka qaysi ildizda bo'ladi: o'zining alohida ildizidami yoki / ichidami?

Javob

/ ichida. Linux va macOS'da ildiz bitta, har qanday yangi disk shu daraxtning bir papkasiga ulanadi (masalan, /media/ali/FLESHKA). Alohida ildiz — Windows odati (E:\).

4. Fayl kengaytmalari

4.1 Kengaytma nima

Fayl nomi odatda ikki qismdan iborat: asosiy nom va nuqtadan keyingi kengaytma (extension): hisobot.pdf, rasm.png, app.js.

Kengaytma OS ga faylni qaysi dastur bilan ochishni aytadi:

Kengaytma Nima Odatda nima bilan ochiladi
.html veb-sahifa brauzer
.css sahifa bezagi kod muharriri
.js JavaScript kodi kod muharriri
.png, .jpg rasm rasm ko'rish dasturi
.zip arxiv arxiv dasturi

Ba'zi fayllarda kengaytma umuman yo'q: Dockerfile, Makefile, LICENSE. Ba'zilarida esa ikkita: arxiv.tar.gz.

Diqqat: Kengaytma — faqat nomning bir qismi, yorliq. U fayl ichidagi baytlarni o'zgartirmaydi. rasm.png ni rasm.mp3 deb qayta nomlasangiz, u qo'shiqqa aylanmaydi — shunchaki hech bir dastur uni ocha olmay qoladi. Bu mavzuni Matnli va binar fayllar darsida davom ettiramiz.

4.2 Nega kengaytmalarni ko'rsatish shart

Windows yangi o'rnatilganda kengaytmalarni yashiradi. Siz hisobot ni ko'rasiz, hisobot.pdf ni emas. Oddiy foydalanuvchi uchun qulay, dasturchi uchun esa xavfli:

  1. Ikki kengaytma tuzog'i. Siz yangi matn fayl yaratib, uni index.html deb nomlaysiz. Aslida u index.html.txt bo'lib qoladi — yashirilgan .txt joyida turibdi. Brauzer uni sahifa emas, oddiy matn deb ochadi.
  2. Aldamchi fayllar. Firibgarlar zararli dasturni foto.jpg.exe deb nomlaydi. Kengaytmalar yashirin bo'lsa, siz foto.jpg ni ko'rasiz va uni rasm deb ochasiz.

Kengaytmalarni yoqish:

  • Windows 11: File Explorer (Fayl boshqaruvchisi) → "View" ("Ko'rish") → "Show" ("Ko'rsatish") → "File name extensions" ("Fayl nomi kengaytmalari").
  • Windows 10: File Explorer → "View" yorlig'i → "File name extensions" belgisini qo'ying.
  • macOS: Finder → "Settings" ("Sozlamalar") → "Advanced" → "Show all filename extensions".

Tekshirib ko'ring: Kengaytmalar yashirin. Siz salom.js deb nom berdingiz, VS Code esa faylni oddiy matn deb ko'rsatyapti. Nima bo'lgan bo'lishi mumkin?

Javob

Fayl aslida salom.js.txt bo'lib qolgan. Kengaytmalarni yoqsangiz, bu darhol ko'rinadi. Oxiridagi .txt ni o'chirib, nomni to'g'rilang.

5. Yashirin fayllar

5.1 Linux va macOS: nuqta bilan boshlanadigan nomlar

Linux va macOS'da nomi nuqta bilan boshlanadigan fayl avtomatik yashirin bo'ladi: .gitignore, .env, .vscode, .ssh. Ular dotfiles ("nuqtali fayllar") deb ataladi. Odatda ularda sozlamalar saqlanadi.

Dasturchi ular bilan har kuni ishlaydi:

  • .gitignore — Git'ga qaysi fayllarni saqlamaslik kerakligini aytadi. Git'ni kursda alohida qismda o'rganamiz.
  • .env — parollar va maxfiy kalitlar. U hech qachon internetga chiqmasligi kerak.
  • .vscode — VS Code'ning shu loyiha uchun sozlamalari.

5.2 Windows: yashirinlik — nom emas, belgi

Windows'da nuqta bilan boshlanish faylni yashirmaydi. .env fayli Windows'da oddiy ko'rinadi. Bu yerda yashirinlik — faylga qo'yiladigan alohida "yashirin" belgisi (atributi). Masalan, har foydalanuvchida yashirin AppData papkasi bor. Unda dasturlarning sozlamalari saqlanadi.

Yashirin fayllarni ko'rsatish:

  • Windows 11: File Explorer → "View" → "Show" → "Hidden items" ("Yashirin elementlar").
  • macOS: Finder'da Cmd + Shift + . (nuqta) — yoqadi va o'chiradi.
  • Linux (Ubuntu): fayl boshqaruvchisida Ctrl + H.

Terminalda yashirin fayllarni ko'rish ham bor. Uni Terminalda harakatlanish darsida o'rganamiz.

Tekshirib ko'ring: Nega .env faylini yashirish foydali, lekin uni yashirish uni himoyalamaydi?

Javob

Yashirish faqat ko'rinishni tozalaydi: tasodifan o'chirib yoki ochib qo'ymaysiz. Lekin yashirin fayl baribir diskda turibdi va uni har kim yoqib ko'rishi mumkin. Haqiqiy himoya — ruxsatlar va faylni internetga (masalan, GitHub'ga) chiqarmaslik.

6. Fayl tizimi turlari

Baytlarni diskka joylashtirishning turli usullari bor. Har OS o'zining asosiy fayl tizimiga ega:

Fayl tizimi Asosan qayerda Xususiyati
NTFS Windows ishonchli, ruxsatlarni saqlaydi, katta fayllar
ext4 Linux, serverlar tez va barqaror
APFS macOS, iOS SSD uchun moslashtirilgan
exFAT fleshka, xotira kartasi Windows, macOS, Linux — hammasida ishlaydi
FAT32 eski fleshkalar eng mos keluvchan, lekin bitta fayl 4 GB dan oshmaydi

Tizimlar bir-birining fayl tizimini doim ham tushunavermaydi. macOS NTFS diskni o'qiydi, lekin unga yozmaydi. Windows ext4 ni o'zi ochmaydi. Shuning uchun turli kompyuterlarda ishlatiladigan fleshka uchun eng yaxshi tanlov — exFAT.

Tekshirib ko'ring: 6 GB lik filmni FAT32 fleshkaga ko'chirib bo'ladimi?

Javob

Yo'q. FAT32 da bitta fayl 4 GB dan oshmaydi. Fleshkada 30 GB bo'sh joy bo'lsa ham, 6 GB lik fayl sig'maydi. Fleshkani exFAT ga formatlash kerak (formatlash undagi hamma narsani o'chiradi — oldin nusxa oling).

7. Ko'p uchraydigan xatolar

7.1 index.html.txt tuzog'i

Brauzerda sahifa o'rniga HTML kodining o'zi matn bo'lib chiqdi. Sababi: fayl aslida index.html.txt. Yechim: kengaytmalarni ko'rsatishni yoqing va ortiqcha .txt ni o'chiring.

7.2 Katta fayl fleshkaga sig'maydi

Windows shunday deydi:

text
The file is too large for the destination file system.

Tarjimasi: "Fayl manzildagi fayl tizimi uchun juda katta". Bo'sh joy yetarli bo'lsa ham shunday chiqadi. Sababi: fleshka FAT32 da, fayl esa 4 GB dan katta. Yechim: fleshkani exFAT ga formatlang.

7.3 Kengaytmani o'zgartirib, formatni o'zgartirmoqchi bo'lish

rasm.png ni rasm.jpg deb qayta nomlamoqchisiz. Windows ogohlantiradi:

text
If you change a file name extension, the file might become unusable.

Tarjimasi: "Kengaytmani o'zgartirsangiz, fayl ishlamay qolishi mumkin". Windows haq: nom o'zgaradi, baytlar esa PNG'ligicha qoladi. Yechim: formatni o'zgartirish uchun rasm dasturida "Save as" ("Boshqacha saqlash") orqali JPEG tanlang.

7.4 Loyihalarni tartibsiz joylarda saqlash

Loyihalar "Desktop", "Downloads" va boshqa joylarga sochilib ketadi. Windows'da "Desktop" va "Documents" ko'pincha OneDrive bilan sinxronlanadi. Loyihadagi minglab mayda fayllar sinxronlanib, kompyuterni sekinlashtiradi. Yechim: barcha loyihalar uchun bitta papka oching: C:\loyihalar (Windows) yoki uy papkangizdagi loyihalar (macOS, Linux).

8. Mashqlar

1-mashq (oson): Daraxtni o'qing

Darsdagi daraxt diagrammasiga qarang.

  1. style.css qaysi papkada turibdi? Javob:
  2. malika papkasining ota papkasi qaysi? Javob:
Yechim
  1. style.css — sayt papkasi ichida, index.html bilan yonma-yon.
  2. malika — home ichida. Demak uning ota papkasi — home. Linux'da har foydalanuvchining uy papkasi /home ichida turadi.

2-mashq (o'rta): Ish joyini tayyorlang

Kompyuteringizda quyidagilarni bajaring:

  1. Kengaytmalarni va yashirin elementlarni ko'rsatishni yoqing (yo'llari yuqorida, kengaytmalar va yashirin fayllar bo'limlarida).
  2. Loyihalar uchun papka yarating: Windows'da C:\loyihalar, macOS'da uy papkangizda loyihalar.
  3. Uning ichida birinchi-sayt papkasini oching.
  4. Ichida index.html nomli bo'sh fayl yarating. Uning nomi rostdan index.html ekanini, .txt qo'shilmaganini tekshiring.
Yechim

Windows'da birinchi-sayt papkasi ichida sichqonchaning o'ng tugmasi → "New" ("Yangi") → "Text Document" ("Matnli hujjat"). Nomni to'liq index.html qilib yozing. Kengaytmalar ko'rinib turgani uchun eski .txt ham ko'rinadi — uni o'chiring. Windows kengaytma o'zgarishi haqida so'raydi — "Yes" ("Ha") ni bosing.

To'g'ri bajarilgan bo'lsa, faylning ikonkasi brauzer ikonkasiga aylanadi, "Type" ("Tur") ustunida esa "HTML" yoziladi. Bu papkadan keyingi darslarda foydalanamiz.

3-mashq (qiyin): Fleshka muammosi

Malika 6 GB lik videoni fleshkaga ko'chirmoqchi. Fleshka 32 GB, bo'sh joy 28 GB. Windows The file is too large for the destination file system deydi. Fleshkani keyin do'stining MacBook'ida ham ochish kerak.

  1. Muammoning sababi nima?
  2. Fleshkani qaysi fayl tizimiga formatlash kerak? Nega NTFS emas?
  3. Formatlashdan oldin nima qilish kerak?
Yechim
  1. Fleshka FAT32 da. Unda bitta fayl 4 GB dan oshmaydi, bo'sh joy esa bunga ta'sir qilmaydi.
  2. exFAT. U katta fayllarni saqlaydi va Windows, macOS, Linux'da ham ishlaydi. NTFS ga formatlansa, MacBook fleshkani o'qiydi, lekin unga yoza olmaydi.
  3. Fleshkadagi kerakli fayllarni boshqa joyga nusxalash. Formatlash undagi hamma narsani o'chiradi.

9. Real ishda

  • Loyiha tuzilmasi: har bir veb-loyiha papkalar daraxti: src/ (kod), public/ (rasm va boshqa fayllar), ildizda esa sozlama fayllari. Qanday tuzish kerakligini Ko'p sahifali sayt tuzilmasi darsida ko'ramiz.
  • Dotfiles: .gitignore, .env, .editorconfig — deyarli har loyihada bor. Ularni ko'rmaslik — "sozlama ishlamayapti" deb soatlab qidirishga olib keladi.
  • Server: saytingiz fayllari Linux serverda /var/www yoki /home/<foydalanuvchi> ichida turadi, sozlamalar /etc da, jurnallar esa /var/log da.
  • Intervyu: "Linux'da /etc va /var/log da nima turadi?" — DevOps va backend intervyularida uchraydigan savol.

Xulosa

  • Fayl — nomlangan baytlar to'plami va uning metama'lumoti. Papka — fayllarni guruhlaydigan "idish".
  • Fayl tizimi — diskning "mundarijasi": qaysi baytlar qaysi faylga tegishli.
  • Hamma narsa teskari daraxtda: Linux/macOS'da bitta ildiz /, Windows'da har diskning o'z ildizi (C:\).
  • Kengaytma — faqat nom qismi. Dasturchi kengaytmalar va yashirin fayllarni doim ko'rinadigan qiladi.
  • Linux/macOS'da nuqta bilan boshlanadigan fayl yashirin. Windows'da yashirinlik — alohida belgi.
  • Fleshka uchun exFAT: katta fayllar va barcha OS bilan moslik.

Keyingi dars: Yo'llar (path): absolyut va nisbiy — daraxtdagi istalgan faylning aniq manzilini yozishni o'rganamiz.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
Fayl tizimi: papkalar daraxti va fayllar — IlmHamroh