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

Fayl va papka nomlash qoidalari

Qisqacha: Dasturchi fayl va papkalarni faqat kichik lotin harflari, raqamlar va chiziqcha bilan nomlaydi: mahsulot-royxati.html. Bo'sh joy, apostrof, kirill harflari va ? : * # kabi belgilar terminalda, URL'da va serverda xato beradi. Sana bilan nomlashda YYYY-MM-DD tartibi fayllarni to'g'ri saralaydi.

Bu darsda

  • Fayl nomidagi bo'sh joy, apostrof va kirill harflari qanday muammo berishini tushuntira olasiz.
  • Windows, macOS va Linux'da taqiqlangan belgilarni bilasiz.
  • Nomni kebab-case va snake_case ga o'girib yoza olasiz.
  • index.html nega maxsus ekanini tushunasiz.
  • Sana va raqamli fayllarni to'g'ri saralanadigan qilib nomlay olasiz.

Oldin bilishingiz kerak: Yo'llar (path): absolyut va nisbiy, Matn kodlash: ASCII, Unicode va UTF-8.

1. Nega bu kerak?

Oddiy foydalanuvchi fayllarini xohlagancha nomlaydi:

text
Mening yangi rasmim (1).PNG
Diplom ishi OXIRGI variant!.docx
o'quvchilar ro'yxati.xlsx

Kompyuter bunday nomlar bilan ham ishlaydi. Lekin dasturchining fayllari keyin terminal buyruqlarida, sayt manzillarida va Linux serverda ishlatiladi. U yerda har bir bo'sh joy, apostrof yoki katta harf kutilmagan xatoga aylanadi: rasm ochilmaydi, skript noto'g'ri faylni o'chiradi, sayt havolasi xunuk va uzun bo'ladi.

Yaxshi nomlash — kichik odat, lekin u keyinchalik soatlab xato qidirishdan qutqaradi.

2. Oltin qoida

Qisqasi, fayl va papka nomida faqat shular bo'lsin:

  • kichik lotin harflari: a–z;
  • raqamlar: 0–9;
  • so'zlar orasida chiziqcha - (ba'zi joylarda pastki chiziq _);
  • kengaytmadan oldin bitta nuqta: .html, .png.
Yomon Yaxshi Nega
Mening rasmim.PNG mening-rasmim.png bo'sh joy va katta harf yo'q
o'quvchilar.html oquvchilar.html apostrof yo'q
Сайт.html sayt.html faqat lotin harflari
hisobot?.txt hisobot.txt taqiqlangan belgi yo'q

Qolgan bo'limlarda har bir qoidaning sababini ko'ramiz.

3. Bo'sh joy

3.1 Internet manzilida

URL'da (sayt manzilida) bo'sh joy bo'lishi mumkin emas. Brauzer uni avtomatik %20 ga almashtiradi:

text
https://example.com/mening%20rasmim.png

Bu ishlaydi, lekin xunuk. Uni odam o'qishi qiyin, nusxalaganda esa ko'pincha buziladi. URL tuzilishini URL anatomiyasi darsida ko'ramiz.

3.2 Terminalda

Terminal — kompyuterni matnli buyruqlar bilan boshqarish oynasi. Uni kursda keyinroq o'rganamiz, hozir faqat g'oyani tushuning. Terminal bo'sh joyni "keyingi so'z boshlandi" deb tushunadi.

Masalan, mening rasmim.png faylini o'chirish buyrug'ini yozsangiz, terminal buni ikki fayl deb o'qiydi: mening va rasmim.png. U bitta fayl o'rniga ikkita boshqa faylni o'chirishga urinadi. Nomni qo'shtirnoq ichiga olish yordam beradi, lekin har safar esda tutish kerak. Bo'sh joysiz nom esa bu muammoni butunlay yo'qotadi.

Tekshirib ko'ring: yillik hisobot 2026.pdf faylini URL'da ishlatsangiz, u qanday ko'rinadi?

Javob

yillik%20hisobot%202026.pdf. Har bir bo'sh joy %20 ga aylanadi. Yaxshisi — yillik-hisobot-2026.pdf.

4. Apostrof, kirill va o'zbekcha harflar

4.1 Apostrof

