1. Shell, Terminal va Bash nima?
Linux yoki macOS bilan ishlashni boshlaganingizda eshitadigan birinchi atamalar — terminal, shell va bash. Ko'pchilik ularni bir narsa deb o'ylaydi, lekin aslida bular uchta alohida tushunchadir. Keling, har birini batafsil ko'rib chiqamiz.
1.1. Terminal nima?
Terminal (yoki "terminal emulator") — bu dasturning grafik oynasi bo'lib, u sizga matn ko'rinishidagi buyruqlarni kiritish va ularning natijasini ko'rish imkonini beradi.
Boshqacha aytganda, terminal — bu eshik (oyna), shell esa shu eshikdan kiradigan ofitsiant.
Mashhur terminal dasturlari:
| OS | Terminal dasturlari |
|---|---|
| macOS | Terminal.app, iTerm2, Warp, Alacritty |
| Linux | GNOME Terminal, Konsole, xterm, kitty |
| Windows | Windows Terminal, WSL, Git Bash |
Eslatma
Terminal — bu shunchaki "konteyner". Ichida qaysi shell ishlayotgani esa boshqa masala.
1.2. Shell nima?
Shell — foydalanuvchi bilan operatsion tizim yadrosi (kernel) o'rtasidagi tarjimon dastur. Siz ls deb yozasiz, shell uni o'qiydi, kernelga "shu papkadagi fayllar ro'yxatini ber" deb so'rov yuboradi va natijani sizga qaytaradi.
flowchart LR
A[Foydalanuvchi] -->|buyruq yozadi| B[Terminal]
B -->|matnni uzatadi| C[Shell]
C -->|tizim chaqiruvi| D[Kernel / OS]
D -->|natija| C
C --> B --> AEng mashhur shell dasturlari:
bash— Bourne Again SHell (Linuxda standart)zsh— Z Shell (macOS'da default, ko'p funksional)fish— Friendly Interactive Shell (zamonaviy, auto-suggest bilan)sh— POSIX shell (eng minimal)dash,ksh— boshqa variantlari
1.3. Bash nima?
Bash (Bourne Again SHell) — 1989-yilda Brian Fox tomonidan GNU loyihasi uchun yozilgan shell. U eski sh (Bourne shell)ning kengaytirilgan, kuchaytirilgan versiyasi.
Bash bugungi kunda:
- Aksariyat Linux distributivlarida default
- Skript yozish uchun eng keng tarqalgan
- POSIX standartiga mos
- Millionlab serverlar va CI/CD pipeline'larida ishlatiladi
Qaysi shell sizda ishlayapti?
Hozirgi shell turini bilish uchun:
echo $SHELL
# /bin/bash yoki /bin/zshYoki versiyani ko'rish:
bash --version
# GNU bash, version 5.2.15(1)-release ...1.4. Prompt — buyruq qatori belgisi
Terminalni ochsangiz, biror belgi kutib turibdi:
user@hostname:~$Bu — prompt. Uning tarkibi:
| Qism | Ma'nosi |
|---|---|
user | Foydalanuvchi nomi |
hostname | Kompyuter nomi |
~ | Joriy katalog (~ — bu home directory) |
$ | Oddiy foydalanuvchi (root bo'lsa #) |
Diqqat
Agar prompt'da # ko'rsangiz — siz root (superuser) sifatida ishlayapsiz. Har bir buyruq juda ehtiyotkorlik bilan kiritilishi kerak!
1.5. Birinchi buyruqlaringiz
Keling, asosiy buyruqlar bilan tanishaylik:
# Salom dunyo
echo "Salom, Bash!"
# Joriy sana va vaqt
date
# Tizim haqida ma'lumot
uname -a
# Qaysi foydalanuvchisiz?
whoami
# Qaysi papkdasiz?
pwd
# Mavjud buyruq qayerdan ishlayapti?
which lsNatija namunasi:
$ whoami
mac
$ pwd
/Users/mac
$ which ls
/bin/ls1.6. man — yordamchingiz
Har bir Unix buyrug'i o'zining qo'llanmasiga ega. Uni man (manual) buyrug'i orqali ochasiz:
man ls
man grep
man bashManual ichida:
- Yuqoriga / Pastga:
↑ ↓yokijk - Qidirish:
/qidiriladigan-so'z, keyinEnter - Chiqish:
q
Tezroq variant
Ba'zi buyruqlar --help flagini qo'llab-quvvatlaydi:
ls --help
grep --help1.7. Tarixiy buyruqlar va auto-complete
Bash sizga ish tezligini oshiruvchi ikkita ulkan imkoniyat beradi:
History (tarix)
history # oxirgi buyruqlar ro'yxati
!! # oxirgi buyruqni qayta ishga tushiradi
!123 # tarixdagi 123-buyruqni ishga tushiradi
Ctrl + R # tarixdan qidirish (incremental search)Tab completion
Buyruq yoki fayl nomini to'liq yozish shart emas — Tab tugmasini bosing va Bash o'zi yakunlab beradi.
cd Doc<Tab> # → cd Documents/
ls -l README<Tab> # → ls -l README.md1.8. Tez-tez uchraydigan xatolar
Boshlovchilar uchun ogohlantirish
- Bo'shliqlarga e'tibor bering. Bashda
x=5to'g'ri,x = 5esa xato (probel — alohida argument). - Hech qachon
rm -rf /ni bajarmang. Bu butun tizimni o'chiradi. sudoni o'ylab ishlating. U "men nima qilayotganimni bilaman" demakdir.- Buyruqlar katta-kichik harf farqlaydi.
lsvaLS— bir xil emas.
1.9. Mashqlar
Quyidagi vazifalarni terminalda bajaring va natijalarni ko'rib chiqing.
- O'z home katalogingizning to'liq yo'lini chiqaring.
- Qaysi shell ishlatayotganingizni aniqlang.
bashversiyasini ko'ring.datebuyrug'iningmansahifasini oching va--iso-8601flagini topib qo'llang.- Tarixdagi oxirgi 5 ta buyruqni chiqaring (
history | tail -5).
1.10. Xulosa
| Atama | Mohiyat |
|---|---|
| Terminal | Matn interfeysiga ega oyna (dastur) |
| Shell | Buyruqlarni tushunadigan tarjimon (bash, zsh, fish) |
| Bash | Eng mashhur shell dasturi |
| Prompt | Buyruq kiritish chizig'i ($ yoki #) |
man | Buyruq qo'llanmasi |
Keyingi bobda biz fayl tizimi bo'ylab harakatlanishni o'rganamiz: cd, ls, pwd, mkdir, cp, mv, rm.
Keyingi sahifa: 2. Fayl tizimi bo'ylab navigatsiya →