1-bo‘lim

Server nima va nega Linux

Serverning ish stolidan farqi, SSH orqali birinchi ulanish va tizim haqida birinchi savollar.

🕑 19 daqiqa o‘qish 📄 1 163 so‘z 👁 1 marta ko‘rilgan
Ushbu bo‘lim mundarijasi
  1. Server ish stolidan nimasi bilan farq qiladi
  2. Birinchi ulanish
  3. Tizim haqida birinchi savollar
  4. Buyruq tuzilishi
  5. Yordam qayerdan olinadi
  6. Sessiya tugagach
  7. Bu darslikda nima bo'ladi
  8. Xulosa

Server - bu boshqa kompyuterlarga xizmat ko'rsatadigan kompyuter. Uning ekrani, sichqonchasi va klaviaturasi yo'q. Siz unga tarmoq orqali ulanasiz va faqat matn ko'rasiz.

Server ish stolidan nimasi bilan farq qiladi #

XususiyatIsh stoliServer
InterfeysGrafikMatnli (terminal)
Ishlash vaqtiKunda 8 soatYilda 8760 soat
FoydalanuvchiBitta, oldida o'tirganKo'p, masofadan
YangilanishIstagan paytRejalashtirilgan oynada
Xato narxiBitta odam bezovtaBarcha mijozlar bezovta
KirishParol bilanKalit bilan
So'rov qayerdan qayerga boradi Brauzer Namangan 443-port Internet DNS + marshrut Server (Ubuntu) Xavfsizlik devori (16-bo'lim) Nginx + TLS (17, 18-bo'lim) Ilova xizmati (12-bo'lim) Ma'lumotlar bazasi Jurnal (13-bo'lim) Linux yadrosi va systemd Siz (SSH) 22-port kalit bilan shifrlangan kanal
Mijoz 443-portga, administrator esa 22-portga ulanadi

Birinchi ulanish #

Terminal
ssh husanboy@203.0.113.10

Birinchi marta ulanganda SSH sizdan tasdiq so'raydi:

Natija
The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:t7Kx...9Qm.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Bu savolga o'ylamasdan "yes" demang

Bu savol - "men bu serverni birinchi marta ko'ryapman, uning barmoq izi mana shu. To'g'rimi?" degani.

Agar siz keyinchalik yana shu savolni ko'rsangiz, bu jiddiy ogohlantirish: server almashgan yoki kimdir o'rtada turibdi.

Serverni yaratganda provayder sizga barmoq izini ko'rsatadi - uni saqlab qo'ying va birinchi ulanishda solishtiring.

8-bo'limda buni batafsil ko'ramiz.

Ulangandan keyin siz buyruq satrini ko'rasiz:

Natija
husanboy@srv-01:~$

Bu satr to'rt narsani aytadi:

