Linux va terminal

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:

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.

Aslida "Linux" so'zi qat'iy ma'noda faqat yadroni bildiradi. To'liq ishlaydigan tizim esa yadro ustiga qo'shilgan ko'plab dasturlar (masalan, GNU vositalar) bilan birgalikda hosil bo'ladi. Shu bois ba'zan uni to'liqroq "GNU/Linux" deb ham atashadi. Amalda esa hamma qisqacha "Linux" deb qo'ya qoladi.

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:

Yangi boshlovchi uchun eng yaxshi tanlov โ€” Ubuntu. Uning buyruqlari, paket menejeri (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:

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:

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:

Boshda GUI qulayroq tuyuladi, lekin CLIning katta afzalliklari bor:

Grafik interfeysda "1000 ta faylni qayta nomlash" โ€” soatlab qo'l ishi. Terminalda esa bu bitta qatorlik buyruq. Aynan shuning uchun tajribali dasturchilar terminalni afzal ko'radi.

Nega dasturchiga terminal kerak?

Zamonaviy dasturchilikda terminalsiz yashab bo'lmaydi. Mana amaliy sabablar:

Terminalda ko'p buyruqlar tasdiq so'ramasdan darhol bajariladi va "Savatga" (Recycle Bin) tushmaydi. Masalan, 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:

Agar Windows 10/11 ishlatsangiz, PowerShellda wsl --install buyrug'i bir zumda Ubuntuni o'rnatib beradi. Bu โ€” dasturchilar uchun eng ommabop yo'l.

Xulosa