Navigatsiya — pwd, cd, ls, absolyut va nisbiy yo'llar
Muammodan boshlaylik
Grafik interfeysda siz papkani ko'rib turasiz: ichida nima borligi, qayerda turganingiz. Terminalda — faqat prompt. "Men hozir qayerdaman? Bu yerda nima bor? U yerga qanday o'taman?" — uchta savol, uchta buyruq: pwd, ls, cd.
pwd — men qayerdaman?
pwd (print working directory) — joriy papka:
pwd
/home/otabek
Terminal ochilganda siz odatda uy papkangizda bo'lasiz.
ls — bu yerda nima bor?
ls
Documents loyihalar rasm.png eslatma.txt
Boshqa papkani ko'rish (u yerga o'tmasdan):
ls /etc
ls loyihalar
Muhim bayroqlar
ls -l
total 12
drwxr-xr-x 2 otabek otabek 4096 Nov 6 10:15 Documents
drwxr-xr-x 5 otabek otabek 4096 Nov 6 11:30 loyihalar
-rw-r--r-- 1 otabek otabek 2048 Nov 5 18:02 eslatma.txt
-rw-r--r-- 1 otabek otabek 845K Nov 4 09:44 rasm.png
Ustunlar:
drwxr-xr-x 2 otabek otabek 4096 Nov 6 10:15 Documents
│└───┬───┘ └──┬─┘ └──┬─┘ └┬─┘ └─────┬────┘ └───┬───┘
tur ruxsatlar egasi guruhi hajm o'zgargan vaqt nomi
- Birinchi belgi:
d— papka,-— oddiy fayl,l— havola (10-dars) - Ruxsatlar — 20-darsda batafsil
| Buyruq | Nima |
|---|---|
ls -a |
Yashirin fayllar bilan (.bashrc, .git) |
ls -l |
Batafsil ro'yxat |
ls -lh |
Hajmlar o'qiladigan: 845K, 1.2G |
ls -lt |
Vaqt bo'yicha, eng yangisi tepada |
ls -lS |
Hajm bo'yicha, eng kattasi tepada |
ls -R |
Ichki papkalar bilan |
ls -la |
Eng ko'p ishlatiladigan kombinatsiya |
Ko'p tizimlarda ll = ls -alF (alias).
ls -la
drwxr-x--- 8 otabek otabek 4096 Nov 6 11:30 .
drwxr-xr-x 4 root root 4096 Nov 1 09:00 ..
-rw-r--r-- 1 otabek otabek 3771 Nov 1 09:00 .bashrc
drwx------ 2 otabek otabek 4096 Nov 2 14:12 .ssh
...
. va .. — har bir papkada mavjud maxsus yozuvlar (quyida).
tree — daraxt ko'rinishi
sudo apt install tree
tree -L 2 loyihalar
loyihalar
├── blog
│ ├── index.html
│ └── style.css
└── dokon
├── package.json
└── src
-L 2 — 2 daraja chuqurlikkacha. Katta papkalarda (node_modules) ehtiyot bo'ling: tree -I node_modules.
cd — papkaga o'tish
cd loyihalar
pwd
/home/otabek/loyihalar
Maxsus yo'llar
| Yozuv | Ma'nosi |
|---|---|
. |
Joriy papka |
.. |
Ota papka (bir daraja yuqori) |
~ |
Uy papka |
- |
Oldingi papka |
/ |
Ildiz |
cd .. # bir daraja yuqoriga
cd ../.. # ikki daraja
cd ~ # uyga
cd # xuddi shu — argumentsiz cd uyga olib boradi
cd - # oldingi papkaga qaytish (ikki papka orasida "sakrash")
cd / # ildizga
Absolyut va nisbiy yo'llar
Bu — fayl tizimidagi eng muhim tushuncha.
Absolyut yo'l — / dan boshlanadi; qayerda turganingizdan qat'i nazar, bir xil joyni ko'rsatadi:
cd /home/otabek/loyihalar/dokon
cat /etc/hosts
Nisbiy yo'l — / siz; joriy papkadan hisoblanadi:
# Hozir: /home/otabek
cd loyihalar/dokon # → /home/otabek/loyihalar/dokon
cd ../blog # → /home/otabek/loyihalar/blog
cat ../../eslatma.txt # → /home/otabek/eslatma.txt
Misol — daraxt:
/home/otabek
├── eslatma.txt
└── loyihalar
├── blog
│ └── index.html
└── dokon
└── src
└── app.js
Siz /home/otabek/loyihalar/dokon/src da turibsiz. index.html ga yo'l:
- Absolyut:
/home/otabek/loyihalar/blog/index.html - Nisbiy:
../../blog/index.html - Uy orqali:
~/loyihalar/blog/index.html
[!TIP] Skriptlar va sozlama fayllarida (systemd, cron, nginx) absolyut yo'l ishlating — ular qaysi papkadan ishga tushirilishini oldindan bilib bo'lmaydi. Terminalda qo'lda ishlashda — nisbiy yo'l tezroq.
Bo'shliqli nomlar
cd Mening fayllarim # ❌ cd: too many arguments
cd "Mening fayllarim" # ✅
cd Mening\ fayllarim # ✅ (\ — keyingi belgini oddiy belgi qiladi)
Tab bosing — shell o'zi to'g'ri yozadi. Shu sababli Linux da fayl nomlarida bo'shliq o'rniga - yoki _ afzal: mening-fayllarim.
Amaliy oqim
cd ~/loyihalar # loyihalar papkasiga
ls # nima bor?
cd dokon # dokon ga kirdik
ls -la # batafsil, yashirinlari bilan
cd src && ls # src ga kirib, ro'yxat
cd - # dokon ga qaytish
pwd # tekshirish
Nima uchun shunday?
Nima uchun .. va . har bir papkada haqiqiy yozuv sifatida mavjud?
Chunki bu nisbiy yo'llarni universal qiladi: .. — har doim "ota papka", qanchalik chuqur bo'lmasin. Dastur yoki skript o'z joyini bilmasdan ham "yonimdagi papkadagi fayl" (../config/app.json) ga murojaat qila oladi. Loyihani boshqa joyga ko'chirsangiz — nisbiy yo'llar ishlashda davom etadi (absolyut yo'llar esa buziladi). Shuning uchun loyiha ichida nisbiy yo'llar, tizimga tashqaridan murojaat qilganda (cron, systemd) — absolyut yo'llar.
Xulosa
Eslab qoling:
pwd— qayerdaman;ls— nima bor;cd— o'tishls -la— batafsil + yashirin;-h— o'qiladigan hajm;-t— vaqt bo'yichals -ldagi birinchi belgi:dpapka,-fayl,lhavola.joriy,..ota,~uy,-oldingi,/ildiz- Absolyut yo'l
/dan; nisbiy — joriy papkadan - Bo'shliqli nomlar — qo'shtirnoq yoki Tab
- Skriptlarda — absolyut yo'llar
Keyingi dars
7-dars: Fayl va papkalar — touch, mkdir, cp, mv, rm