O'zbek so'zlarida apostrof ko'p: o'quvchi, ro'yxat, g'alaba. Lekin terminalda va dastur kodida ' — matnning boshi va oxirini belgilovchi maxsus belgi. o'quvchilar.html nomi buyruqni yarmida "uzib" qo'yadi va terminal yopilmagan matnni kutib qoladi.

Yana bir tuzoq: Matn kodlash darsidan eslang, apostrofning uch xil ko'rinishi bor (', ʻ, ‘). Birov faylni oʻquvchilar.html deb nomlaydi, boshqasi havolada o'quvchilar.html yozadi — fayl topilmaydi.

Yechim: fayl nomida apostrof ishlatmang: oquvchilar.html, royxat.html, galaba.png.

4.2 Kirill va boshqa lotin bo'lmagan harflar

Kirill harfli nom URL'da juda uzun kodga aylanadi. салом.html manzilda shunday ko'rinadi:

text
https://example.com/%D1%81%D0%B0%D0%BB%D0%BE%D0%BC.html

Har bir kirill harfi 2 bayt, har bayt esa % bilan uchta belgi — 5 harfli so'z 30 belgiga aylandi.

Yomonrog'i — homoglif (ko'rinishi bir xil, lekin boshqa alifbodagi harf). Lotin a va kirill а ekranda bir xil, lekin kompyuter uchun turli belgilar. Nomdagi bitta kirill harfi faylni "ko'rinmas" qilib qo'yadi: havola to'g'ri ko'rinadi, lekin ishlamaydi.

Tekshirib ko'ring: Nega ro'yxat.html o'rniga royxat.html yozish tavsiya etiladi, axir ma'nosi buziladi-ku?

Javob

Apostrof terminal va kodda maxsus belgi bo'lib, nomni "uzib" qo'yadi. Bundan tashqari, apostrofning uch xil ko'rinishi bor — bittasini adashtirsangiz, fayl topilmaydi. royxat biroz noodatiy ko'rinadi, lekin hech qayerda xato bermaydi. Fayl nomi odamga emas, avvalo dasturlarga mo'ljallangan.

5. Taqiqlangan va xavfli belgilar

5.1 OS taqiqlagan belgilar

Windows fayl nomida mana bu 9 ta belgini umuman qabul qilmaydi:

text
\  /  :  *  ?  "  <  >  |

Linux faqat / ni taqiqlaydi, macOS'ning Finder dasturi esa : ni. Bu farq tuzoq yasaydi: Linux serverda yaratilgan hisobot:1.txt faylini Windows'ga ko'chirib bo'lmaydi.

Windows'da yana band nomlar bor: CON, PRN, AUX, NUL, COM1, LPT1 va shunga o'xshashlar. Ular qadimdan qurilmalar uchun ajratilgan. Yangi Windows 11 ba'zilarini kengaytma bilan (con.html) ruxsat beradi, lekin eski Windows va ko'p dasturlar hanuz rad etadi. Bunday nomlardan butunlay qoching.

5.2 Ruxsat etilgan, lekin xavfli belgilar

Belgi Muammo
# URL'da "sahifa ichidagi joy" degani — undan keyingi qism serverga bormaydi
? & URL'da so'rov parametrlarini boshlaydi va ajratadi
% URL'da maxsus kodlarni boshlaydi (%20)
- nom boshida terminal uni buyruq sozlamasi deb o'ylaydi
. nom boshida Linux va macOS'da fayl yashirin bo'ladi
bo'sh joy yoki nuqta nom oxirida Windows jimgina olib tashlaydi

Tekshirib ko'ring: narx#1.html faylini saytga yukladingiz, lekin havola bosilganda sahifa topilmaydi. Nega?

Javob

URL'da # "sahifaning ichidagi joy" degani. Brauzer narx#1.html ni narx sahifasi va uning ichidagi 1.html joyi deb tushunadi. Serverdan faqat narx so'raladi. Nomni narx-1.html qiling.

6. Nomlash uslublari

Bo'sh joy ishlatib bo'lmasa, so'zlarni qanday ajratamiz? Buning bir nechta uslubi bor. Uslub nomlari ularning ko'rinishidan olingan:

