Fayl tizimi va navigatsiya
Terminalda ishlashning birinchi ko'nikmasi โ navigatsiya, ya'ni papkalar orasida yurish va nima qayerda joylashganini bilish. Bu darsda Linux fayl tizimining tuzilishini, joriy joyni aniqlash, papkalarni ko'rish, ular ichiga kirish va yangi papka yaratishni o'rganamiz.
Linux fayl tizimi tuzilishi
Windowsda disklar C:, D: kabi harflar bilan ajratiladi. Linuxda esa bitta daraxt bor: eng tepada / (root, ildiz) turadi, qolgan hamma narsa uning ichiga joylashadi. Barcha disklar, papkalar, hatto USB fleshka ham shu yagona daraxtga "ulanadi".
Ildizdagi asosiy papkalar va ularning vazifasi:
/โ ildiz (root), butun tizimning boshi;/homeโ foydalanuvchilar papkalari; masalan/home/azizโ Azizning shaxsiy papkasi;/rootโ bosh administrator (root) foydalanuvchining uy papkasi;/etcโ tizim va dasturlar sozlamalari (konfiguratsiya fayllari);/binva/usr/binโ bajariladigan dasturlar (buyruqlar shu yerda yashaydi);/varโ o'zgaruvchan ma'lumot: log'lar (/var/log), bazalar, kesh;/tmpโ vaqtinchalik fayllar, qayta yuklanganda tozalanadi;/optโ qo'shimcha (ixtiyoriy) dasturlar;/devโ qurilmalar (disk, terminal, klaviatura) fayl ko'rinishida;/mntva/mediaโ tashqi disklar va fleshkalar ulanadigan joy.
pwd โ joriy joyni aniqlash
Terminalda har doim biror papka "ichida" turasiz โ bu joriy ish papkasi (current working directory). Qayerda ekaningizni bilish uchun pwd (print working directory) buyrug'ini tering:
pwd
Natija sifatida to'liq yo'l chiqadi, masalan:
/home/aziz/loyihalar
Bu โ siz hozir loyihalar papkasida turganingizni bildiradi, u esa aziz ichida, u ham home ichida, u esa ildizda.
ls โ papka mazmunini ko'rish
ls (list) buyrug'i joriy papkadagi fayl va papkalar ro'yxatini chiqaradi:
ls
Bu qisqacha ro'yxatni beradi. Lekin ls ning flaglari (qo'shimcha sozlamalari) bilan ko'proq ma'lumot olish mumkin. Flaglar buyruqdan keyin - bilan yoziladi:
ls -l
-l (long) โ batafsil ro'yxat: har bir fayl alohida qatorda, ruxsatlari, egasi, hajmi va o'zgartirilgan sanasi bilan chiqadi. Masalan:
-rw-r--r-- 1 aziz aziz 2048 Jul 1 10:30 hujjat.txt
drwxr-xr-x 2 aziz aziz 4096 Jun 28 09:15 rasmlar
Boshidagi harf turini bildiradi: d โ papka (directory), - โ oddiy fayl. Ruxsatlar (rw-r--r--) haqida keyingi darsda batafsil gaplashamiz.
Boshqa foydali flaglar:
-a(all) โ yashirin fayllarni ham ko'rsatadi (nomi.bilan boshlanadigan fayllar, masalan.bashrc);-h(human-readable) โ hajmni odam o'qiy oladigan ko'rinishda:2K,5M,1G(odatda-lbilan birga);-tโ o'zgartirilgan vaqti bo'yicha saralaydi (eng yangisi tepada);-Rโ ichki papkalarni ham rekursiv ko'rsatadi.
Flaglarni birlashtirish mumkin. Eng ko'p ishlatiladigan kombinatsiya:
ls -lah
Bu โ batafsil (l) + yashirin fayllar bilan (a) + o'qishga qulay hajmda (h). Amalda deyarli har doim shu ko'rinishda ishlatiladi.
ls -l /etc. Bu /etc papkasi mazmunini ko'rsatadi, lekin joriy joyingiz o'zgarmaydi.cd โ papkalar orasida yurish
cd (change directory) buyrug'i joriy papkani o'zgartiradi. Papka nomini yozib, ichiga kirasiz:
cd loyihalar
Bu "loyihalar" papkasiga kiradi. Bir necha muhim maxsus shakllari bor:
cd ..โ bitta yuqoriga (ota-papkaga) chiqish;cdyokicd ~โ uy papkasiga qaytish (istalgan joydan);cd /โ ildizga o'tish;cd -โ oldingi turgan papkaga qaytish ("orqaga" tugmasi kabi).
Bir necha papkani ketma-ket o'tish uchun yo'lni / bilan yozasiz:
cd loyihalar/veb-sayt/src
Mutlaq va nisbiy yo'llar
Yo'l (path) ikki xil bo'ladi:
- Mutlaq yo'l (absolute) โ ildizdan (
/) boshlanadi, to'liq manzil. Masalan:/home/aziz/loyihalar. U qayerda turishingizdan qat'i nazar bir xil ishlaydi; - Nisbiy yo'l (relative) โ
/siz boshlanadi, joriy papkaga nisbatan hisoblanadi. Masalan,loyihalar/srcโ joriy papkadagi "loyihalar" ichidagi "src".
Misol bilan tushunaylik. Aytaylik, siz /home/aziz da turibsiz:
cd /home/aziz/loyihalar # mutlaq yo'l
cd loyihalar # nisbiy yo'l (natija bir xil)
Ikkalasi ham bir xil joyga olib boradi, chunki joriy papka /home/aziz edi.
Maxsus belgilar: ~ . ..
Yo'llarda uch qisqartma juda tez-tez ishlatiladi:
~(tilda) โ uy papkangiz, ya'ni/home/aziz. Masalan,cd ~/loyihalar=cd /home/aziz/loyihalar;.(bitta nuqta) โ joriy papka. Masalan,./skript.shโ shu papkadagi skriptni ishga tushirish;..(ikki nuqta) โ ota-papka (bitta yuqori).cd ..yuqoriga chiqaradi,cd ../..ikki pog'ona yuqoriga.
cd ~/loyihalar # uy papkasidagi loyihalar
cd ../boshqa # yuqoriga chiqib, boshqa papkaga kirish
ls .. # ota-papka mazmunini ko'rish (o'zi kirmasdan)
mkdir โ papka yaratish
mkdir (make directory) yangi papka yaratadi:
mkdir yangi-loyiha
Bir vaqtning o'zida bir necha papka yaratish ham mumkin:
mkdir hujjatlar rasmlar videolar
Agar ichma-ich (bir vaqtning o'zida ota va bola) papkalar yaratmoqchi bo'lsangiz, -p (parents) flagini ishlating:
mkdir -p loyiha/src/komponentlar
Bu "loyiha" bo'lmasa ham, uni va ichidagi barcha papkalarni bir yo'la yaratadi. -p siz esa "ota-papka topilmadi" xatosi chiqardi.
rmdir โ bo'sh papkani o'chirish
rmdir (remove directory) papkani o'chiradi, lekin faqat u bo'sh bo'lsa:
rmdir eski-papka
Agar papka ichida fayl yoki boshqa papka bo'lsa, rmdir "papka bo'sh emas" degan xatolik beradi va o'chirmaydi.
rm -r ishlatiladi, lekin u juda xavfli โ hamma narsani so'roqsiz o'chiradi. Buni keyingi darsda ehtiyotkorlik bilan o'rganamiz. Hozircha bo'sh papkalar uchun rmdir โ xavfsiz tanlov.Xulosa
- Linuxda yagona daraxt bor, ildizi โ
/; muhim papkalar:/home,/etc,/var,/tmp; pwdโ qayerda turganingizni ko'rsatadi;ls -lahโ papka mazmunini batafsil, yashirin fayllar bilan, qulay hajmda ko'rsatadi;cdโ papkalar orasida yuradi;cd ..yuqoriga,cd ~uyga,cd -orqaga;- Mutlaq yo'l
/dan boshlanadi, nisbiy yo'l joriy papkaga nisbatan; ~โ uy papkasi,.โ joriy,..โ ota-papka;mkdir -pโ ichma-ich papka yaratadi,rmdirโ faqat bo'sh papkani o'chiradi;- Tab tugmasi bilan nomlarni avtomatik to'ldiring.