6- Fayl va kataloglar bilan ishlash: cd, pwd, ls, mkdir, rmdir
Bash o‘rnatish
Bash o‘rnatish jarayoni operatsion tizimga bog‘liq bo‘lib, Unix/Linux tizimlarida odatda Bash oldindan o‘rnatilgan bo‘ladi. Biroq, ba’zi hollarda (masalan, minimal tizimlarda yoki maxsus konfiguratsiyalarda) Bashni qo‘lda o‘rnatish talab qilinishi mumkin. Quyida turli operatsion tizimlarda Bash o‘rnatish jarayoni bosqichma-bosqich tushuntiriladi.
Linux distribyutivlarida Bash o‘rnatish
Linux distribyutivlarida (Ubuntu, Debian, CentOS, Fedora va boshqalar) Bashni o‘rnatish uchun paket boshqaruvchilari ishlatiladi. Quyida eng keng tarqalgan tizimlarda o‘rnatish jarayoni keltiriladi.
Ubuntu/Debian tizimlarida
Ubuntu va Debian tizimlarida apt
paket boshqaruvchisi ishlatiladi. Bashni o‘rnatish uchun quyidagi qadamlar bajariladi:
Terminalni ochish Terminalni oching (Ctrl+Alt+T yoki boshqa yorliq orqali).
Tizimni yangilash Paket ro‘yxatini yangilash uchun:
sudo apt update
Bu buyruq mavjud paketlar haqidagi ma’lumotlarni yangilaydi.
Bashni o‘rnatish Bashni o‘rnatish uchun:
sudo apt install bash
Agar Bash allaqachon o‘rnatilgan bo‘lsa, tizim shuni bildiradi.
Versiyani tekshirish O‘rnatish muvaffaqiyatli yakunlanganligini tekshirish uchun:
bash --version
Natija quyidagicha bo‘ladi:
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
CentOS/RHEL tizimlarida
CentOS yoki Red Hat Enterprise Linux (RHEL) tizimlarida yum
yoki dnf
paket boshqaruvchilari ishlatiladi. Quyidagi qadamlar bajariladi:
Terminalni ochish Terminalni oching.
Tizimni yangilash Paket ro‘yxatini yangilash uchun:
sudo dnf update
Yoki eski tizimlarda:
sudo yum update
Bashni o‘rnatish Bashni o‘rnatish uchun:
sudo dnf install bash
Yoki:
sudo yum install bash
Versiyani tekshirish
bash --version
Arch Linux tizimlarida
Arch Linux’da pacman
paket boshqaruvchisi ishlatiladi:
Tizimni yangilash:
sudo pacman -Syu
Bashni o‘rnatish:
sudo pacman -S bash
Versiyani tekshirish:
bash --version
macOS da Bash o‘rnatish
macOS tizimlarida Bash odatda oldindan o‘rnatilgan bo‘ladi, lekin eski versiya (masalan, Bash 3.x) bo‘lishi mumkin. Yangi versiyani o‘rnatish uchun Homebrew
paket boshqaruvchisi ishlatiladi:
Home brew o‘rnatish - Agar Homebrew o‘rnatilmagan bo‘lsa, uni o‘rnatish uchun:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Tizimni yangilash
brew update
Bashni o‘rnatish
brew install bash
Standart shell sifatida o‘rnatish (ixtiyoriy) - Yangi Bash versiyasini standart shell qilish uchun:
sudo chsh -s /usr/local/bin/bash
Versiyani tekshirish
bash --version
Windows da Bash o‘rnatish
Windows operatsion tizimida Bashni ishlatish uchun bir nechta usullar mavjud:
Windows Subsystem for Linux (WSL)
WSL orqali Linux muhitini Windowsda sozlash mumkin
WSL ni yoqish
Windows PowerShell’da quyidagi buyruqni bajaring:
wsl --install
Bu Ubuntu distribyutivini va Bashni avtomatik o‘rnatadi.
Ubuntu terminalini ochish - WSL o‘rnatilgandan so‘ng, Ubuntu terminalini oching.
Bash versiyasini tekshirish
bash --version
Git Bash
Git Bash — Windows uchun yengil Unix-ga o‘xshash muhit:
Gitni o‘rnatish - Git for Windows’ni rasmiy saytidan yuklab oling va o‘rnating.
Git Bash ni ochish - O‘rnatishdan so‘ng Git Bash terminalini oching.
Bash versiyasini tekshirish:
bash --version
Cygwin
Cygwin Unix muhitini Windowsda taqlid qiladi:
Cygwin o‘rnatish - Cygwin rasmiy saytidan o‘rnatuvchini yuklab oling.
Bashni tanlash - O‘rnatish jarayonida
bash
paketini tanlang.Versiyani tekshirish:
bash --version
Bashni qo‘lda kompilyatsiya qilish
Agar maxsus versiya yoki sozlash kerak bo‘lsa, Bashni manba koddan kompilyatsiya qilish mumkin:
Manba kodni yuklab olish
wget https://ftp.gnu.org/gnu/bash/bash-5.2.tar.gz
Arxivni ochish
tar -xvzf bash-5.2.tar.gz cd bash-5.2
Konfiguratsiya
./configure
Kompilyatsiya va o‘rnatish
make sudo make install
Versiyani tekshirish
bash --version
Bash o‘rnatishning muhim jihatlari
Huquqlar - O‘rnatish jarayonida ko‘pincha
sudo
(root huquqlari) talab qilinadi.Internet aloqasi - Paket boshqaruvchilari orqali o‘rnatish uchun internet aloqasi kerak.
Versiya mosligi - Tizimingizga mos Bash versiyasini tanlash muhim, chunki eski yoki yangi versiyalar ba’zi skriptlarda muammolarga olib kelishi mumkin.
Fayl va kataloglar bilan ishlash: Asosiy buyruqlar
Fayl va kataloglar bilan ishlash Unix/Linux tizimlarida eng muhim vazifalardan biridir. Quyida cd
, pwd
, ls
, mkdir
, va rmdir
buyruqlari har biri alohida-alohida chuqur tahlil qilinadi.
cd
(Change Directory) — Katalogni o‘zgartirish
cd
(Change Directory) — Katalogni o‘zgartirishUmumiy ma’lumot
cd
buyrug‘i joriy ishchi katalogni o‘zgartirish uchun ishlatiladi. Unix/Linux tizimlarida fayl tizimi ierarxik tuzilishga ega bo‘lib, cd
foydalanuvchiga kataloglar o‘rtasida harakatlanish imkonini beradi.
Sintaksis
cd [katalog_yo‘li]
[katalog_yo‘li]
: O‘tmoqchi bo‘lgan katalogning yo‘li (absolyut yoki nisbiy).
Ishlatilish misollari
Bosh katalogga o‘tish
cd /
Bu tizimning ildiz katalogiga o‘tadi.
Foydalanuvchi uy katalogiga o‘tish
cd ~
Yoki:
cd
Bu foydalanuvchining uy katalogiga (masalan,
/home/user
) o‘tadi.Bir daraja yuqoriga ko‘tarilish
cd ..
Muayyan katalogga o‘tish
cd /var/log
Oldingi katalogga qaytish:
cd -
Nazariy jihatlar
Absolyut va nisbiy yo‘llar -
cd
absolyut yo‘llar (masalan,/home/user/docs
) yoki nisbiy yo‘llar (masalan,docs
) bilan ishlaydi.Muammolar: Agar ko‘rsatilgan katalog mavjud bo‘lmasa, xato xabari chiqadi:
cd /nonexistent bash: cd: /nonexistent: No such file or directory
Afzalliklari va cheklovlari
Afzalliklar - Tez va oddiy kataloglar o‘rtasida harakatlanish.
Cheklovlar - Katalog mavjud bo‘lishi va foydalanuvchida unga kirish huquqi bo‘lishi kerak.
pwd
(Print Working Directory) — Joriy katalogni ko‘rsatish
pwd
(Print Working Directory) — Joriy katalogni ko‘rsatishUmumiy ma’lumot
pwd
buyrug‘i foydalanuvchining joriy ishchi katalogini (working directory) ko‘rsatadi. Bu foydalanuvchiga qaysi katalogda ekanligini aniqlashda yordam beradi.
Sintaksis
pwd [opsiyalar]
Asosiy opsiyalar
-L
(logical) - Simvolik linklarni ko‘rsatadi (standart holat).-P
(physical) - Haqiqiy fayl tizimi yo‘lini ko‘rsatadi, simvolik linklarni ochadi.
shlatilish misollari
Joriy katalogni ko‘rsatish
pwd
Natija
/home/user
Haqiqiy yo‘lni ko‘rsatish
pwd -P
Agar joriy katalog simvolik link bo‘lsa, haqiqiy yo‘l ko‘rsatiladi.
Nazariy jihatlar
Fayl tizimi konteksti -
pwd
tizimning$PWD
muhit o‘zgaruvchisiga asoslanadi.Simvolik linklar - Simvolik linklar tufayli
-L
va-P
opsiyalari o‘rtasida farq yuzaga kelishi mumkin.
Afzalliklari va cheklovlari
Afzalliklar - Oddiy va tezkor yo‘l aniqlash.
Cheklovlar - Faqat joriy katalogni ko‘rsatadi, boshqa ma’lumot bermaydi.
ls
(List) — Fayl va kataloglarni ro‘yxatlash
ls
(List) — Fayl va kataloglarni ro‘yxatlashUmumiy ma’lumot
ls
buyrug‘i joriy yoki ko‘rsatilgan katalogdagi fayl va kataloglarni ro‘yxatlash uchun ishlatiladi. U fayl tizimi tarkibini ko‘rishda eng ko‘p ishlatiladigan buyruqlardan biridir.
Sintaksis
ls [opsiyalar] [katalog_yo‘li]
Asosiy opsiyalar
-l
: Uzun formatda ro‘yxatlash (huquqlar, egasi, o‘lchami va boshqalar).-a
: Yashirin fayllarni (.
bilan boshlanadigan) ko‘rsatish.-h
: Fayl o‘lchamlarini o‘qiladigan formatda ko‘rsatish (masalan, KB, MB).-R
: Rekursiv ravishda barcha ichki kataloglarni ro‘yxatlash.
Ishlatilish misollari
Joriy katalogdagi fayllarni ro‘yxatlash
ls
Natija
file1.txt folder1
Uzun formatda ro‘yxatlash
ls -l
Natija:
-rw-r--r-- 1 user user 1024 Jun 27 16:01 file1.txt drwxr-xr-x 2 user user 4096 Jun 27 16:01 folder1
Yashirin fayllarni ko‘rsatish
ls -a
Natija
. .. .hidden file1.txt folder1
Rekursiv ro‘yxatlash
ls -R
Nazariy jihatlar
Fayl tizimi tuzilishi -
ls
fayl tizimining joriy katalogdagi inode’larini o‘qiydi.Huquqlar va metadata -
-l
opsiyasi faylning huquqlari, egasi, guruh va o‘zgartirish vaqtini ko‘rsatadi.
Afzalliklari va cheklovlari
Afzalliklar - Tez va ko‘p funksiyali katalog tarkibini ko‘rish.
Cheklovlar - Katta kataloglarda ko‘p ma’lumot chiqishi mumkin, bu chalkashlikka olib kelishi mumkin.
mkdir
(Make Directory) — Katalog yaratish
mkdir
(Make Directory) — Katalog yaratishUmumiy ma’lumot
mkdir
buyrug‘i yangi katalog(lar) yaratish uchun ishlatiladi. U fayl tizimida yangi direktoriyalar tashkil qilishda muhim vositadir.
Sintaksis
mkdir [opsiyalar] katalog_nomi
Asosiy opsiyalar
-p
: Ichma-ich kataloglarni yaratish (agar ota-katalog mavjud bo‘lmasa).-m
: Yangi katalog uchun huquqlarni belgilash (masalan,755
).
Ishlatilish misollari
Yangi katalog yaratish
mkdir new_folder
Ichma-ich kataloglar yaratish
mkdir -p parent/child/grandchild
Huquqlarni belgilash
mkdir -m 755 public_folder
Nazariy jihatlar
Fayl tizimi operatsiyasi -
mkdir
fayl tizimida yangi inode yaratadi.Huquqlar - Yangi kataloglar odatda standart umask qiymatiga asoslangan huquqlarga ega bo‘ladi.
Afzalliklari va cheklovlari
Afzalliklar - Tez va moslashuvchan katalog yaratish.
Cheklovlar - Agar katalog allaqachon mavjud bo‘lsa, xato chiqadi (agar
-p
ishlatilmasa).
rmdir
(Remove Directory) — Bo‘sh kataloglarni o‘chirish
rmdir
(Remove Directory) — Bo‘sh kataloglarni o‘chirishUmumiy ma’lumot
rmdir
buyrug‘i faqat bo‘sh kataloglarni o‘chirish uchun ishlatiladi. Agar katalogda fayl yoki ichki kataloglar bo‘lsa, u ishlamaydi.
Sintaksis
rmdir [opsiyalar] katalog_nomi
Asosiy opsiyalar
-p
: Ichma-ich bo‘sh kataloglarni o‘chirish.--ignore-fail-on-non-empty
: Bo‘sh bo‘lmagan kataloglar uchun xatolarni e’tiborsiz qoldirish.
Ishlatilish misollari
Bo‘sh katalogni o‘chirish
rmdir empty_folder
Ichma-ich bo‘sh kataloglarni o‘chirish
rmdir -p parent/child/grandchild
Nazariy jihatlar
Cheklovlar -
rmdir
faqat bo‘sh kataloglarni o‘chira oladi. Tarkibli kataloglar uchunrm -r
ishlatiladi.Fayl tizimi operatsiyasi - Katalogning inode’ini o‘chiradi.
Afzalliklari va cheklovlari
Afzalliklar - Xavfsiz, chunki faqat bo‘sh kataloglarni o‘chiradi.
Cheklovlar - Tarkibli kataloglarni o‘chirish imkonsiz.
Xulosa
Bash o‘rnatish va fayl va kataloglar bilan ishlash Unix/Linux tizimlarida asosiy ko‘nikmalardir. Bashni o‘rnatish Linux distribyutivlari, macOS va Windows’da turli usullar orqali amalga oshiriladi, bu jarayon paket boshqaruvchilari yoki manba koddan kompilyatsiya orqali soddalashtiriladi. cd
, pwd
, ls
, mkdir
, va rmdir
buyruqlari fayl tizimi bilan samarali ishlashni ta’minlaydi, har biri o‘ziga xos vazifani bajaradi: kataloglar o‘rtasida harakatlanish, joriy katalogni aniqlash, fayl va kataloglarni ro‘yxatlash, yangi kataloglar yaratish va bo‘sh kataloglarni o‘chirish.
Last updated
Was this helpful?