Mundarija (29)
- Bu darsda
- 1. Nega bu kerak?
- 2. Fayl, papka va fayl tizimi
- 2.1 Fayl
- 2.2 Papka
- 2.3 Fayl tizimi
- 3. Papkalar daraxti va ildiz
- 3.1 Teskari daraxt
- 3.2 Windows: har diskning o'z ildizi
- 3.3 Linux va macOS: bitta umumiy ildiz
- 3.4 Muhim papkalar
- 4. Fayl kengaytmalari
- 4.1 Kengaytma nima
- 4.2 Nega kengaytmalarni ko'rsatish shart
- 5. Yashirin fayllar
- 5.1 Linux va macOS: nuqta bilan boshlanadigan nomlar
- 5.2 Windows: yashirinlik — nom emas, belgi
- 6. Fayl tizimi turlari
- 7. Ko'p uchraydigan xatolar
- 7.1 index.html.txt tuzog'i
- 7.2 Katta fayl fleshkaga sig'maydi
- 7.3 Kengaytmani o'zgartirib, formatni o'zgartirmoqchi bo'lish
- 7.4 Loyihalarni tartibsiz joylarda saqlash
- 8. Mashqlar
- 1-mashq (oson): Daraxtni o'qing
- 2-mashq (o'rta): Ish joyini tayyorlang
- 3-mashq (qiyin): Fleshka muammosi
- 9. Real ishda
- Xulosa
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.pngnirasm.mp3deb 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:
- Ikki kengaytma tuzog'i. Siz yangi matn fayl yaratib, uni
index.htmldeb nomlaysiz. Aslida uindex.html.txtbo'lib qoladi — yashirilgan.txtjoyida turibdi. Brauzer uni sahifa emas, oddiy matn deb ochadi. - Aldamchi fayllar. Firibgarlar zararli dasturni
foto.jpg.exedeb nomlaydi. Kengaytmalar yashirin bo'lsa, sizfoto.jpgni 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.jsdeb 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
.envfaylini 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:
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:
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.
style.cssqaysi papkada turibdi? Javob:malikapapkasining ota papkasi qaysi? Javob:
Yechim
style.css—saytpapkasi ichida,index.htmlbilan yonma-yon.malika—homeichida. Demak uning ota papkasi —home. Linux'da har foydalanuvchining uy papkasi/homeichida turadi.
2-mashq (o'rta): Ish joyini tayyorlang
Kompyuteringizda quyidagilarni bajaring:
- Kengaytmalarni va yashirin elementlarni ko'rsatishni yoqing (yo'llari yuqorida, kengaytmalar va yashirin fayllar bo'limlarida).
- Loyihalar uchun papka yarating: Windows'da
C:\loyihalar, macOS'da uy papkangizdaloyihalar. - Uning ichida
birinchi-saytpapkasini oching. - Ichida
index.htmlnomli bo'sh fayl yarating. Uning nomi rostdanindex.htmlekanini,.txtqo'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.
- Muammoning sababi nima?
- Fleshkani qaysi fayl tizimiga formatlash kerak? Nega NTFS emas?
- Formatlashdan oldin nima qilish kerak?
Yechim
- Fleshka FAT32 da. Unda bitta fayl 4 GB dan oshmaydi, bo'sh joy esa bunga ta'sir qilmaydi.
- exFAT. U katta fayllarni saqlaydi va Windows, macOS, Linux'da ham ishlaydi. NTFS ga formatlansa, MacBook fleshkani o'qiydi, lekin unga yoza olmaydi.
- 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/wwwyoki/home/<foydalanuvchi>ichida turadi, sozlamalar/etcda, jurnallar esa/var/logda. - Intervyu: "Linux'da
/etcva/var/logda 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.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!