Uslub Ko'rinishi Qayerda
kebab-case mahsulot-royxati.html veb fayllar, papkalar, URL
snake_case mahsulot_royxati.py Python fayllari, baza jadvallari
camelCase mahsulotRoyxati JavaScript o'zgaruvchilari
PascalCase MahsulotRoyxati.jsx React komponentlari
  • kebab-case — so'zlar chiziqcha bilan "shashlik sixiga" terilgandek. Hamma harf kichik.
  • snake_case — so'zlar pastki chiziq bilan, yerda yotgan ilondek.
  • camelCase — keyingi har so'z katta harf bilan, tuya o'rkachidek. Buni o'zgaruvchilar darsida ishlatasiz.
  • PascalCase — birinchi harf ham katta. React (sayt yasash uchun mashhur vosita — kursda alohida qism bor) fayllarida uchraydi, hozir bilish shart emas.

Veb-loyihalardagi fayl va papkalar uchun asosiy tanlov — kebab-case. Google ham URL'da so'zlarni chiziqcha bilan ajratishni tavsiya qiladi: u chiziqchani so'z ajratgich deb tushunadi.

To'liq yechilgan misol: "Yangi Mahsulotlar Ro'yxati" sarlavhasini fayl nomiga aylantiramiz.

  1. Hammasini kichik harf qilamiz: yangi mahsulotlar ro'yxati.
  2. Apostrofni olib tashlaymiz: yangi mahsulotlar royxati.
  3. Bo'sh joylarni chiziqcha qilamiz: yangi-mahsulotlar-royxati.
  4. Kengaytma qo'shamiz: yangi-mahsulotlar-royxati.html.

Endi siz: "Biz Haqimizda" sahifasi uchun kebab-case nom (kengaytmasiz). Javob:

Tekshirib ko'ring: buyurtma_tarixi qaysi uslubda yozilgan? Uni kebab-case'ga o'giring.

Javob

Bu snake_case — so'zlar pastki chiziq bilan ajratilgan. Kebab-case'da: buyurtma-tarixi.

7. index fayllar

Saytning deyarli har papkasida index.html turadi. Nega aynan index?

Veb-serverlar shunday sozlangan: foydalanuvchi faqat papka manzilini ochsa, server shu papkadagi index.html ni qidiradi va ko'rsatadi.

text
Foydalanuvchi ochdi:   https://example.com/kurslar/
Server ko'rsatdi:      kurslar/index.html

Shuning uchun manzilda index.html deb yozish shart emas. Manzil qisqa va chiroyli bo'ladi: example.com/kurslar/. Sayt papkalarini qanday tuzishni Ko'p sahifali sayt tuzilmasi darsida ko'ramiz.

Maslahat: index.html — kichik harflar bilan. Index.html yoki INDEX.HTML Linux serverda "bosh sahifa" deb tanilmaydi va sayt ochilmay qoladi.

8. Tartiblanadigan nomlar

8.1 Sana: YYYY-MM-DD

Hisobotlarni sana bilan nomlaysiz. Ko'pchilik o'zimizga odatiy tartibda yozadi — kun, oy, yil:

text
02-09-2026-hisobot.md
15-05-2026-hisobot.md
27-09-2026-hisobot.md

Kompyuter nomlarni harfma-harf solishtirib saralaydi. Shuning uchun turli oylarning 2-kuni oldinga chiqadi, may oyi esa sentyabr orasiga tushib qoladi. Xronologiya buzildi.

Xalqaro standart (ISO 8601) — yil, oy, kun: YYYY-MM-DD:

text
2026-05-15-hisobot.md
2026-09-02-hisobot.md
2026-09-27-hisobot.md

Endi harfma-harf saralash va vaqt bo'yicha saralash bir xil natija beradi: eskisidan yangisiga.

Endi siz: 2026-yil 3-mart uchun nom — -hisobot.md. Ishora: oy va kun doim ikki xonali, bir xonali songa oldidan 0 qo'shiladi.

8.2 Raqamlar: nol bilan to'ldirish

Darslarni 1-dars, 2-dars, ..., 10-dars deb nomladingiz. Terminal va ko'p dasturlar ularni shunday tartiblaydi:

text
1-dars
10-dars
11-dars
2-dars

