Mundarija (30)
- Bu darsda
- 1. Nega bu kerak?
- 2. pwd — "Men qayerdaman?"
- 3. ls — "Bu yerda nima bor?"
- 3.1 Oddiy ro'yxat
- 3.2 ls -a: yashirinlari bilan
- 3.3 ls -l: batafsil ro'yxat
- 3.4 Birlashtirilgan: ls -lah
- 4. cd — papkaga o'tish
- 4.1 Asosiy harakatlar
- 4.2 Qadamma-qadam
- 4.3 cd - — "oldingi kanal"
- 4.4 Nomida bo'sh joy bor papka
- 5. Tab — nomni to'ldirish
- 6. Buyruqlar tarixi
- 6.1 ↑ va ↓
- 6.2 Ctrl + R — tarixdan qidirish
- 6.3 Qator ichida tez yurish
- 7. Ekranni tozalash
- 8. Ko'p uchraydigan xatolar
- 8.1 cd.. — bo'sh joysiz
- 8.2 No such file or directory
- 8.3 Not a directory
- 8.4 Git Bash'da Windows yo'lini qo'shtirnoqsiz yozish
- 9. Mashqlar
- 1-mashq (oson): Qayerda qoldik?
- 2-mashq (o'rta): Yo'lni yozing
- 3-mashq (qiyin): Terminalda sayohat
- 10. Real ishda
- Xulosa
Terminalda harakatlanish
Qisqacha: Terminalda yurish uch buyruqqa tayanadi:
pwd— "qayerdaman?",ls— "bu yerda nima bor?",cd— "boshqa papkaga o't".cd ..bir qavat yuqoriga chiqaradi,cdyolg'iz o'zi uy papkasiga,cd -esa oldingi papkaga qaytaradi. Nomni to'liq yozmang — birinchi harflarni yozib, Tab bosing. Eski buyruqni↑yokiCtrl + Rbilan toping.
Bu darsda
pwdbilan turgan joyingizni bilib olasiz.ls,ls -a,ls -lnatijalarini o'qiy olasiz, jumladanls -lning har bir ustunini.cdbilan absolyut va nisbiy yo'l orqali istalgan papkaga o'ta olasiz.- Tab bilan nomlarni to'ldirasiz va xato yozishdan qutulasiz.
- Buyruqlar tarixidan (
↑,Ctrl + R) foydalanasiz va ekranni tozalaysiz.
Oldin bilishingiz kerak: Yo'llar (path): absolyut va nisbiy, Terminal, shell va prompt, Buyruq anatomiyasi va yordam olish.
1. Nega bu kerak?
Explorer yoki Finder'da siz qaysi papkada turganingizni ko'rib turasiz: yuqorida manzil, o'rtada fayllar. Terminalda esa faqat prompt va miltillovchi kursor. Birinchi marta bu qorong'i xonaga kirgandek tuyuladi.
Bu darsda "chiroqni yoqamiz". Uchta buyruq bilan har doim qayerdaligingizni, atrofda nima borligini bilasiz va istalgan joyga o'tasiz. Keyingi barcha terminal ishlari — fayl yaratish, dastur ishga tushirish, serverda ishlash — shu uch buyruqdan boshlanadi.
Buyruqlarni o'qib qolmang — Git Bash, WSL'dagi Ubuntu yoki macOS terminalini ochib, birga yozib boring.
2. pwd — "Men qayerdaman?"
pwd — print working directory, "joriy papkani chiqar". Yo'llar darsida ko'rgan joriy papka (current working directory) — shell hozir "turgan" papka. Nisbiy yo'llar aynan shu papkadan hisoblanadi.
pwdNatija — joriy papkaning absolyut yo'li. Terminal yangi ochilganda odatda uy papkasida bo'lasiz:
| Qayerda | pwd natijasi |
|---|---|
| Ubuntu (WSL yoki server) | /home/ali |
| macOS | /Users/ali |
| Git Bash | /c/Users/Ali |
Git Bash'dagi yo'lga e'tibor bering: C:\Users\Ali u yerda /c/Users/Ali bo'lib ko'rinadi. Disk harfi kichik harfga aylanib, boshiga chiziq qo'yiladi. WSL'dagi /mnt/c/... ga o'xshaydi, faqat mnt yo'q.
Tekshirib ko'ring: Git Bash'da
pwd/d/darslar/htmlni ko'rsatdi. Explorer'da bu qaysi papka?
Javob
D:\darslar\html. Git Bash'da /d — D: diski, keyingi / lar Windows'dagi \ o'rnida turadi.
3. ls — "Bu yerda nima bor?"
3.1 Oddiy ro'yxat
ls — list, "ro'yxatla". Joriy papkadagi fayl va papkalarni chiqaradi:
lsDesktop Documents Downloads loyihalar rasm.pngKo'p terminallarda papkalar ko'k rangda, oddiy fayllar oq rangda chiqadi. Boshqa papkaning ichini ko'rish uchun uni argument qilib bering — o'sha papkaga o'tish shart emas:
ls loyihalar3.2 ls -a: yashirinlari bilan
-a (all) flagi nuqta bilan boshlanadigan yashirin fayllarni ham ko'rsatadi:
ls -a. .. .bash_history .gitconfig Desktop Documents loyihalarRo'yxat boshidagi ikkita g'alati nomni taniysizmi? . — joriy papkaning o'zi, .. — ota papka. Bular Yo'llar darsidagi nuqtalar — ular har bir papkada haqiqatan yozilgan. .bash_history — bash yozgan buyruqlaringizni saqlaydigan fayl (tarix bo'limida qaytamiz).
3.3 ls -l: batafsil ro'yxat
-l (long) har bir element haqida to'liq ma'lumot beradi. Biz Git Bash'da ishga tushirdik:
-rw-r--r-- 2 Ali 197121 6 Sep 27 19:31 asl.txt
drwxr-xr-x 1 Ali 197121 0 Sep 27 19:30 loyihaBirinchi qatorni bo'laklaymiz:
| Qism | Misolda | Ma'nosi |
|---|---|---|
| Birinchi belgi | - |
Tur: - — fayl, d — papka, l — symlink |
| Ruxsatlar | rw-r--r-- |
Ega, guruh, boshqalar (Ruxsatlar darsi) |
| Son | 2 |
Nechta nom bog'langan (hard link) |
| Ega va guruh | Ali 197121 |
Kimga tegishli |
| Hajm | 6 |
Baytlarda |
| Sana | Sep 27 19:31 |
Oxirgi o'zgartirilgan vaqti |
| Nom | asl.txt |
Fayl yoki papka nomi |
Oldingi darslarda o'rgangan narsalaringiz bitta qatorda jamlandi. Git Bash'da guruh o'rnida 197121 kabi raqam chiqishi normal — Windows guruhlarni boshqacha saqlaydi.
3.4 Birlashtirilgan: ls -lah
Oldingi darsda qisqa flaglarni birlashtirishni o'rgandik. Dasturchilar ko'pincha shunday yozadi:
ls -lah-l batafsil, -a hammasi, -h hajmni 4.0K, 2.4M ko'rinishida ko'rsatadi. -h faqat -l bilan birga ma'noga ega — hajm ustuni -l da chiqadi.
Tekshirib ko'ring:
ls -lnatijasida qatordrwxr-xr-xbilan boshlanyapti. Bu fayl yoki papka? Egasi unga yoza oladimi?
Javob
Papka — birinchi belgi d (directory). Keyingi uch belgi rwx — egasining huquqlari: o'qish, yozish va kirish. Ha, egasi yoza oladi.
4. cd — papkaga o'tish
4.1 Asosiy harakatlar
cd — change directory, "papkani almashtir". Unga boradigan joyning yo'lini berasiz. Misollar uchun shu papkalar daraxtini olaylik:
flowchart TD
H["/home/ali (uy papkasi, ~)"] --> L["loyihalar"]
H --> R["rasmlar"]
L --> S["sayt"]
S --> C["css"]| Buyruq | Qayerga olib boradi |
|---|---|
cd loyihalar |
Joriy papka ichidagi loyihalar ga |
cd loyihalar/sayt |
Ikki qavat pastga birdaniga |
cd .. |
Bir qavat yuqoriga — ota papkaga |
cd ../.. |
Ikki qavat yuqoriga |
cd yoki cd ~ |
Uy papkasiga |
cd /home/ali/rasmlar |
Absolyut yo'l — qayerda turganingizdan qat'i nazar |
cd - |
Oldingi turgan papkaga |
cd muvaffaqiyatli bo'lsa, hech narsa yozmaydi — faqat prompt'dagi papka nomi o'zgaradi. Ishonch uchun pwd bilan tekshiring.
4.2 Qadamma-qadam
Keling, daraxt bo'ylab yuramiz. Har qatordan keyin shell qayerda ekanini izohda yozdik:
cd ~ # /home/ali
cd loyihalar/sayt # /home/ali/loyihalar/sayt
cd css # /home/ali/loyihalar/sayt/css
cd ../.. # /home/ali/loyihalar
cd ../rasmlar # /home/ali/rasmlar# dan keyingi matn — izoh: shell uni o'qimaydi, u faqat siz uchun. Oxirgi qatorga e'tibor bering: ../rasmlar — "bir qavat yuqoriga chiq, keyin rasmlar ga kir".
4.3 cd - — "oldingi kanal"
Televizor pultidagi "oldingi kanal" tugmasini eslang. cd - ham shunday: ikki papka orasida sakrash uchun.
cd /home/ali/loyihalar/sayt/css
cd /home/ali/rasmlar
cd -/home/ali/loyihalar/sayt/csscd - qaytgan papkasini ekranga ham yozib qo'yadi. Yana cd - desangiz — rasmlar ga qaytadi.
Diqqat:
cd -bash, zsh va Git Bash'da ishlaydi. Windows'dagi eski PowerShell 5.1'da ishlamaydi — biz tekshirdik, u-degan papkani qidiradi.
4.4 Nomida bo'sh joy bor papka
cd "Mening hujjatlarim"Qo'shtirnoqsiz shell ikki argument ko'radi (Buyruq anatomiyasi darsidagi qoida). Tab bilan to'ldirsangiz, shell o'zi Mening\ hujjatlarim deb yozadi: \ — "keyingi bo'sh joy nomning bir qismi" degani.
Tekshirib ko'ring: Siz
/home/ali/loyihalar/sayt/cssdasiz. Bitta nisbiy yo'l bilan/home/ali/rasmlarga o'tadigan buyruqni yozing.
Javob
cd ../../../rasmlar. Uch marta yuqoriga: css → sayt → loyihalar → ali. Keyin rasmlar ga kiramiz. Absolyut yo'l bilan ham bo'ladi: cd ~/rasmlar — ko'pincha bu qisqaroq.
5. Tab — nomni to'ldirish
Uzun nomlarni qo'lda yozish sekin va xatoga olib keladi. Shuning uchun dasturchilar Tab tugmasini ishlatadi:
cd lodeb yozing va Tab bosing.- Shell nomni o'zi to'ldiradi:
cd loyihalar/. - Bir xil boshlanadigan bir nechta nom bo'lsa (
loyihalar,loyiha-eski), birinchi Tab hech narsa qilmaydi. Tab'ni ikki marta bosing — shell barcha variantlarni ko'rsatadi. Yana bir-ikki harf qo'shib, Tab bosing.
Tab faqat mavjud narsani to'ldiradi. Tab bosdingiz, lekin hech narsa bo'lmadi va variant ham chiqmadi — demak bunday nomli fayl yoki papka yo'q. Xato yozganingizni Enter bosmasdan bilib olasiz.
Tab buyruq nomlarini ham to'ldiradi: whoa + Tab → whoami.
Maslahat: PowerShell'da Tab variantlar orasida aylanadi: har bosishda keyingi mos nomni qo'yadi.
6. Buyruqlar tarixi
6.1 ↑ va ↓
Klaviaturadagi yuqoriga strelka oxirgi buyruqni qaytaradi. Yana bossangiz — undan oldingisini. Kerakli buyruq chiqqach, Enter bosasiz yoki avval tahrirlaysiz.
Tarixni ro'yxat qilib ko'rish ham mumkin:
history 101 cd loyihalar/sayt
102 ls -la
103 pwdBash tarixni uy papkangizdagi .bash_history fayliga saqlaydi — shuning uchun terminal yopilsa ham yo'qolmaydi.
6.2 Ctrl + R — tarixdan qidirish
Kecha yozgan uzun buyruqni ↑ bilan 50 marta bosib izlash noqulay. Ctrl + R bosing — pastda qidiruv qatori chiqadi:
(reverse-i-search)`':Buyruqdan bir bo'lak yozing, masalan sayt. Shell tarixdagi eng yaqin mos buyruqni ko'rsatadi:
(reverse-i-search)`sayt': cd loyihalar/saytEnter— shu buyruqni bajaradi.- Yana
Ctrl + R— undan oldingi mos buyruq. →— buyruqni tahrirlash uchun qatorga oladi.Ctrl + GyokiEsc— qidiruvdan chiqish.
PowerShell'da ham Ctrl + R ishlaydi, faqat qidiruv qatori boshqacha yoziladi.
6.3 Qator ichida tez yurish
| Tugmalar | Nima qiladi |
|---|---|
Ctrl + A |
Qator boshiga |
Ctrl + E |
Qator oxiriga |
Ctrl + U |
Kursordan chapdagi hamma narsani o'chiradi |
Ctrl + L |
Ekranni tozalaydi |
Bular bash va zsh'da ishlaydi.
7. Ekranni tozalash
Ekran natijalar bilan to'lib ketsa:
clearyoki Ctrl + L. Ekran tozalanadi, lekin tarix joyida qoladi — ↑ bilan eski buyruqlarni baribir topasiz. PowerShell'da ham clear ishlaydi.
Tekshirib ko'ring:
clearbosgandan keyin↑tugmasi oldingi buyruqni ko'rsatadimi?
Javob
Ha. clear faqat ekrandagi matnni tozalaydi. Buyruqlar tarixi alohida saqlanadi va o'chmaydi.
8. Ko'p uchraydigan xatolar
8.1 cd.. — bo'sh joysiz
bash: cd..: command not found"cd.. degan buyruq topilmadi". Shell bo'sh joy bo'yicha bo'laklaydi va cd.. ni bitta so'z — buyruq nomi deb o'qiydi. Bunday buyruq yo'q. To'g'risi: cd ... (Windows'ning cmd va PowerShell'i cd.. ni kechiradi, bash kechirmaydi.)
8.2 No such file or directory
bash: cd: loyihalr: No such file or directory"Bunday fayl yoki papka yo'q". Sabablari: nomda xato (loyihalr), katta-kichik harf (Loyihalar va loyihalar Linux'da ikki xil), yoki papka boshqa joyda. Tuzatish: ls bilan qarang, nomni Tab bilan yozing, pwd bilan qayerdaligingizni tekshiring.
8.3 Not a directory
bash: cd: asl.txt: Not a directory"Bu papka emas". cd faqat papkaga kiradi, faylga emas. Faylni ochish uchun boshqa buyruqlar bor — ularni keyingi darsda ko'ramiz.
8.4 Git Bash'da Windows yo'lini qo'shtirnoqsiz yozish
Explorer'dan nusxalangan yo'lni yozdingiz:
bash: cd: C:UsersAli: No such file or directoryXatodagi yo'lda teskari chiziqlar yo'qolgan! Sababi: bash'da \ maxsus belgi ("keyingi belgini oddiy belgi deb ol"), shuning uchun shell ularni "yeb qo'ydi". Tuzatish: yo'lni qo'shtirnoqqa oling — cd "C:\Users\Ali" — yoki Git Bash usulida yozing: cd /c/Users/Ali. Ikkalasini ham sinab ko'rdik, ishlaydi.
9. Mashqlar
1-mashq (oson): Qayerda qoldik?
Shell /home/malika da turibdi. Ketma-ket bajarildi: cd darslar, cd html, cd ... Endi pwd nima chiqaradi?
Javob:
Yechim
cd darslar → /home/malika/darslar. cd html → /home/malika/darslar/html. cd .. bir qavat yuqoriga → /home/malika/darslar.
2-mashq (o'rta): Yo'lni yozing
Darsdagi daraxtdan foydalaning. Siz /home/ali/rasmlar dasiz. css papkasiga o'tish uchun:
- nisbiy yo'l bilan buyruq yozing;
~bilan boshlanadigan yo'l bilan yozing;- o'tgandan keyin bitta qisqa buyruq bilan yana
rasmlarga qayting.
Yechim
cd ../loyihalar/sayt/css— avvalaliga chiqamiz, keyin pastga uch qavat.cd ~/loyihalar/sayt/css—~uy papkasini bildiradi, qayerda turganingiz muhim emas.cd -— oldingi papkaga qaytaradi.
3-mashq (qiyin): Terminalda sayohat
O'z terminalingizda bajaring va har qadamda natijaga qarang:
- Uy papkangizga o'ting va
pwdbilan tekshiring. - Yashirin fayllar bilan batafsil ro'yxat chiqaring. Eng kamida bitta yashirin faylni toping.
ls -lnatijasidan bitta papka qatorini toping. Uni qanday tanidingiz?- Biror papkaga Tab yordamida kiring, keyin bitta buyruq bilan uy papkasiga qayting.
Ctrl + Rbosib,lsso'zi bor buyruqni tarixdan toping va Enter bilan qayta bajaring.
Yechim
cd
pwd
ls -la
cd Doc # Tab bosing — Documents/ gacha to'ldiriladi
cdcdyolg'iz o'zi uy papkasiga olib boradi.pwd— masalan/c/Users/Ali(Git Bash) yoki/home/ali.ls -la— nuqta bilan boshlanadigan nomlar yashirin:.bash_history,.gitconfigkabi.- Papka qatori
dharfi bilan boshlanadi, masalandrwxr-xr-x ... Documents. cd Doc+ Tab →cd Documents/. Qaytish —cdyokicd -.Ctrl + R, keyinls— shell eng oxirgilsli buyruqni ko'rsatadi, Enter uni bajaradi.
Sizda papka nomlari boshqacha bo'lishi mumkin — asosiysi, har qadamda natija nimani bildirishini tushunish.
10. Real ishda
- Loyihaga kirish. Dasturchining kuni ko'pincha
cd ~/loyihalar/dokonkabi buyruq bilan boshlanadi. Shundan keyinnpm run devkabi buyruqlar aynan shu papkada ishlaydi. - Serverda. Serverga ulangach birinchi savol — "qayerdaman?":
pwd, keyinls -la. Loglar odatda/var/logda —cd /var/log. - "Fayl topilmadi" xatolari. Ko'p xato dastur noto'g'ri joriy papkadan ishga tushirilgani uchun chiqadi. Tajribali dasturchi avval
pwdni tekshiradi. - Tezlik. Tab va
Ctrl + Rni ishlatadigan dasturchi terminalda sichqonchadagidan ancha tez ishlaydi. Bu odatni birinchi kundan shakllantiring.
Xulosa
pwd— joriy papkaning absolyut yo'li. Git Bash'daC:\Users\Ali→/c/Users/Ali.ls— ro'yxat;-ayashirinlari bilan (.va..ham),-lbatafsil,-hhajmni qulay ko'rsatadi.ls -lqatori: tur va ruxsatlar, nomlar soni, ega, hajm, sana, nom.cd papka,cd ..(bo'sh joy bilan!),cd— uyga,cd -— oldingi papkaga.- Tab nomni to'ldiradi va xatodan saqlaydi;
↑vaCtrl + Rtarixdan topadi;clearyokiCtrl + Lekranni tozalaydi.
Keyingi dars: Fayl va papkalar bilan ishlash — terminalda papka va fayl yaratish, nusxalash, ko'chirish va xavfsiz o'chirishni o'rganamiz.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!