Linux va terminal nima?
Har bir dasturchi ertami-kechmi terminal bilan yuzma-yuz keladi: server sozlash, loyihani ishga tushirish, git bilan ishlash, paket o'rnatish โ bularning barchasi ko'pincha qora ekranda, matnli buyruqlar orqali bajariladi. Ushbu bobda biz Linux operatsion tizimi va uning buyruq qatorini (terminalni) noldan o'rganamiz. Bu darsda esa asosiy tushunchalarni โ operatsion tizim, Linux, shell, terminal โ oydinlashtiramiz.
Operatsion tizim nima?
Operatsion tizim (OT, ingliz tilida operating system, qisqacha OS) โ bu kompyuter apparatlari (protsessor, xotira, disk, tarmoq kartasi) bilan dasturlar o'rtasida vositachi bo'lib turadigan asosiy dastur. U diskdagi fayllarni boshqaradi, xotirani taqsimlaydi, jarayonlarni ishga tushiradi va foydalanuvchiga kompyuter bilan muloqot qilish imkonini beradi.
Eng mashhur operatsion tizimlar:
- Windows โ Microsoft ishlab chiqaradi, uy va ofis kompyuterlarida keng tarqalgan;
- macOS โ Apple kompyuterlarida (MacBook, iMac) ishlaydi, Unix asosida qurilgan;
- Linux โ bepul va ochiq kodli tizim; serverlar, bulut, Android telefonlar va dasturchilar orasida hukmron;
Dasturchilar dunyosida Linux alohida o'rin tutadi: internetdagi serverlarning katta qismi, Docker konteynerlari, bulutli platformalar (AWS, Google Cloud) โ deyarli hammasi Linuxda ishlaydi. Shu sabab terminal va Linux buyruqlarini bilish โ dasturchi uchun asosiy ko'nikma.
Linux nima va u qayerdan kelib chiqqan?
Linux โ 1991-yilda finlandiyalik talaba Linus Torvalds tomonidan yaratilgan operatsion tizim yadrosi (kernel). Yadro โ bu OTning eng markaziy qismi bo'lib, u apparat bilan bevosita muloqot qiladi. Linux bepul va ochiq kodli (open source): uning ichki tuzilishini istalgan odam ko'rishi, o'zgartirishi va tarqatishi mumkin.
Distributivlar (distros)
Linux yadrosi o'zicha to'liq operatsion tizim emas. Odatda uni dasturlar to'plami, o'rnatuvchi (installer) va grafik muhit bilan birga distributiv (qisqacha distro) shaklida tarqatishadi. Distributiv โ bu "ishga tayyor to'plam": yadro + kerakli dasturlar + paket menejeri.
Eng ko'p uchraydigan distributivlar:
- Ubuntu โ yangi boshlovchilar uchun eng mashhur, do'stona; server va ish stoli versiyalari bor;
- Debian โ juda barqaror, Ubuntu ham aynan shuning asosida qurilgan;
- Fedora โ eng yangi texnologiyalarni birinchi bo'lib sinaydi, Red Hat kompaniyasi homiylik qiladi;
- CentOS / Rocky Linux / AlmaLinux โ serverlar uchun, korxonalarda keng ishlatiladi;
- Arch Linux โ tajribali foydalanuvchilar uchun, hamma narsani qo'lda sozlaydigan;
- Linux Mint โ Windowsdan o'tayotganlar uchun qulay, Ubuntu asosida.
apt) va hujjatlari internet forumlarida keng muhokama qilingan, muammoni izlab topish oson. Shu bobdagi barcha misollar Ubuntu/Debian oilasiga mo'ljallangan.Shell va bash
Shell (qobiq) โ bu siz yozgan matnli buyruqlarni qabul qilib, operatsion tizimga yetkazadigan dastur. Siz "faylni ko'chir", "papkaga kir", "dasturni ishga tushir" deb yozasiz โ shell bu buyruqni tushunib, yadroga bajarishni topshiradi. Shell โ foydalanuvchi bilan tizim o'rtasidagi tarjimon.
Linuxda bir necha xil shell mavjud, eng mashhurlari:
- bash (Bourne Again SHell) โ eng keng tarqalgan, aksariyat distributivlarda standart;
- zsh โ bashning kuchaytirilgan varianti, macOSda standart bo'lib qolgan;
- sh โ eng eski, sodda shell; skriptlarda mosligini saqlash uchun ishlatiladi;
- fish โ do'stona, aqlli avto-to'ldirishli zamonaviy shell.
Biz butun bob davomida bash bilan ishlaymiz, chunki u eng keng tarqalgan. Qaysi shellda ekaningizni bilish uchun quyidagi buyruqni tering:
echo $SHELL
Bu buyruq joriy shellning yo'lini chiqaradi, masalan /bin/bash. Bu yerda echo โ ekranga matn chiqaruvchi buyruq, $SHELL esa joriy shellni saqlaydigan muhit o'zgaruvchisi.
Terminal nima?
Terminal (yoki terminal-emulyator) โ bu shell ishlaydigan oyna, ya'ni siz buyruqlarni yozadigan va natijalarni ko'radigan dastur. Ko'pincha "terminal", "konsol", "buyruq qatori" (command line) so'zlari bir-birining o'rnida ishlatiladi.
Munosabatni sodda qilib aytsak:
- Terminal โ oyna (ekran), unda siz yozasiz va o'qiysiz;
- Shell (masalan, bash) โ o'sha oyna ichida ishlaydigan, buyruqlaringizni tushunadigan dastur;
- Yadro (kernel) โ shell topshiriqni yetkazadigan eng past qatlam.
Terminalni ochganingizda odatda quyidagiga o'xshash yozuv (prompt) ko'rasiz:
aziz@ubuntu:~$
Buni o'qib olaylik: aziz โ foydalanuvchi nomi, ubuntu โ kompyuter (host) nomi, ~ โ joriy papka (bu yerda uy papkasi), $ โ oddiy foydalanuvchi belgisi. Agar $ o'rniga # tursa, siz root (bosh administrator) sifatida ishlayapsiz degani (bu haqda "Ruxsatlar" darsida gaplashamiz).
GUI va CLI: ikki xil muloqot usuli
Kompyuter bilan ikki xil usulda muloqot qilish mumkin:
- GUI (Graphical User Interface) โ grafik interfeys: sichqoncha, tugmalar, oynalar, ikonkalar. Windows ish stoli, brauzer โ hammasi GUI;
- CLI (Command Line Interface) โ buyruq qatori: hamma narsani matnli buyruqlar bilan bajarasiz.
Boshda GUI qulayroq tuyuladi, lekin CLIning katta afzalliklari bor:
- Tezlik โ bir buyruq bilan minglab faylni bir zumda o'zgartirish mumkin;
- Avtomatlashtirish โ buyruqlarni skriptga yozib, takrorlanuvchi ishlarni avtomatlashtirasiz;
- Masofadan boshqarish โ serverlarda odatda grafik interfeys umuman bo'lmaydi, faqat terminal orqali kirasiz (
ssh); - Aniqlik va kuch โ ba'zi imkoniyatlar faqat CLIda mavjud.
Nega dasturchiga terminal kerak?
Zamonaviy dasturchilikda terminalsiz yashab bo'lmaydi. Mana amaliy sabablar:
gitbilan versiyalarni boshqarish โ commit, push, pull, branch;npm,node,pythonkabi vositalarni ishga tushirish;- Server sozlash: Nginx, PostgreSQL, Docker โ hammasi terminaldan;
- Loyihani ishga tushirish, log'larni kuzatish, xatolarni tekshirish;
- Bulutli xizmatlar (AWS, DigitalOcean) bilan ishlash;
- Katta hajmdagi fayllarni tez qidirish, filtrlash, qayta ishlash.
rm bilan o'chirilgan fayl butunlay yo'qoladi. Shu bois har bir buyruqni yozishdan oldin uni yaxshilab o'qing. Keyingi darslarda bu haqda alohida ogohlantiramiz.Windows foydalanuvchisi nima qiladi?
Linux o'rnatishingiz shart emas. Windowsda ham Linux buyruqlarini o'rganish yo'llari bor:
- WSL (Windows Subsystem for Linux) โ Windows ichida to'liq Ubuntu ishga tushiradi, eng qulay yo'l;
- Virtual mashina โ VirtualBox yoki VMware orqali Linuxni alohida oynada;
- Git Bash โ Git bilan birga o'rnatiladigan, ko'p Linux buyruqlarini qo'llab-quvvatlaydigan mini-terminal;
- Onlayn terminallar โ brauzerda Linuxni sinash uchun (masalan, o'quv maqsadida).
wsl --install buyrug'i bir zumda Ubuntuni o'rnatib beradi. Bu โ dasturchilar uchun eng ommabop yo'l.Xulosa
- Operatsion tizim โ apparat bilan dasturlar o'rtasidagi vositachi (Windows, macOS, Linux);
- Linux โ bepul, ochiq kodli tizim; serverlar va dasturchilar dunyosida hukmron;
- Distributiv โ ishga tayyor Linux to'plami (Ubuntu, Debian, Fedora va boshqalar);
- Shell (bash) โ buyruqlaringizni tushunib tizimga yetkazadigan tarjimon;
- Terminal โ shell ishlaydigan oyna, buyruq yozadigan joy;
- CLI tezlik, avtomatlashtirish va masofadan boshqarish imkonini beradi;
- Dasturchiga terminal git, npm, server va bulut bilan ishlash uchun shart.