Sababi o'sha: harfma-harf solishtirishda 1 belgisi 2 dan oldin keladi. Yechim — raqamlarni bir xil uzunlikda yozish: 01-dars, 02-dars, ..., 10-dars. Bu kurs darslari ham aynan shunday nomlangan.

8.3 "Oxirgi-final-2" muammosi

hisobot-final.docx, hisobot-final-2.docx, hisobot-ENG-OXIRGISI.docx — tanish holatmi? Qaysi biri haqiqiy oxirgisi ekanini hech kim bilmaydi. Dasturchilar buni Git (fayl versiyalarini saqlaydigan vosita) bilan hal qiladi. Git'ni kursda alohida qismda o'rganamiz.

Tekshirib ko'ring: Qaysi nom boshqalardan oldin saralanadi: 2025-12-31-log.txt yoki 2026-01-01-log.txt?

Javob

2025-12-31-log.txt. Birinchi farq yil qismida: 2025 < 2026. YYYY-MM-DD formatida eng muhim qism (yil) eng oldinda turgani uchun alifbo tartibi vaqt tartibiga mos keladi.

9. Yo'l uzunligi: Windows'dagi 260 belgi

Windows'da eskidan qolgan cheklov bor: faylning to'liq yo'li (C:\ dan kengaytmagacha) taxminan 260 belgidan oshmasligi kerak. Bu cheklov MAX_PATH deb ataladi.

Chuqur papkalar va uzun nomlar yig'ilib qolsa, Windows faylni ko'chira olmaydi:

text
The file name(s) would be too long for the destination folder.

Tarjimasi: "Fayl nomi manzil papka uchun juda uzun bo'lib qoladi". Git esa Filename too long ("fayl nomi juda uzun") xatosini beradi.

Oldini olish:

  • Loyihalarni diskning ildiziga yaqin saqlang: C:\loyihalar\ — C:\Users\Ali\Documents\Ish\2026\Mijozlar\... emas.
  • Papka va fayl nomlarini qisqa, lekin tushunarli qiling.

Windows 10 va 11 da bu cheklovni sozlamalar orqali o'chirish mumkin, Git uchun ham alohida sozlama bor. Lekin hamma dastur buni qo'llab-quvvatlamaydi. Shuning uchun eng ishonchli yo'l — yo'llarni boshidanoq qisqa saqlash.

10. Ko'p uchraydigan xatolar

10.1 Foydalanuvchi nomida bo'sh joy yoki kirill

Windows o'rnatilganda foydalanuvchi nomi Ali Valiyev yoki Алишер deb berilgan. Uy papkasi C:\Users\Ali Valiyev yoki C:\Users\Алишер bo'ladi. Ba'zi dasturchi vositalari bunday yo'lni to'g'ri o'qiy olmaydi va tushunarsiz xato beradi.

Yechim: loyihalarni uy papkasidan tashqarida saqlang: C:\loyihalar\. Yangi kompyuterda esa foydalanuvchi nomini lotin harflarida va bo'sh joysiz bering (ali).

10.2 Katta harfli nom

Faylni Logo.PNG deb saqladingiz, kodda logo.png deb yozdingiz. Windows'da ishlaydi, Linux serverda 404 (Not Found). Buni Yo'llar darsida ko'rgandik. Yechim: hamma nomlar kichik harflarda — kengaytma ham.

10.3 Nomda # yoki ?

Fayl kompyuterda ochiladi, saytda esa topilmaydi — URL uni boshqacha o'qiydi. Nomda faqat harf, raqam va - qoldiring.

10.4 Aralash uslub

Bir loyihada mahsulot_royxati.html, MahsulotKarta.html va aloqa-sahifa.html — qaysi uslub qayerda ekanini eslab qolish qiyin. Yechim: loyihada bitta uslubni tanlang (veb uchun kebab-case) va unga qat'iy amal qiling.

11. Mashqlar

1-mashq (oson): To'g'ri nomni tanlang

Qaysi nomlar veb-loyiha uchun to'g'ri?

  1. aloqa.html
  2. Biz haqimizda.html
  3. narxlar-2026.html
  4. o'quv-markaz.html
  5. galereya#yangi.html
Yechim

