Linux File System Structure
Linux File System Hierarchy Standard (FHS)
Linux distributionlarida fayl tizimi FHS (Filesystem Hierarchy Standard) bo'yicha tashkil etilgan. Bu standart barcha fayllar va papkalarning qayerda joylashishi kerakligini belgilaydi.
Root Directory (/) - Ildiz Katalog
Linux da barcha narsalar root directory / dan boshlanadi. Bu Windows dagi C:\ ga o'xshaydi, lekin Linux da faqat bitta ildiz mavjud.

Asosiy Kataloglar Tavsifi
/bin - Essential Command Binaries
- Maqsad: Barcha foydalanuvchilar uchun zarur buyruqlar
- Misollar:
ls,cp,mv,rm,cat,echo - DevOps uchun: Container image'larda minimal buyruqlar to'plami
# /bin katalogidagi buyruqlarni ko'rish
ls -la /bin/
/sbin - System Binaries
- Maqsad: Tizim administratori uchun buyruqlar
- Misollar:
mount,umount,fdisk,iptables - Huquqlar: Odatda root foydalanuvchi uchun
# /sbin katalogidagi buyruqlarni ko'rish
ls -la /sbin/
/etc - Configuration Files
- Maqsad: Tizim konfiguratsiya fayllari
- Muhim fayllar:
/etc/passwd- foydalanuvchi ma'lumotlari/etc/hosts- host fayllari/etc/fstab- fayl tizimi jadval/etc/crontab- cron ishi jadvali/etc/nginx/- Nginx konfiguratsiyasi/etc/docker/- Docker konfiguratsiyasi
# Muhim konfiguratsiya fayllarini ko'rish
ls -la /etc/passwd
ls -la /etc/hosts
ls -la /etc/fstab
/home - User Home Directories
- Maqsad: Foydalanuvchilarning shaxsiy kataloglari
- Struktura:
/home/username/ - DevOps uchun: SSH kalitlari, konfiguratsiya fayllari
# Foydalanuvchi katalogini ko'rish
ls -la /home/
ls -la /home/$USER/
/root - Root User Home
- Maqsad: Root foydalanuvchining shaxsiy katalogi
- Joylashuv:
/home/dan alohida - Xavfsizlik: Maxsus himoyalangan
/var - Variable Data
- Maqsad: O'zgaruvchan ma'lumotlar
- Muhim papkalar:
/var/log/- log fayllari/var/lib/- dastur ma'lumotlari/var/cache/- kesh fayllari/var/spool/- navbat fayllari/var/www/- veb-server fayllari
# Log fayllarni ko'rish
ls -la /var/log/
# Docker ma'lumotlarini ko'rish
ls -la /var/lib/docker/
/tmp - Temporary Files
- Maqsad: Vaqtinchalik fayllar
- Xususiyatlari: Tizim qayta ishga tushganda tozalanadi
- Huquqlar: Barcha foydalanuvchilar yoza oladi
# Vaqtinchalik fayl yaratish
echo "test" > /tmp/test.txt
/usr - User Programs
- Maqsad: Foydalanuvchi dasturlari va ma'lumotlari
- Struktura:
/usr/bin/- foydalanuvchi buyruqlari/usr/sbin/- tizim buyruqlari/usr/lib/- kutubxonalar/usr/local/- mahalliy o'rnatilgan dasturlar/usr/share/- arxitektura-mustaqil fayllar
# /usr/bin da dasturlarni ko'rish
ls -la /usr/bin/ | head -20
/opt - Optional Software
- Maqsad: Qo'shimcha dasturlar
- Misollar: Google Chrome, Skype, third-party dasturlar
- DevOps uchun: Maxsus vositalar o'rnatish
/lib va /lib64 - Shared Libraries
- Maqsad: Dinamik kutubxonalar (.so fayllari)
- Muhimlik: Tizim ishlashi uchun zarur
- DevOps uchun: Container image optimizatsiyasi
/dev - Device Files
- Maqsad: Qurilma fayllari
- Misollar:
/dev/sda1- birinchi disk/dev/null- "qora tuynuk"/dev/zero- nol generatori/dev/random- tasodifiy raqamlar
# Disk qurilmalarini ko'rish
ls -la /dev/sd*
# Null device test
echo "test" > /dev/null
/proc - Process Information
- Maqsad: Virtual fayl tizimi (RAM da)
- Ma'lumotlar: jarayonlar, tizim holati
- Misollar:
/proc/cpuinfo- CPU ma'lumotlari/proc/meminfo- xotira ma'lumotlari/proc/[PID]/- jarayon ma'lumotlari
# CPU ma'lumotlarini ko'rish
cat /proc/cpuinfo
# Xotira holatini ko'rish
cat /proc/meminfo
/sys - System Information
- Maqsad: Kernel va qurilma ma'lumotlari
- Virtual: RAM da joylashgan
- Foydalanish: tizim monitoringi
/boot - Boot Files
- Maqsad: Tizim yuklash fayllari
- Misollar:
vmlinuz- kernelinitrd.img- initial ramdiskgrub/- bootloader konfiguratsiyasi
/media va /mnt - Mount Points
/media/: USB, CD/DVD kabi removable media uchun/mnt/: Vaqtinchalik mount uchun- DevOps uchun: Docker volume'lar, network storage
File System Types
Mahalliy File System'lar
- ext4: Linux uchun standart
- xfs: Katta fayllar uchun optimal
- btrfs: Snapshot va subvolume qo'llab-quvvatlaydi
- zfs: Ma'lumotlar yaxlitligi va siqish
Network File System'lar
- NFS: Network File System
- CIFS/SMB: Windows bilan ulashish
- GlusterFS: Distributed storage
- CephFS: Scalable storage
Maxsus File System'lar
- tmpfs: RAM da fayl tizimi
- overlayfs: Container layer'lar uchun
- devtmpfs: Device files uchun
DevOps uchun Muhim Kataloglar
Docker va Container'lar
# Docker ma'lumotlari
/var/lib/docker/
├── containers/ # Container ma'lumotlari
├── images/ # Image layer'lari
├── volumes/ # Docker volume'lar
└── networks/ # Network konfiguratsiyasi
Kubernetes
# Kubelet ma'lumotlari
/var/lib/kubelet/
├── pods/ # Pod ma'lumotlari
├── config/ # Kubelet konfiguratsiyasi
└── plugins/ # CSI plugin'lar
# etcd ma'lumotlari
/var/lib/etcd/
Log Files (DevOps uchun muhim)
/var/log/
├── syslog # Tizim log'lari
├── auth.log # Autentifikatsiya log'lari
├── nginx/ # Nginx log'lari
├── apache2/ # Apache log'lari
├── docker/ # Docker daemon log'lari
└── kubernetes/ # Kubernetes component log'lari
SSH va Security
# SSH konfiguratsiyasi
/etc/ssh/
├── sshd_config # SSH daemon konfiguratsiyasi
├── ssh_config # SSH client konfiguratsiyasi
└── ssh_host_* # Host kalitlari
# Foydalanuvchi SSH kalitlari
~/.ssh/
├── id_rsa # Private key
├── id_rsa.pub # Public key
├── authorized_keys # Ruxsat etilgan kalitlar
└── known_hosts # Ma'lum host'lar
Mount Points va Disk Management
Mount Buyruqlari
# Mount qilingan fayl tizimlarini ko'rish
mount
df -h
# Yangi disk mount qilish
sudo mount /dev/sdb1 /mnt/newdisk
# Unmount qilish
sudo umount /mnt/newdisk
/etc/fstab Konfiguratsiyasi
# /etc/fstab misoli
/dev/sda1 / ext4 defaults 1 1
/dev/sda2 /home ext4 defaults 1 2
tmpfs /tmp tmpfs defaults 0 0
File Permissions va Ownership
Permission Bits
# File permission ko'rish
ls -la filename
# Permission o'zgartirish
chmod 755 filename # rwxr-xr-x
chmod u+x filename # User uchun execute qo'shish
# Ownership o'zgartirish
chown user:group filename
Special Directories
# Sticky bit (faqat owner o'chira oladi)
chmod +t /tmp
# SUID bit (owner sifatida ishga tushadi)
chmod u+s /usr/bin/sudo
# SGID bit (group sifatida ishga tushadi)
chmod g+s /directory
Xulosa
Linux fayl tizimi tuzilishi FHS standartiga asoslangan bo'lib, har bir katalogning o'z maqsadi va qoidalari mavjud. DevOps muhandislari uchun eng muhim kataloglar /etc, /var, /usr, /opt va /proc hisoblanadi. Bu kataloglarni to'g'ri tushunish tizimni samarali boshqarish va monitoring qilishda juda muhimdir.