# Web server ko'tarishda bilishingiz kerak bo'ladigan linux kommandalari

**Terminal buyruqlari va ularning texnik izohi**

### **1\. UFW (Uncomplicated Firewall) boshqaruvi**

#### 🔹 UFW holatini tekshirish

```bash
sudo ufw status
```

UFW faollashtirilgan yoki yo‘qligini, shuningdek, joriy xavfsizlik devori qoidalarini ko‘rsatadi.

#### 🔹 SSH uchun ruxsat berish

```bash
sudo ufw allow ssh
```

Tizimga masofaviy SSH ulanishlariga ruxsat beradi (standart port 22).

#### 🔹 Nginx uchun to‘liq ruxsat berish

```bash
sudo ufw allow 'Nginx Full'
```

Nginx’ning HTTP (port 80) va HTTPS (port 443) orqali to‘liq ishlashiga imkon beradi.

#### 🔹 UFW faollashtirish

```bash
sudo ufw enable
```

Tayyorlangan xavfsizlik devori qoidalarini faollashtiradi va tarmoq trafigini boshqaradi.

#### 🔹 UFW holatini qayta tekshirish

```bash
sudo ufw status
```

Faollashtirilganidan keyin xavfsizlik devorining joriy holatini tasdiqlaydi.

---

### **2\. Nginx veb-serverini boshqarish**

#### 🔹 Nginx’ni to‘xtatish

```bash
sudo systemctl stop nginx
```

Nginx veb-serverining ishini to‘xtatadi.

#### 🔹 Nginx’ni ishga tushirish

```bash
sudo systemctl start nginx
```

Nginx veb-serverini ishga tushiradi.

#### 🔹 Nginx’ni qayta ishga tushirish

```bash
sudo systemctl restart nginx
```

Konfiguratsiya o‘zgarishlarini qo‘llash yoki xizmatni yangilash uchun Nginx’ni qayta ishga tushiradi.

#### 🔹 Nginx xizmat holatini tekshirish

```bash
sudo systemctl status nginx
```

Nginx ishlayotgan yoki to‘xtatilganligini tekshiradi va muammolar bo‘lsa, ularni ko‘rsatadi.

#### 🔹 Nginx’ni avtomatik yuklanishga sozlash

```bash
sudo systemctl enable nginx
```

Tizim qayta ishga tushirilganda, Nginx avtomatik ishga tushishi uchun sozlaydi.

---

### **3\. Foyllar va kataloglarni boshqarish**

#### 🔹 Joriy katalogdagi fayl va papkalarni ro‘yxatlash

```bash
ls
```

Hozirgi katalogdagi fayllar va papkalarni ko‘rsatadi.

#### 🔹 Fayllar va kataloglarni batafsil ro‘yxatlash

```bash
ls -lrp
```

Fayllarning ruxsatlari, egasi, hajmi va sanasi kabi batafsil ma’lumotlarni ko‘rsatadi, papkalarni `/` bilan belgilaydi.

#### 🔹 Ishchi katalogni o‘zgartirish

```bash
cd /var/www/html
```

Ishchi katalogni `/var/www/html` ga o‘zgartiradi (bu odatda Nginx yoki Apache uchun asosiy veb-katalog hisoblanadi).

#### 🔹 Joriy katalog manzilini ko‘rsatish

```bash
pwd
```

Hozirgi ishchi katalogni (absolyut yo‘lni) ekranga chiqaradi.

---

### **4\. Fayllarni yaratish va o‘zgartirish**

#### 🔹 Terminalga matn chiqarish

```bash
echo "helloworld"
```

`helloworld` matnini terminalga chiqaradi.

#### 🔹 Bo‘sh fayl yaratish

```bash
touch index.html
```

`index.html` nomli bo‘sh faylni yaratadi.

#### 🔹 Superuser huquqlari bilan fayl yaratishga harakat qilish

```bash
sudo touch index.html
```

Superuser huquqlari bilan `index.html` faylini yaratishga harakat qiladi (biroq, ba’zi hollarda ruxsat yetarli bo‘lmasligi mumkin).

#### 🔹 Faylga matn yozish (faylni to‘liq o‘rnini bosadi)

```bash
sudo echo "Helloworld" > index.html
```

`index.html` fayliga `"Helloworld"` matnini yozadi va mavjud kontentni o‘chiradi.

#### 🔹 Faylni tahrirlash (Vi muharriri orqali)

```bash
sudo vi index.html
```

`index.html` faylini Vi muharririda superuser huquqlari bilan ochadi va tahrirlashga imkon beradi.

#### 🔹 Faylni o‘chirish

```bash
sudo rm index.html
```

`index.html` faylini superuser huquqlari bilan o‘chiradi.

---

### **Xulosa**

Bu buyruqlar Unix/Linux tizimlarida firewallni boshqarish, veb-serverni sozlash va fayl tizimi bilan ishlash uchun zarur bo‘lgan asosiy buyruqlardir. Bular tizim administratorlari va veb-ishlab chiquvchilar uchun muhim vositalar hisoblanadi.