To'g'ri: 1 va 3 — kichik lotin harflari, raqam va chiziqcha.

  • 2 — bo'sh joy va katta harf bor.
  • 4 — apostrof bor. To'g'risi: oquv-markaz.html.
  • 5 — # URL'da sahifa ichidagi joyni bildiradi. To'g'risi: galereya-yangi.html.

2-mashq (o'rta): Qayta nomlang

Quyidagi fayllarni kebab-case va to'g'ri sana formatiga keltiring (kengaytmani kichik harf qiling):

  1. Asosiy Sahifa.HTML
  2. Uslublar_Asosiy.css
  3. 27.09.2026 Hisobot.md
  4. 3-dars.md (darslar soni 10 dan oshadi)
Yechim
  1. asosiy-sahifa.html — kichik harflar, bo'sh joy o'rniga -.
  2. uslublar-asosiy.css — _ o'rniga -, kichik harflar.
  3. 2026-09-27-hisobot.md — sana YYYY-MM-DD tartibida.
  4. 03-dars.md — 10 dan ortiq dars bo'lsa, 10-dars bilan to'g'ri saralanishi uchun nol qo'shiladi.

3-mashq (qiyin): Loyiha tuzilmasini loyihalang

Malika fotograf uchun sayt qilmoqchi. Saytda bosh sahifa, "Biz haqimizda", "Narxlar" sahifalari va to'y hamda tug'ilgan kun suratlari galereyasi bor. Suratlar sana bo'yicha tartiblansin.

Papka va fayl nomlarini yozing. Har bir nom tanlovingizni bir gap bilan izohlang.

Yechim

Bir mumkin bo'lgan yechim:

text
fotograf-sayt/
├── index.html
├── biz-haqimizda.html
├── narxlar.html
├── css/
│   └── style.css
└── rasmlar/
    ├── toy/
    │   ├── 2026-05-14-01.jpg
    │   └── 2026-05-14-02.jpg
    └── tugilgan-kun/
        └── 2026-08-03-01.jpg
  • index.html — server bosh sahifa sifatida o'zi topadi.
  • biz-haqimizda.html — kebab-case, bo'sh joy va katta harfsiz.
  • toy, tugilgan-kun — apostrof olib tashlangan (to'y → toy).
  • 2026-05-14-01.jpg — sana oldinda va YYYY-MM-DD tartibida, bir kundagi suratlar esa 01, 02 bilan raqamlangan.

Boshqacha nomlar ham to'g'ri bo'lishi mumkin — asosiysi, qoidalar bajarilgan bo'lsin.

12. Real ishda

  • URL va SEO: fayl nomi ko'pincha sahifa manziliga aylanadi. narxlar.html — example.com/narxlar.html. Toza nom — toza manzil, Google ham uni yaxshiroq tushunadi.
  • Freymvorklar: ba'zi zamonaviy vositalarda (masalan, Next.js — kursda alohida qism bor) papka nomi to'g'ridan-to'g'ri sayt manziliga aylanadi. Noto'g'ri nom — noto'g'ri manzil.
  • Jamoa qoidalari: kompaniyalarda nomlash qoidalari yozib qo'yiladi va maxsus vositalar ularni avtomatik tekshiradi. Kod ichidagi nomlarni Toza kod: nomlash darsida o'rganamiz.
  • Loglar va backuplar: serverda 2026-09-27-backup.sql kabi nomlar odatiy — kerakli kunni topish bir qarashda.

Xulosa

  • Fayl nomida faqat kichik lotin harflari, raqamlar va - (ba'zan _).
  • Bo'sh joy URL'da %20 ga aylanadi, terminalda esa nomni ikkiga bo'ladi.
  • Apostrof va kirill harflari terminal, kod va URL'da muammo beradi — ularsiz yozing.
  • Veb fayllar uchun kebab-case. Papkaning bosh sahifasi — index.html.
  • Sana — YYYY-MM-DD, raqamlar — 01, 02: shunda alifbo tartibi to'g'ri ishlaydi.
  • Windows'da yo'l ~260 belgidan oshmasin — loyihalarni C:\loyihalar\ kabi qisqa joyda saqlang.

Keyingi dars: Fayl ruxsatlari va foydalanuvchilar — kim qaysi faylni o'qishi, o'zgartirishi va ishga tushirishi mumkinligini ko'ramiz.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
Fayl va papka nomlash qoidalari — IlmHamroh