Skip to content

1. Shell, Terminal va Bash nima? โ€‹

Bu bobda nima o'rganasiz:

  • Terminal, shell va bash โ€” uchta alohida tushuncha o'rtasidagi farq
  • Birinchi terminal sessiyasini ochish va buyruq kiritish
  • Prompt belgisining mazmuni
  • Asosiy buyruqlar: pwd, echo, whoami, date

โฑ Vaqt: ~15 daqiqa ๐Ÿงช Mashqlar: bashlings watch โ€” 5 ta interaktiv mashq tayyor (exercises/01_intro/)

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:

OSTerminal dasturlari
macOSTerminal.app, iTerm2, Warp, Alacritty
LinuxGNOME Terminal, Konsole, xterm, kitty
WindowsWindows 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.

mermaid
flowchart LR
    A[Foydalanuvchi] -->|buyruq yozadi| B[Terminal]
    B -->|matnni uzatadi| C[Shell]
    C -->|tizim chaqiruvi| D[Kernel / OS]
    D -->|natija| C
    C --> B --> A

Eng 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:

bash
echo $SHELL
# /bin/bash  yoki  /bin/zsh

Yoki versiyani ko'rish:

bash
bash --version
# GNU bash, version 5.2.15(1)-release ...

1.4. Prompt โ€” buyruq qatori belgisi โ€‹

Terminalni ochsangiz, biror belgi kutib turibdi:

text
user@hostname:~$

Bu โ€” prompt. Uning tarkibi:

QismMa'nosi
userFoydalanuvchi nomi
hostnameKompyuter 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:

bash
# 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 ls

Natija namunasi:

text
$ whoami
mac
$ pwd
/Users/mac
$ which ls
/bin/ls

1.6. man โ€” yordamchingiz โ€‹

Har bir Unix buyrug'i o'zining qo'llanmasiga ega. Uni man (manual) buyrug'i orqali ochasiz:

bash
man ls
man grep
man bash

Manual ichida:

  • Yuqoriga / Pastga: โ†‘ โ†“ yoki j k
  • Qidirish: /qidiriladigan-so'z, keyin Enter
  • Chiqish: q

Tezroq variant

Ba'zi buyruqlar --help flagini qo'llab-quvvatlaydi:

bash
ls --help
grep --help

1.7. Tarixiy buyruqlar va auto-complete โ€‹

Bash sizga ish tezligini oshiruvchi ikkita ulkan imkoniyat beradi:

History (tarix) โ€‹

bash
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.

bash
cd Doc<Tab>      # โ†’ cd Documents/
ls -l README<Tab> # โ†’ ls -l README.md

1.8. Tez-tez uchraydigan xatolar โ€‹

Boshlovchilar uchun ogohlantirish

  1. Bo'shliqlarga e'tibor bering. Bashda x=5 to'g'ri, x = 5 esa xato (probel โ€” alohida argument).
  2. Hech qachon rm -rf / ni bajarmang. Bu butun tizimni o'chiradi.
  3. sudo ni o'ylab ishlating. U "men nima qilayotganimni bilaman" demakdir.
  4. Buyruqlar katta-kichik harf farqlaydi. ls va LS โ€” bir xil emas.

1.9. Mashqlar โ€‹

๐Ÿงช Bashlings โ€” interaktiv mashqlar

Bu bobning 5 ta mashqi bashlings CLI orqali avto-tekshiruv bilan:

bash
bashlings watch              # birinchi pending mashqdan boshlash
bashlings run intro1         # bitta mashqni tekshirish
bashlings hint intro1        # bosqichli maslahat

Manba: exercises/01_intro/

Quyidagi qo'shimcha vazifalarni terminalda qo'l bilan bajaring:

  1. O'z home katalogingizning to'liq yo'lini chiqaring.
  2. Qaysi shell ishlatayotganingizni aniqlang.
  3. bash versiyasini ko'ring.
  4. date buyrug'ining man sahifasini oching va --iso-8601 flagini topib qo'llang.
  5. Tarixdagi oxirgi 5 ta buyruqni chiqaring (history | tail -5).

1.10. Xulosa โ€‹

AtamaMohiyat
TerminalMatn interfeysiga ega oyna (dastur)
ShellBuyruqlarni tushunadigan tarjimon (bash, zsh, fish)
BashEng mashhur shell dasturi
PromptBuyruq kiritish chizig'i ($ yoki #)
manBuyruq 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 โ†’

MIT litsenziyasi asosida tarqatiladi.