Linux asosiy buyruqlari: pwd, cd, ls, cat, mkdir, cp, mv, rm
Har bir yangi Linux foydalanuvchisi terminalni birinchi marta ochganida bir xil holatga tushadi. Qora ekran, yonib turgan kursor va hech qanday menyu yoki tugma yo'q. Ko'pchilik uchun bu qo'rqinchli tuyulishi mumkin. Aslida esa bu qo'rqinchli emas. Grafik interfeysda siz sichqoncha bilan bosgan har bir amal, orqa fonda buyruq ko'rinishida bajariladi. Terminalda esa siz o'sha buyruqni to'g'ridan-to'g'ri o'zingiz yozasiz. Bu esa sizga tezlik, aniqlik va nazorat beradi.
Oldingi qismlarda biz fayl tizimi arxitekturasi haqida gaplashgan edik. / dan boshlanadigan katalog va /home,
/etc, /var kabi kataloglar. Endi esa shu kataloglar ichida qanday harakatlanishni, qanday
ko'rishni, qanday yangi katalog hosil qilishni va qanday o'chirishni ko'rib chiqamiz. Bu qism Linuxdagi eng
ko'p ishlatiladigan pwd, cd, ls, cat, mkdir, cp, mv, rm kabi buyruqlarni o'rganish haqida bo'ladi.
Muhim qoida: katta-kichik harflar farqlanadi
Buyruqlarni o'rganishni boshlashdan oldin bir narsani mustahkam yodda tutish kerak: Linux buyruqlari registrga
sezgir (case sensitive). Ya'ni kichik harf bilan yozilgan pwd va katta harf bilan yozilgan PWD bu ikkita
mutlaqo boshqa-boshqa narsa. Yaxshi tomoni shundaki, deyarli barcha Linux buyruqlari kichik harflarda yoziladi,
shuning uchun bu unchalik katta muammo tug'dirmaydi. Ammo bu qoida faqat buyruqlarga emas, fayl va katalog nomlariga
ham tegishli. Masalan, /etc katalogi va /ETC katalogi tizim uchun ikkita butunlay boshqa manzil hisoblanadi,
agar mavjud bo'lmagan variantiga murojaat qilsangiz shell sizga xatolik qaytaradi:
pwd(print working directory) hozir qayerdaman?
Terminalni ochganingizda, siz allaqachon fayl tizimining biror joyida turibsiz. Tizimga kirganingizda, siz avtomatik
tarzda o'zingizning home (bosh) katalogingizda bo'lasiz. Home katalog odatda /home/foydalanuvchi_nomi
ko'rinishida bo'ladi. Masalan, admin_user nomli foydalanuvchi tizimga kirganida, uning home katalogi
/home/admin_user bo'ladi.
Ammo ko'p amallardan so'ng bir nechta katalog ichiga kirib chiqqaningizdan keyin, aynan qayerda ekaningizni unutasiz.
Aynan shu yerda pwd (Print Working Directory) buyrug'i yordamga keladi. Men shaxsan pwdni hozirgi
turgan joyim deb yodlab olishni maslahat bergan bo'lardim.
Natija quyidagicha bo'lishi mumkin:
pwd juda sodda buyruq, lekin uning ahamiyati juda katta. Ayniqsa skript yozayotganda yoki bir nechta terminal
oynasi orasida ishlayotganda, pwd sizga doim aniq javob beradi: siz hozir aynan qayerdasiz.
cd(change directory) - katalogga o'tish
Qayerda ekaningizni bilgandan so'ng, tabiiy ehtiyoj tug'iladi ya'ni boshqa katalogga o'tish. Aynan shu vazifani cd
(Change Directory) bajaradi. Nomi aytib turganidek u sizning joriy katalogingizni o'zgartiradi.
Bu buyruq sizni /etc katalogi ichiga olib kiradi. Buni pwd bilan tekshirib ko'rishingiz mumkin natija
/etc bo'lishi kerak. cd ning bir nechta muhim xususiyati va qisqartmalari bor, ularni yod olish vaqtingizni
sezilarli darajada tejaydi:
cd(argumentsiz) - sizni to'g'ridan-to'g'ri home katalogga qaytaradi.cd ~-~(tilde) belgisi home katalogngizning qisqartmasi hisoblanadi. Agar sizadmin_usersifatida kirgan bo'lsangiz,~bu/home/admin_userga o'tkazadi. Agar boshqa foydalanuvchi, masalanjasonsifatida kirsangiz,~endi/home/jasonni bildiradi.cd ..- bir katalog yuqoriga chiqadi. Yoki ortga qaytadi desak ham bo'ladi.cd -- oldingi turgan katalogngizga qaytaradi, ya'ni "orqaga" tugmasi vazifasini bajaradi.cd /- fayl tizimining rootiga, ya'ni eng boshiga olib boradi.
Ko'pchilik terminal sozlamalarida, prompt (buyruq qatoridagi matn) ichida siz turgan katalog nomi ko'rsatib turiladi,
home katalogda bo'lganingizda esa u ~ belgisi bilan almashtiriladi. Bu standart qoida emas, balki keng tarqalgan
odat.
ls(list) - Bu yerda nima bor?
Katalog ichiga kirgandan so'ng, tabiiy savol tug'iladi: bu yerda nima bor? Aynan shu savolga ls (List) buyrug'i
javob beradi.
/etc kabi katta kataloglarda bu buyruqni ishga tushirsangiz, natija ekranga sig'may, tepaga qarab siljib ketishi
mumkin bu Linuxda odatiy holat, chunki tizim kataloglari ko'plab konfiguratsiya fayllarini o'zida saqlaydi.
Ko'pgina distributivlarda ls natijasi rangli chiqadi. Kataloglar bir rangda, oddiy fayllar boshqa rangda
ko'rsatiladi, bu esa ko'zga tezroq tashlanishi uchun qulaylik yaratadi.
lsning haqiqiy kuchi esa uning flaglarida (parametrlarida) yashiringan bo'ladi:
ls -l- fayllarni uzun formatda, ya'ni ruxsatlar, egasi, hajmi va sana bilan birga ko'rsatadi.ls -a- yashirin fayllarni ham ko'rsatadi (nomi nuqta bilan boshlanadigan fayllar, masalan.bashrc).ls -la- yuqoridagi ikkalasini birlashtirib, yashirin fayllarni ham uzun formatda ko'rsatadi.ls -r- ro'yxatni teskari tartibda ko'rsatadi.ls -lh- fayl hajmlarini odam o'qishi qulay formatda (KB, MB, GB) ko'rsatadi.
Bu yerda muhim narsani eslatib o'tish kerak. Buyruq bilan flag orasida albatta bo'sh joy bo'lishi shart.
ls -l to'g'ri, ls-l esa shell uchun mutlaqo boshqa mavjud bo'lmagan buyruq hisoblanadi.
Natija taxminan shunday ko'rinadi:
Har bir qator o'ziga xos ma'lumot beradi. Birinchi ustunda ruxsatlar (d — katalog, - — oddiy fayl), keyin
egasi, guruhi, hajmi, o'zgartirilgan sanasi va nihoyat nomi. Qatorning boshidagi "sirli" harflar nimani
anglatishini biz keyingi mavzuda fayl ruxsatlari qismida batafsil yoritamiz.
cat(concatenate) — Fayl mazmunini ekranga chiqarish
Katalog ichida qanday fayllar borligini ls orqali ko'rdik, endi esa o'sha faylning ichida nima yozilganini
bilish kerak bo'lsa cat (concatenate) buyrug'i ishlatiladi. catning eng ko'p ishlatiladigan vazifasi faylni
ichidagi ma'lumotni terminalga chiqarib berish hisoblanadi.
Natijada faylning butun matni ekranga chiqadi:
cat katta hajmdagi fayllar uchun unchalik qulay emas, chunki matn ekrandan tashqariga sig'may ketishi mumkin.
Bunday hollarda less yoki more kabi buyruqlar afzalroq bo'ladi, ular haqida keyingi darslarda gaplashamiz. Ammo
kichik konfiguratsiya fayllarini tez ko'rib chiqish uchun cat eng qulay va eng tez yo'l hisoblanadi.
mkdir(make directory) — Yangi katalog yaratish
Ba'zan mavjud kataloglarga o'tish kifoya qilmaydi yangi katalog yaratish kerak bo'ladi. Buning uchun mkdir
(Make Directory) buyrug'i ishlatiladi.
Bu buyruq joriy katalog ichida yangi_loyiha nomli bo'sh katalog yaratadi. Ammo ko'pincha bitta emas, bir nechta
ichma-ich katalog yaratish kerak bo'ladi, masalan loyiha/src/utils kabi. Bunday holatda -p (parents) flagi
juda foydali:
-p flagisiz, agar loyiha katalogsi mavjud bo'lmasa, mkdir xatolik qaytaradi, chunki u faqat bitta darajali katalog
yaratishga mo'ljallangan. -p esa yo'l bo'yicha kerakli barcha ichki kataloglarni avtomatik ravishda yaratib
beradi.
cp(copy) — Nusxalash
Fayl yoki katalogni yo'qotmasdan, uning nusxasini boshqa joyga olib qo'yish kerak bo'lganda cp (Copy)
buyrug'i ishlatiladi.
Bu buyruq fayl.txt faylining nusxasini zaxira.txt nomi bilan yaratadi, asl fayl esa o'z joyida qoladi.
kataloglarni nusxalash uchun esa -r (recursive) flagi qo'shish kerak bo'ladi:
-r flagisiz cp kataloglarni nusxalay olmaydi, chunki katalog ichida yana boshqa fayl va kataloglar bo'lishi mumkin, va
cp ularning barchasini rekursiv tarzda, ya'ni ichma-ich aylanib chiqib nusxalashi kerak. Yana bir foydali flag
-v (verbose), u har bir nusxalanayotgan faylni ekranga chiqarib turadi, bu esa katta hajmdagi ko'chirishlarda
jarayonni kuzatib borishga yordam beradi.
mv(move) — Ko'chirish va nomini o'zgartirish
mv (Move) buyrug'i birinchi qarashda cpga o'xshaydi, lekin muhim farqi bor mv faylning nusxasini emas,
faylning o'zini boshqa joyga olib boradi, asl joyida esa hech narsa qolmaydi.
Bu buyruq fayl.txtni katalog ichiga ko'chiradi. Qizig'i shundaki, mv yana bir vazifani ham bajaradi nomini
o'zgartirish. Agar siz faylni bir joydan boshqa joyga emas, xuddi shu katalog ichida boshqa nom bilan
ko'chirsangiz natijada shunchaki nomi o'zgaradi:
Linux aslida nomini o'zgartirish degan alohida buyruqqa ega emas, chunki texnik jihatdan nom o'zgartirish ham, ko'chirish ham bir xil amal.
rm(remove) — O'chirish
Ro'yxatimizdagi so'nggi buyruq rm (Remove)eng foydali, lekin eng xavfli buyruqdir.
Bu buyruq faylni o'chiradi, va bu yerda muhim narsani ta'kidlash kerak Linuxda o'chirilgan fayl odatda
savatga (Trash) tushmaydi to'g'ridan-to'g'ri o'chiriladi. Katalogni o'chirish uchun xuddi cpdagi kabi
-r flagi kerak bo'ladi:
Ba'zan tizim sizdan har bir fayl uchun tasdiq so'rashi mumkin, buni oldini olish uchun -f (force) flagi
ishlatiladi. -r va -f birgalikda, ya'ni rm -rf ko'rinishida ishlatiladi. Bu buyruqni ishlatish bilan siz ortga qaytarib
bo'lmas qaror qabul qilgan bo'lasiz.
rm fayl.txt- bitta faylni o'chiradi.rm -r katalog- katalogni ichidagi hamma narsasi bilan o'chiradi.rm -f fayl.txt- tasdiqlashsiz o'chiradi.rm -rf katalog- katalogni tasdiqlashsiz butunlay yo'q qiladi.
Noto'g'ri katalogda yoki noto'g'ri yo'l bilan ishga tushirilgan rm -rf butun loyihani, ba'zan esa butun serverni yo'q qilib
yuborishi mumkin. Shuning uchun tajribali muhandislar har doim bir odatga amal qilishadi rm ishlatishdan oldin,
avval ls bilan qaysi fayllar o'chirilishini tekshirib ko'rish.
Yordam va yakunlash: man, clear va exit
O'rgangan buyruqlaringiz orasida ba'zilarining ko'plab flaglari borligini payqagan bo'lsangiz kerak. Ularning
barchasini yodlab olish shart emas Linux o'zida tayyor hujjatlashtirish tizimiga ega unga man(manual) buyrug'i
orqali murojaat qilinadi:
Bu buyruq lsga tegishli to'liq hujjatni ochadi, bo'sh joy tugmasi (Space) orqali keyingi sahifaga o'tish,
q tugmasi orqali esa hujjatdan chiqish mumkin. Qidiruv tizimidan ko'ra man hujjatiga ko'proq
ishonish tavfsiya qilinadi chunki u aynan sizning tizimingizda o'rnatilgan buyruq versiyasiga mos hujjat beradi.
Ish jarayonida ekran turli buyruqlar natijasi bilan to'lib ketishi tabiiy holat. Ekranni tozalab, toza sahifadan
boshlash uchun clear buyrug'i ishlatiladi u hech qanday flag yoki argumentga muhtoj emas, shunchaki yozib
Enter bosish kifoya. Terminal sessiyasini yakunlash yoki tizimdan chiqish kerak bo'lsa, exit
buyrug'idan foydalaniladi.
Info
Bu buyruqlarning aksariyati - pwd, cd, ls, cat, mkdir, cp, mv, rm - 1970-yillarda Unixning
dastlabki versiyalarida qo'shilgan va shundan beri deyarli o'zgarmagan holda barcha Linux
distributivlarida ishlatilib kelinmoqda. Yarim asrdan ortiq vaqt o'tgan bo'lsada, ular hanuzgacha har bir
administrator va dasturchining kundalik ishining asosini tashkil qiladi.
Tip
rm buyrug'ini ishlatishdan oldin har doim shu katalogda lsni ishga tushiring va nimani o'chirayotganingizni
ko'zdan kechiring. Ayniqsa rm -rf bilan ishlaganda. Bitta ortiqcha bo'shliq yoki noto'g'ri yo'l butun
katalogni yo'q qilib yuborishi mumkin. Ehtiyotkorlik hech qachon zarar qilmaydi. Zero ogohlik davr talabi!