Skip to content

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:

cd /ETC
bash: cd: /ETC: No such file or directory

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.

pwd

Natija quyidagicha bo'lishi mumkin:

/home/farrux

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.

cd /etc

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 siz admin_user sifatida kirgan bo'lsangiz, ~ bu /home/admin_user ga o'tkazadi. Agar boshqa foydalanuvchi, masalan jason sifatida 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.

ls

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

ls -lh /etc/shells

Natija taxminan shunday ko'rinadi:

-rw-r--r-- 1 root root 118 Jan 20 10:12 /etc/shells

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.

cat /etc/shells

Natijada faylning butun matni ekranga chiqadi:

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/zsh

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.

mkdir yangi_loyiha

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:

mkdir -p loyiha/src/utils

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

cp fayl.txt zaxira.txt

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:

cp -r loyiha loyiha_zaxira

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

mv fayl.txt katalog/

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:

mv eski_nom.txt yangi_nom.txt

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.

rm fayl.txt

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:

rm -r katalog

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:

man ls

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!