Buyruq qatori — foydalanuvchi kompyuterga matnli buyruq kiritib, dastur va operatsion tizim xizmatlarini boshqaradigan interfeysdir. U command-line interface yoki CLI deb ataladi. Grafik interfeysda amal tugma va oynalar orqali bajarilsa, buyruq qatorida dastur nomi, parametrlar va argumentlardan tuzilgan satr ishlatiladi. Natija terminalda matn sifatida ko‘rinadi yoki boshqa dasturga uzatiladi.
Terminal va shell
Terminal foydalanuvchi kiritmasini qabul qilib, belgilar chiqishini ko‘rsatadigan muhitdir. Shell esa buyruqni tahlil qiladigan va dasturlarni ishga tushiradigan interpreter. Bash, Zsh va PowerShell shell hisoblanadi; Terminal, Windows Terminal yoki boshqa terminal emulator esa ularni ko‘rsatadigan dasturdir.
Prompt shell buyruq kutayotganini bildiradi. Joriy papka, foydalanuvchi yoki Git branch kabi ma’lumot promptda ko‘rsatilishi mumkin. Buyruq yozilib Enter bosilganda shell uning ichki buyruq ekanini yoki PATH kataloglaridan topiladigan tashqi dastur ekanini aniqlaydi.
Buyruq tuzilishi
Ko‘p CLI dasturlarida umumiy shakl quyidagicha:
dastur [option] [argument]
Masalan, ls -la /tmp satrida ls dastur, -la optionlar, /tmp esa argumentdir. Option sintaksisi dasturga bog‘liq: qisqa -v, uzun --verbose, Windows vositalarida /V kabi shakllar uchraydi. Shuning uchun shell qoidalari bilan alohida dastur parametrlarini farqlash kerak.
Standart oqimlar
Jarayon odatda uch standart oqimga ega: stdin kirish, stdout odatiy chiqish, stderr xato chiqishi. Yo‘naltirish natijani faylga yozadi, pipe esa bir dastur stdoutini boshqasining stdiniga ulaydi. Shu model kichik vositalarni ketma-ket birlashtirish imkonini beradi.
grep 'ERROR' app.log | sort | uniq -c
Bu yerda grep tanlangan satrlarni chiqaradi, sort ularni tartiblaydi, uniq -c takrorlar sonini hisoblaydi.
Exit code va avtomatlashtirish
Dastur tugaganda operatsion tizimga exit code qaytaradi. Unix muhitida 0 odatda muvaffaqiyatni, nol bo‘lmagan qiymat xatoni bildiradi. Shell operatorlari keyingi buyruqni shu natijaga qarab bajarishi mumkin. Skriptlar buyruqlar ketma-ketligini faylda saqlab, qayta bajariladigan avtomatlashtirish hosil qiladi.
CLI server boshqaruvi, build, versiya nazorati va bulk fayl amallarida keng ishlatiladi. Uning matnli tabiati buyruq tarixini ko‘rish va jarayonni skriptga aylantirishni osonlashtiradi.
Kiritma xavfsizligi
Shell maxsus belgilarni operator sifatida talqin qiladi. Ishonchsiz qiymat matnli buyruqqa birlashtirilsa, command injection yuz berishi mumkin. Dastur boshqa jarayonni ishga tushirganda argumentlarni alohida ro‘yxat sifatida uzatishi, shell talqinini faqat zarur holatda yoqishi kerak. Parolni buyruq argumentida berish ham process ro‘yxati yoki history orqali oshkor bo‘lishi mumkin.
TTY va interaktiv rejim
Dastur stdin terminalga ulanganini tekshirib, interaktiv va pipeline rejimida turlicha ishlashi mumkin. TTY mavjud bo‘lsa rang, progress animatsiyasi yoki parol prompti ko‘rsatiladi; chiqish faylga yo‘naltirilganda esa sodda matn tanlanadi. Avtomatlashtirishda rang escape kodlari parserga xalaqit bermasligi uchun ko‘p vositalar --no-color parametrini beradi. Pseudo-terminal masofaviy SSH sessiyasi yoki konteynerda terminal xatti-harakatini taqdim etadi. Parol kiritishda terminal echo vaqtincha o‘chiriladi, ammo maxfiy qiymatni stdin orqali uzatishning xavfsizligi ishlatilayotgan dastur va jarayon muhitiga bog‘liq.
Buyruq hujjati
CLI vositasi odatda --help, man page yoki alohida reference orqali parametrlarni tushuntiradi. Stable scripting uchun faqat ko‘rinadigan matnga emas, hujjatlashtirilgan exit code va machine-readable formatga tayaniladi. Jadval ustunining joyi versiyada o‘zgarishi mumkin, JSON maydoni esa shartnoma sifatida barqarorroq bo‘ladi. Shell completion buyruq va optionlarni topishni tezlashtiradi, lekin u validatsiya o‘rnini bosmaydi.
Bog‘liq tushunchalar
CLI, terminal, shell, Bash, PowerShell, standard streams, exit code