QismMa'no
husanboyKim bo'lib kirgansiz
srv-01Qaysi serverdasiz
~Qaysi katalogdasiz (~ = uy katalogi)
$Oddiy foydalanuvchi (# bo'lsa - root)
$ va # orasidagi farq

$ - siz oddiy foydalanuvchisiz. Xato buyruq faqat sizning fayllaringizga zarar yetkazadi.

# - siz root siz. Xato buyruq butun serverni o'chirib yuborishi mumkin, va hech kim "rostdanmi?" deb so'ramaydi.

Shu sababli serverda doim oddiy foydalanuvchi bo'lib ishlang, root kerak bo'lganda esa sudo ishlating (7-bo'lim).

Tizim haqida birinchi savollar #

Serverga kirgach beriladigan birinchi savollar - men kimman, qayerdaman va bu qanday tizim.

Terminal
whoami
Natija
husanboy

Bu darslikdagi buyruqlar haqiqiy Linux tizimida husanboy foydalanuvchisi nomidan ishga tushirilib tekshirilgan, shuning uchun chiqishlar - haqiqiy chiqish.

Terminal
cd /var/log
pwd
Natija
/var/log

pwd - print working directory, ya'ni "hozir qaysi katalogdaman".

Terminal
uname -s -m -o
Natija
Linux x86_64 GNU/Linux
BayroqNima ko'rsatadi
-sYadro nomi (Linux)
-rYadro versiyasi
-mProtsessor arxitekturasi
-oOperatsion tizim
-aHammasi birdan

Distributiv nomi esa yadrodan alohida - u /etc/os-release faylida yozilgan:

Terminal
grep -E '^(ID|VERSION_ID)=' /etc/os-release
Natija
VERSION_ID="2026.1"
ID=kali
Distributiv nima uchun muhim

Yadro hamma yerda Linux, lekin buyruqlar farq qiladi:

OilaDistributivlarPaket buyrug'i
DebianDebian, Ubuntu, Kaliapt
Red HatRHEL, Fedora, Rockydnf
SUSEopenSUSE, SLESzypper
ArchArch, Manjaropacman

Ushbu darslik Debian oilasiga (Ubuntu Server) qaratilgan - bu serverlarda eng keng tarqalgan tanlov. Boshqa oilalarda tushunchalar bir xil, faqat paket buyrug'i boshqacha.

Buyruq tuzilishi #

Har bir buyruq bir xil shaklda:

Natija
buyruq  -bayroqlar  --uzun-bayroq  argumentlar

Uni amalda ko'ramiz. Avval sinov uchun uchta fayl yaratamiz:

Terminal
mkdir -p loyiha/jurnal
echo "birinchi qator" > loyiha/hisobot.txt
echo "ikkinchi qator" >> loyiha/hisobot.txt
echo "xato: ulanish uzildi" > loyiha/jurnal/xato.log
touch -d "2026-09-01 09:00:00" loyiha loyiha/hisobot.txt \n    loyiha/jurnal loyiha/jurnal/xato.log
Terminal
ls loyiha
Natija
hisobot.txt
jurnal

Endi bayroq qo'shamiz:

Terminal
ls -l loyiha
Natija
total 8
-rw-r--r-- 1 husanboy husanboy   30 Sep  1 09:00 hisobot.txt
drwxr-xr-x 2 husanboy husanboy 4096 Sep  1 09:00 jurnal
Sanalar bu yerda bir xil ko'rinishi mumkin

Yuqoridagi chiqishda sana touch -d bilan qat'iy belgilangan, shuning uchun u har safar bir xil. Sizning serveringizda sana faylning haqiqiy o'zgartirilgan vaqtini ko'rsatadi.

Ushbu darslikda barcha buyruqlar LC_ALL=C va TZ=UTC bilan ishga tushirilgan - shuning uchun chiqish doim bir xil bo'ladi va siz uni o'z natijangiz bilan solishtira olasiz.

Bayroqlarni birlashtirish mumkin - -l va -a o'rniga -la:

Terminal
ls -la loyiha/jurnal
Natija
total 12
drwxr-xr-x 2 husanboy husanboy 4096 Sep  1 09:00 .
drwxr-xr-x 3 husanboy husanboy 4096 Sep  1 09:00 ..
-rw-r--r-- 1 husanboy husanboy   21 Sep  1 09:00 xato.log

-a yashirin fayllarni ham ko'rsatadi. Linuxda nuqta bilan boshlanadigan har qanday fayl yashirin hisoblanadi - .bashrc, .ssh, .env.

. va .. nima

Har katalogda ikkita maxsus yozuv bor:

  • . - shu katalogning o'zi;
  • .. - ota katalog.

Shuning uchun cd .. yuqoriga chiqaradi, ./skript.sh esa "shu katalogdagi skript" degani.

Nima uchun skript.sh emas, ./skript.sh? Chunki Linux buyruqni faqat PATH da qidiradi, joriy katalogda emas - bu xavfsizlik chorasi (5-bo'limda batafsil).

Yordam qayerdan olinadi #

Har buyruqning o'z qo'llanmasi bor.

Terminal
mkdir --help | head -4
Natija
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.

To'liq qo'llanma - man buyrug'ida:

Terminal
man ls

man ichida: / bilan qidiring, n bilan keyingisiga o'ting, q bilan chiqing.

BuyruqQachon
buyruq --helpTez eslatma kerak
man buyruqTo'liq tavsif kerak
type buyruqBu umuman nima ekanini bilish
which buyruqFayl qayerdaligini bilish
Terminal
type cd; type ls; type -t grep
Natija
cd is a shell builtin
ls is /usr/bin/ls
file
Nega bu yerda /usr/bin/ls, ekranda esa rangli

Ko'p distributivlarda ~/.bashrc faylida shunday satr bor:

Terminal
grep -o "alias ls=.*" ~/.bashrc
Natija
alias ls='ls --color=auto'

Lekin yuqoridagi type ls chiqishida taxallus ko'rinmadi. Sababi - ~/.bashrc faqat interaktiv qobiqda o'qiladi. Bizning tekshiruvimiz esa skript rejimida ishlaydi.

Interaktiv sessiyada ochib ko'ring - u yerda type ls boshqa javob beradi:

Natija
ls is aliased to `ls --color=auto'

Bu skript yozganda muhim: skript ichida taxalluslar ishlamaydi. Skriptda ls deb yozsangiz, u sof /usr/bin/ls bo'ladi - ranglarsiz va sizning taxallus bayroqlaringizsiz.

Sessiya tugagach #

Serverdan chiqish:

Terminal
exit
SSH uzilsa, jarayon ham o'ladi

Agar siz uzoq davom etadigan buyruqni ishga tushirsangiz (yangilanish, zaxira nusxa) va ulanish uzilsa - jarayon to'xtaydi.

Yechim - tmux yoki screen:

BuyruqVazifa
tmuxYangi sessiya boshlash
Ctrl+b keyin dSessiyadan ajralish (jarayon davom etadi)
tmux attachSessiyaga qaytish
tmux lsSessiyalar ro'yxati

Yoki xizmat sifatida ishga tushiring - 12-bo'limda systemd buni to'g'ri hal qiladi.

Bu darslikda nima bo'ladi #

Bo'limlarMavzu
2-3Fayl tizimi, navigatsiya, qidirish
4-5Ruxsatlar va egalik
6-7Foydalanuvchilar, guruhlar, sudo
8SSH va kalit bilan kirish
9Paket boshqaruvi
10-11Jarayonlar va resurslar
12-13systemd xizmatlari va jurnal
14Disk va fayl tizimlari
15-16Tarmoq va xavfsizlik devori
17-18Nginx va TLS
19Zaxira nusxa va tiklash
20To'liq server sozlash loyihasi
Amaliy topshiriq
  1. Serverga SSH orqali ulaning va barmoq izini tekshiring.
  2. whoami va pwd bilan o'zingizni joylashtiring.
  3. uname -a chiqishining har qismini nomlang.
  4. /etc/os-release dan distributiv nomi va versiyasini oling.
  5. Uy katalogingizda loyiha/jurnal tuzilmasini yarating.
  6. ls, ls -l, ls -la chiqishlarini solishtiring.
  7. Uchta yashirin faylni toping va ular nima uchun kerakligini bilib oling.
  8. type bilan cd, ls, grep ni tekshiring - farqini tushuntiring.
  9. man ichida qidiruvni sinab ko'ring.
  10. tmux sessiyasini yarating, ajraling va qayting.

Xulosa #

  • Server - matnli interfeys va uzluksiz ishlash demak.
  • SSH barmoq izi - serverning shaxsiyati; uni tekshiring.
  • Buyruq satri kim, qayerda va qanday huquqda ekaningizni aytadi.
  • $ - oddiy foydalanuvchi, # - root; kundalik ish $ da.
  • Buyruq shakli: buyruq -bayroqlar argumentlar.
  • Nuqta bilan boshlanuvchi fayllar yashirin.
  • . - joriy katalog, .. - ota katalog.
  • --help tez eslatma, man to'liq qo'llanma beradi.
  • ls odatda taxallus - skriptlarda buni hisobga oling.
  • Uzoq buyruqlarni tmux ichida yoki xizmat sifatida ishga tushiring.

Keyingi bo'limda fayl tizimi ierarxiyasini o'rganamiz: /etc, /var, /usr - har biri nima uchun mavjud.

Xatolik topdingizmi?

Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.