April 18

linux kundalik PRO

"Linux: Professionallar uchun qaydlar" β€” Mundarija

1-bob: GNU/Linux bilan ishlashni boshlash (Getting started)

  • 1.1-bo'lim: Foydali qisqa tugmalar (Shortcuts).
  • 1.2-bo'lim: Fayllarni boshqarish buyruqlari (File Management).
  • 1.3-bo'lim: "Hello World" (Birinchi qadamlar).
  • 1.4-bo'lim: Linuxning asosiy utilitalari.
  • 1.5-bo'lim: Fayllarni nomi va tarkibi bo'yicha qidirish.
  • 1.6-bo'lim: Fayllar ustida amallar (Manipulation).
  • 1.7-bo'lim: Fayl va kataloglar haqida batafsil ma'lumot (Details).

2-bob: Linux distributivi nomi va versiyasini aniqlash

  • 2.1-bo'lim: Debian-ga asoslangan tizimlarni aniqlash.
  • 2.2-bo'lim: Systemd-ga asoslangan tizimlarni aniqlash.
  • 2.3-bo'lim: RHEL / CentOS / Fedora-ni aniqlash.

3-bob: Linux yadrosi (Kernel) haqida ma'lumot olish

4-bob: Shell (Buyruqlar qobig'i)

  • 4.1-bo'lim: Standart shell'ni o'zgartirish.
  • 4.2-bo'lim: Qaysi shell ishlatilayotganini aniqlash.
  • 4.3-bo'lim: Alias (buyruqlarga taxalluslar) yaratish.

5-bob: Disk bo'shlig'ini tekshirish (Disk Space)

  • 5.1-bo'lim: Kataloglarning diskdan foydalanishini tahlil qilish.
  • 5.2-bo'lim: Diskdagi bo'sh joyni ko'rish.

6-bob: Inodlar (Inodes)

7-bob: Foydalanuvchilar va guruhlar (Users and Groups)

  • 7.1-bo'lim: Foydalanuvchi qo'shish.
  • 7.2-bo'lim: Foydalanuvchini guruhga qo'shish.

8-bob: Paket menejerlari (Package Managers)

  • apt, yum, dnf va rpm tizimlari orqali dasturlarni boshqarish.

9-bob: Tizim xizmatlari (Services)

  • systemd va service buyruqlari yordamida jarayonlarni boshqarish.

10-bob: Modullar (Kernel Modules)

11-bob: Atrof-muhit o'zgaruvchilari (Environment Variables)

12-bob: Kirish/Chiqishni yo'naltirish (I/O Redirection)

  • >, >>, | (payplar) va xatoliklarni yo'naltirish.

13-bob: Fayllarni ko'rish va tahrirlash (View/Edit Files)

  • cat, less, nano, vi/vim tahrirlagichlari.

14-bob: Xavfsiz ulanish (SSH)

  • Masofaviy serverlarga ulanish va sozlash.

15-bob: Fayllarni tarmoq orqali nusxalash (SCP, Rsync)

16-bob: Tarmoq konfiguratsiyasi (Networking)

  • IP manzillar, DNS va portlar bilan ishlash.

17-bob: Jarayonlarni boshqarish (Process Management)

  • top, htop, kill va jarayonlarni fonda ishga tushirish.

18-bob: Cron Jobs (Vazifalarni rejalashtirish)

  • Avtomatik va vaqtga sozlangan vazifalar.

19-bob: Arxivlash va siqish (Tar, Gzip, Zip)

20-bob: Shell Scripting (Skript yozish)

  • O'zgaruvchilar, sikllar (loops) va shartlar (if-else).

21-bob: Tizim loglari (Logs)

  • /var/log va journalctl yordamida xatoliklarni qidirish.

1-bob: GNU/Linux bilan ishlashni boshlash

1.1-bo'lim: Foydali qisqa tugmalar (Useful shortcuts)

Terminaldan foydalanish Ushbu hujjatdagi misollar sizning POSIX-mos keluvchi (masalan: bash, sh, zsh, ksh) shell (qobiq) ishlatayotganingizni nazarda tutadi.

GNU/Linux funksionalligining katta qismi terminal orqali amalga oshiriladi. Aksariyat Linux distributivlari foydalanuvchilarga ish stoli muhitidan turib shell bilan muloqot qilish imkonini beruvchi terminal emulyatorlarini o'z ichiga oladi. Shell β€” bu foydalanuvchi tomonidan kiritilgan buyruqlarni bajaruvchi buyruqlar satri interpretatoridir. Bash (Bourne Again SHell) ko'plab Linux distributivlarida standart shell hisoblanadi (shuningdek, macOS'da ham).

Agar siz Bash'ni standart emacs tugmalar birikmasi bilan ishlatayotgan bo'lsangiz, quyidagi qisqa tugmalar ishlaydi:

Terminalni ochish:

  • Ctrl + Alt + T yoki Super + T (Super tugmasi odatda Windows logotipi tushirilgan tugma).

Kursorni harakatlantirish:

  • Ctrl + A: Siz yozayotgan qatorning boshiga o'tish.
  • Ctrl + E: Siz yozayotgan qatorning oxiriga o'tish.
  • Ctrl + XX: Qatorning boshi va kursorning joriy holati o'rtasida tezkor almashish.
  • Alt + F: Kursorni bir so'z oldinga surish.
  • Alt + B: Kursorni bir so'z orqaga surish.
  • Ctrl + F: Kursorni bir belgi oldinga surish.
  • Ctrl + B: Kursorni bir belgi orqaga surish.

Matn bilan ishlash (Text manipulation):

  • Ctrl + U: Kursordan qator boshigacha bo'lgan qismni kesib oladi va almashuv buferiga (clipboard) saqlaydi. Agar kursor qator oxirida bo'lsa, butun qatorni kesadi.
  • Ctrl + K: Kursordan qator oxirigacha bo'lgan qismni kesib oladi.
  • Ctrl + W: Kursordan oldingi so'zni o'chiradi va buferga saqlaydi.
  • Ctrl + Y: Oxirgi kesib olingan matnni kursordan keyin joylashtiradi (past).
  • Alt + T: Kursordan oldingi oxirgi ikki so'zning o'rnini almashtiradi.
  • Alt + L: Kursordan so'z oxirigacha bo'lgan harflarni kichik (lowercase) qiladi.
  • Alt + U: Kursordan so'z oxirigacha bo'lgan harflarni KATTA (uppercase) qiladi.
  • Alt + C: Kursordan boshlab so'z oxirigacha bosh harfga aylantiradi.
  • Alt + D: Kursordan so'z oxirigacha o'chiradi.
  • Alt + .: Oldingi buyruqda ishlatilgan oxirgi so'zni chiqaradi.
  • Ctrl + T: Kursordan oldingi oxirgi ikki belgining o'rnini almashtiradi.

Tarixga (History) kirish:

  • Ctrl + R: Avval ishlatilgan buyruqlar orasidan qidirish.
  • Ctrl + G: Buyruqni bajarmasdan qidiruv rejimidan chiqish.
  • Ctrl + J: Qidiruvda topilgan buyruqni ishga tushirmasdan tahrirlash uchun terminalga nusxalaydi.
  • Alt + R: Agar tarixdan olingan buyruq tahrirlangan bo'lsa, o'zgarishlarni bekor qilib asliga qaytaradi.
  • Ctrl + P: Oldingi bajarilgan buyruqni ko'rsatadi (Yuqoriga yo'nalish tugmasi kabi).
  • Ctrl + N: Keyingi bajarilgan buyruqni ko'rsatadi (Pastga yo'nalish tugmasi kabi).

Terminalni boshqarish:

  • Ctrl + L: Ekranni tozalaydi (clear buyrug'i kabi).
  • Ctrl + S: Ekrandagi ma'lumotlar chiqishini to'xtatadi. Bu juda uzun natija beruvchi buyruqlarni o'qishda foydali, lekin buyruqning o'zini to'xtatmaydi.
  • Ctrl + Q: Ctrl + S bilan to'xtatilgan chiqishni davom ettiradi.
  • Ctrl + C: Joriy ishlayotgan jarayonni yakunlaydi.
  • Ctrl + D: Joriy shell sessiyasidan chiqadi (exit yoki logout kabi). Ba'zida "Fayl oxiri" (EOF) signali sifatida ishlaydi.
  • Ctrl + Z: Oldingi plandagi (foreground) jarayonni vaqtincha to'xtatadi (pause). Shundan so'ng bg buyrug'i bilan uni fonda davom ettirish yoki fg bilan yana oldinga qaytarish mumkin. jobs buyrug'i barcha fon jarayonlarini ko'rsatadi.
  • Tab: Fayl va katalog nomlarini avtomatik to'ldiradi.
  • Tab + Tab: Agar bir nechta o'xshash nomlar bo'lsa, barcha variantlarni ko'rsatadi.

Maxsus belgilar:

  • Ctrl + H: Backspace vazifasini bajaradi.
  • Ctrl + I: Tab vazifasini bajaradi.
  • Ctrl + G: Qo'ng'iroq (Bell) belgisi.
  • Esc: Alt tugmasining o'rnini bosuvchi o'lik tugma (Deadkey).

Terminalni yopish:

  • Ctrl + Shift + W: Terminal tabini yopish.
  • Ctrl + Shift + Q: Butun terminal oynasini yopish.

Eslatma: Xohishingizga ko'ra, set -o vi buyrug'i orqali vi tugmalar birikmasiga o'tishingiz mumkin. emacs rejimiga qaytish uchun set -o emacs yoziladi.

1.2-bo'lim: Fayllarni boshqarish buyruqlari (File Management Commands)

Linux tizimida joriy va yuqori (ota) kataloglar uchun maxsus belgilashlar mavjud. Bu yangi o'rganuvchilar uchun biroz tushunarsiz tuyulishi mumkin.

Linux terminalida ishlaganingizda, siz doimo joriy ishchi katalogda (current working directory) bo'lasiz. Terminaldagi buyruqlar satri (prompt) sizga to'liq manzilni yoki faqat joriy papka nomini ko'rsatishi mumkin. Masalan:

  • user@host ~/somedir $
  • user@host /home/user/somedir $Bu yerda joriy ishchi katalog /home/user/somedir hisoblanadi.

Muhim belgilar:

  • .. (ikki nuqta) β€” ota (yuqori) katalogni bildiradi.
  • . (bir nuqta) β€” joriy katalogni bildiradi.

Kataloglar bo'ylab harakatlanish (Directory navigation)

Buyruq

Vazifasi (Utility)

pwd

Joriy ishchi katalogning to'liq manzini olish.

cd -

Oxirgi marta ishlagan katalogga qaytish.

cd ~ yoki shunchaki cd

Joriy foydalanuvchining shaxsiy (home) katalogiga o'tish.

cd ..

Joriy katalogning ota katalogiga (bir pog'ona yuqoriga) o'tish (cd va .. orasida bo'sh joy bo'lishi shart).


Katalog ichidagi fayllarni ko'rish (Listing files)

Buyruq

Vazifasi (Utility)

ls -l

Fayl va kataloglarni uzun (jadval) formatda chiqarish. O'qishga qulayligi uchun -l opsiyasidan foydalanish tavsiya etiladi.

ls -ld dir-name

Katalog ichidagi ma'lumotlarni emas, balki dir-name katalogining o'zi haqidagi ma'lumotlarni chiqaradi.

ls -a

Barcha fayllarni, shu jumladan yashirin fayllarni ham ko'rsatadi (Linuxda nomi . bilan boshlanadigan fayllar yashirin hisoblanadi).

ls -F

Fayl nomining oxiriga uning turini bildiruvchi belgi qo'shadi (* β€” ishga tushiriladigan, / β€” katalog, @ β€” simvolik havola).

ls -lt

Oxirgi o'zgartirilgan vaqti bo'yicha saralaydi (eng yangilari yuqorida).

ls -lh

Fayl o'lchamlarini odam tushunadigan formatda (KB, MB, GB) ko'rsatadi.

ls -lR

Barcha ichki kataloglarni rekursiv ravishda ko'rsatadi.

tree

Fayl tizimining joriy katalogdan boshlab daraxtsimon ko'rinishini hosil qiladi.


Fayl/katalog yaratish, nusxalash va o'chirish

Buyruq

Vazifasi (Utility)

cp -p source destination

Faylni nusxalaydi. -p opsiyasi faylning asl atributlarini (egasi, vaqti, huquqlari) saqlab qoladi.

cp -R source_dir destination_dir

Berilgan katalogni rekursiv ravishda (ichidagi hamma narsasi bilan) nusxalaydi.

mv file1 file2

Linuxda alohida nom o'zgartirish buyrug'i yo'q. Shuning uchun mv faylni ko'chiradi yoki nomini o'zgartiradi.

rm -i filename

Faylni o'chirishdan oldin har safar tasdiqlash so'raydi. Yangi foydalanuvchilar uchun har doim rm -i ishlatish tavsiya etiladi.

rm -R dir-name

dir-name katalogini rekursiv ravishda o'chiradi.

rm -rf dir-name

Katalogni rekursiv o'chiradi, mavjud bo'lmagan fayllarni e'tiborsiz qoldiradi va hech qachon tasdiqlash so'ramaydi. BU BUYRUQNI ISHLATISHDA JUDA EHTIYOT BO'LING!

rmdir dir-name

Agar katalog bo'sh bo'lsa, uni o'chiradi.

mkdir dir-name

dir-name nomli yangi katalog yaratadi.

mkdir -p dir-name/dir-name

Kataloglar ierarhiyasini yaratadi. Agar ota kataloglar mavjud bo'lmasa, ularni ham bir yo'la yaratib ketadi.

touch filename

Agar fayl mavjud bo'lmasa, uni yaratadi; agar mavjud bo'lsa, uning vaqtini joriy vaqtga yangilaydi.


Fayl/katalog ruxsatlari va guruhlari

Buyruq

Vazifasi (Utility)

chmod <specs> filename

Fayl ruxsatlarini o'zgartiradi. Belgi: u - foydalanuvchi, g - guruh, o - boshqalar; + - qo'shish, - - olib tashlash; r - o'qish, w - yozish, x - bajarish.

chmod -R <specs> dir-name

Katalog va uning ichidagi barcha narsalarning ruxsatlarini rekursiv o'zgartiradi.

chmod go=+r myfile

Guruh (g) va boshqalar (o) uchun o'qish (r) ruxsatini qo'shadi.

chmod a+rwx myfile

Barcha foydalanuvchilarga (a) o'qish, yozish va bajarish huquqini beradi.

chown owner1 filename

Fayl egaligini owner1 foydalanuvchisiga o'zgartiradi.

chgrp grp_owner filename

Faylning guruh egaligini grp_owner guruhiga o'zgartiradi.

chgrp -R grp_owner dir-name

Katalog va uning ichidagi barcha narsalarning guruh egaligini rekursiv o'zgartiradi.

1.3-bo'lim: Hello World (Salom Dunyo)

Terminalga quyidagi kodni yozing va Enter tugmasini bosing:

Bash

echo "Hello World"

Bu buyruq quyidagi natijani chiqaradi:

Hello World


1.4-bo'lim: Linuxning asosiy utilitalari (Basic Linux Utilities)

Linuxda deyarli har qanday vazifa uchun maxsus buyruqlar mavjud bo'lib, ularning aksariyati mantiqiy va tushunish uchun oson.

Linuxda yordam olish (Getting Help)

Akademik va professional muhitda buyruqlar haqida ma'lumot olishning eng samarali usullari:

Buyruq

Foydalanish maqsadi (Usability)

man <nom>

<nom> nomli dasturning qo'llanma (manual) sahifasini o'qish.

man <bo'lim> <nom>

Qo'llanmaning ma'lum bir bo'limiga tegishli qismini o'qish.

man -k <kalit_so'z>

Qo'llanma sahifalarida <kalit_so'z> qatnashgan barcha dasturlarni chiqarish.

apropos <so'z>

Tavsifi berilgan so'zga mos keladigan barcha ilovalarni ko'rsatadi (buyruq nomi esdan chiqqanda juda foydali).

whatis vim

vim dasturi haqida qisqacha bir qatorli ta'rif beradi.

<buyruq> --help

Dasturdan foydalanish bo'yicha ko'rsatmalarni chiqaradi. Ba'zan -h ham ishlaydi.

info <nom>

Dastur haqida kengaytirilgan ma'lumotlarni ko'rish.

help

Bash qobig'ida mavjud bo'lgan barcha ichki buyruqlar ro'yxatini ko'rsatadi.

Paketlar bilan ishlash (Debian-ga asoslangan tizimlar uchun):

  • dpkg -l: Tizimga o'rnatilgan barcha paketlar ro'yxatini chiqaradi.
  • dpkg -L <paket_nomi>: Berilgan paket tomonidan o'rnatilgan fayllar va ularning manzillarini ko'rsatadi.

Foydalanuvchini aniqlash va Linux dunyosida "Kim kim?"

Buyruq

Vazifasi (Usability)

hostname

Tizimning tarmoqdagi nomini (hostname) ko'rsatadi.

hostname -f

Tizimning to'liq domen nomini (FQDN) ko'rsatadi.

passwd

Joriy foydalanuvchining parolini o'zgartirish.

whoami

Terminalda ishlayotgan joriy foydalanuvchi nomini chiqaradi.

who

Tizimga ayni damda kirgan barcha foydalanuvchilar ro'yxati.

w

Tizim holati, vaqti, foydalanuvchilar va ularning nima ish qilayotgani haqida batafsil ma'lumot.

last

Tizimdan oxirgi marta kimlar foydalanganini ko'rsatadi.

last root

root (administrator) foydalanuvchisi oxirgi marta qachon kirganini ko'rsatadi.

lastb

Tizimga kirishdagi barcha muvaffaqiyatsiz (shubhali) urinishlarni ko'rsatadi.


Jarayonlar bilan bog'liq ma'lumotlar (Process related information)

Jarayonlarni (processes) kuzatish tizim resurslarini boshqarish uchun muhimdir.

Buyruq

Vazifasi (Usability)

top

Resurslarni eng ko'p iste'mol qilayotgan jarayonlarni doimiy yangilanib turadigan jadvalda ko'rsatadi. Chiqish uchun q tugmasi bosiladi.

ps

Joriy terminal sessiyasida ishlayotgan jarayonlarni ko'rsatadi.

ps -u root

root foydalanuvchisi tomonidan ishga tushirilgan barcha jarayonlar va buyruqlarni ko'rsatadi.

ps aux

Tizimdagi barcha foydalanuvchilarning barcha ishlayotgan jarayonlarini to'liq ro'yxat qiladi.

1.5-bo'lim: Fayllarni nomi yoki tarkibidagi namunalar bo'yicha qidirish

Linux buyruqlar satri (shell) foydalanuvchilari uchun eng ko'p uchraydigan vazifalardan biri β€” ma'lum bir nomga ega bo'lgan yoki ichida maxsus matni bor fayl va kataloglarni qidirishdir. Buning uchun quyidagi ikki asosiy buyruqni yaxshi o'rganib olishingiz kerak:

Fayllarni nomi bo'yicha qidirish (find)

Bash

find /var/www -name '*.css'

Ushbu buyruq /var/www katalogi va uning ichidagi barcha quyi papkalardan .css bilan tugaydigan barcha fayllarning to'liq manzili va nomini chiqaradi. Natija namunasi:

  • /var/www/html/text-cursor.css
  • /var/www/html/style.css

Batafsil ma'lumot uchun: man find

Ichida matni bor fayllarni qidirish (grep)

Bash

grep font /var/www/html/style.css

Bu buyruq ko'rsatilgan fayl ichidan font namunasi (so'zi) qatnashgan barcha qatorlarni chiqaradi. Natija namunasi:

  • font-weight: bold;
  • font-family: monospace;

Yana bir misol:

Bash

grep font /var/www/html/

Bu buyruq kutilganidek ishlamaydi va sizga quyidagi xatoni beradi:

grep: /var/www/html/: Is a directory (bu katalog ekanligini bildiradi).

Buni to'g'ri bajarish uchun -R (rekursiv) opsiyasidan foydalanish kerak:

Bash

grep -R font /var/www/html/

Natijada barcha ichki kataloglardagi fayllar ham tekshiriladi. E'tibor bering, agar grep bir nechta fayldan qidirsa, natija qaysi faylga tegishli ekanligini ko'rsatish uchun qator boshiga fayl nomini qo'shib qo'yadi. Agar bu nomlar kerak bo'lmasa, -h opsiyasini qo'shishingiz mumkin.

Batafsil ma'lumot uchun: man grep


1.6-bo'lim: Fayl manipulyatsiyasi (File Manipulation)

Fayllar va kataloglar Linuxning markazida turadi. Ularni buyruqlar satri orqali yaratish, ko'rish, ko'chirish va o'chirish juda muhim va kuchli ko'nikma hisoblanadi. Bu buyruqlar grafik fayl menejerlari (explorer) bajaradigan vazifalarni terminalda bajarish imkonini beradi.

  • Bo'sh matnli fayl yaratish (myFile nomli):touch myFile
  • Fayl nomini o'zgartirish (myFile dan myFirstFile ga):mv myFile myFirstFile
  • Fayl tarkibini ko'rish:cat myFirstFile
  • Fayl tarkibini sahifalab ko'rish (peydjer yordamida):less myFirstFile
  • Faylning dastlabki bir necha qatorini ko'rish:head myFirstFile
  • Faylning oxirgi bir necha qatorini ko'rish:tail myFirstFile
  • Faylni tahrirlash:vi myFirstFile
  • Joriy ishchi katalogdagi fayllarni ko'rish:ls
  • Bo'sh katalog (papka) yaratish:mkdir myFirstDirectory
  • Ko'p bosqichli yo'lga ega katalog yaratish:mkdir -p src/myFirstDirectory(Bu buyruq bir vaqtning o'zida ham src, ham uning ichida myFirstDirectory papkalarini yaratadi).
  • Faylni katalog ichiga ko'chirish:mv myFirstFile myFirstDirectory/
  • Joriy ishchi katalogni o'zgartirish (papkaga kirish):cd myFirstDirectory
  • Faylni o'chirish:rm myFirstFile
  • Ota katalogga (yuqoriga) qaytish:cd ..
  • Bo'sh katalogni o'chirish:rmdir myFirstDirectory
  • Bo'sh bo'lmagan katalogni (ichida fayllari bor) o'chirish:rm -rf myFirstDirectory

Eslatma: Kataloglarni o'chirishda ./ (joriy joy) va / (ildiz tizimi) belgilariga juda ehtiyot bo'ling. / belgisini noto'g'ri ishlatish butun fayl tizimingizni o'chirib yuborishi mumkin.

1.7-bo'lim: Fayl va katalog tafsilotlari (File/Directory details)

ls buyrug'i fayllar haqida ko'proq ma'lumot olish uchun birgalikda ishlatilishi mumkin bo'lgan bir nechta opsiyalarga ega.

Tafsilotlar va Huquqlar (Details/Rights)

-l opsiyasi fayl ruxsatlari (permissions), hajmi va oxirgi o'zgartirilgan sanasini ko'rsatadi. Masalan, joriy papkada test nomli katalog va someFile.txt fayli bo'lsa, ls -l buyrug'i quyidagicha natija beradi:

Bash

-rw-r--r-- 1 user users   70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4096 Jul 21 07:18 test

Ruxsatlar drwxrwxrwx formatida ko'rsatiladi:

  1. Birinchi belgi: Fayl turini bildiradi. Agar u katalog (papka) bo'lsa d, aks holda - belgisi bo'ladi.
  2. Keyingi uchta rwx: Fayl egasi (user) uchun ruxsatlar.
  3. Undan keyingi uchta rwx: Fayl a'zo bo'lgan guruh (group) uchun ruxsatlar.
  4. Oxirgi uchta rwx: Qolgan barcha foydalanuvchilar (others) uchun ruxsatlar.

Belgilarning ma'nosi:

  • r (read) β€” faylni o'qish mumkinligini bildiradi.
  • w (write) β€” faylni o'zgartirish (yozish) mumkinligini bildiradi.
  • x (execute) β€” faylni ishga tushirish (bajarish) mumkinligini bildiradi.
  • Agar biror huquq berilmagan bo'lsa, tegishli harf o'rnida - belgisi turadi.

Yuqoridagi misolda foydalanuvchi someFile.txtni o'qiy oladi va o'zgartira oladi, lekin guruh faqat o'qish huquqiga ega.

Huquqlarni o'zgartirish (chmod)

Agar sizda sudo huquqi bo'lsa, chmod ### fayl_nomi buyrug'i orqali huquqlarni o'zgartirishingiz mumkin. Bunda:

  • r (o'qish) = 4
  • w (yozish) = 2
  • x (bajarish) = 1

Masalan, test katalogiga quyidagicha huquqlarni o'rnatmoqchi bo'lsangiz:

  • Ega (Owner): rwx = 4+2+1 = 7
  • Guruh (Group): r-x = 4+0+1 = 5
  • Boshqalar (Other): r-x = 4+0+1 = 5

Buyruq quyidagicha bo'ladi:

Bash

chmod 755 test

O'qishga qulay hajm (Readable Size)

-l bilan birga -h (human readable) opsiyasi qo'shilsa, fayl o'lchamlari KB, MB, GB ko'rinishida chiqariladi:

Bash

ls -lh
# Natija: 4.0K (4096 o'rniga)

Yashirin fayllar (Hidden)

Yashirin fayllarni ko'rish uchun -a (all) opsiyasi ishlatiladi:

Bash

ls -a

Bu buyruq .profile kabi nuqta bilan boshlanadigan yashirin fayllarni ham ko'rsatadi.

Katalog umumiy hajmi

Joriy katalogni umumiy hajmini ko'rish uchun -s opsiyasi ishlatiladi (ko'pincha -h bilan birga):

Bash

ls -sh

Rekursiv ko'rinish (Recursive View)

Agar katalog ichidagi barcha ichki papkalar va ularning ichidagi fayllarni ham bir yo'la ko'rmoqchi bo'lsangiz, -R (recursive) opsiyasidan foydalanasiz:

Bash

ls -R

Bu buyruq butun ierarxiya bo'yicha "daraxt" ko'rinishidagi ro'yxatni chiqaradi.

2-bob: Linux distributivi nomi va versiyasini aniqlash

Tizim administratorlari va dasturchilar uchun ishlayotgan operatsion tizimning aniq distributivi va versiyasini bilish juda muhimdir. Ushbu bo'limda turli tizim oilalarida ushbu ma'lumotlarni aniqlash usullari keltiriladi.


2.1-bo'lim: Debian-ga asoslangan distributivlarni aniqlash (Debian, Ubuntu, Mint va boshqalar)

Debian oilasidagi tizimlarda eng qulay va standart usul lsb_release buyrug'idan foydalanishdir.

Buyruq:

Bash

lsb_release -a

Ubuntu tizimidagi natija namunasi:

  • Distributor ID: Ubuntu β€” Distributiv nomi.
  • Description: Ubuntu 14.04.4 LTS β€” To'liq tavsifi.
  • Release: 14.04 β€” Versiya raqami.
  • Codename: trusty β€” Versiyaning kodli nomi.

Agar tizimda lsb_release o'rnatilmagan bo'lsa, /etc/issue faylini tekshirib ko'rishingiz mumkin:

Bash

cat /etc/issue

Muhim eslatma: /etc/debian_version faylidan foydalanmang, chunki uning tarkibi har doim ham distributivning to'liq nomiga mos kelmasligi mumkin.


2.2-bo'lim: Systemd-ga asoslangan zamonaviy distributivlarni aniqlash

Bu usul zamonaviy Linux tizimlarining deyarli barchasida (Arch, CentOS, Debian, Fedora, Red Hat, Ubuntu va boshqalar) ishlaydi. Buning uchun /etc/os-release faylidagi o'zgaruvchilarni tahlil qilish kerak.

Asosiy o'zgaruvchilar:

  • NAME, VERSION, ID, PRETTY_NAME.

Fedora tizimida ushbu fayl ko'rinishi:

Plaintext

NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=fedora
PRETTY_NAME="Fedora 24 (Workstation Edition)"

Bash qobig'ida ushbu fayldan to'g'ridan-to'g'ri foydalanish:

Skriptlar ichida ma'lumotni tezkor olish uchun quyidagi usul qo'llaniladi:

Bash

( source /etc/os-release && echo "$PRETTY_NAME" )

2.3-bo'lim: RHEL / CentOS / Fedora distributivlarini aniqlash

Red Hat oilasiga mansub tizimlarda distributiv haqidagi ma'lumotni maxsus reliz faylidan olish mumkin:

Buyruq:

Bash

cat /etc/redhat-release

Natija: Fedora release 24 (Twenty Four)

Shuningdek, ushbu tizimlarda ham lsb_release -a buyrug'i (agar o'rnatilgan bo'lsa) to'liq ma'lumot beradi.


2.4-bo'lim: Uname β€” joriy tizim haqida ma'lumot chiqarish

uname (Unix Name so'zining qisqartmasi) buyrug'i operatsion tizim va yadro (kernel) haqida texnik ma'lumotlarni taqdim etadi.

Umumiy sintaksis:

uname [OPTION]

Asosiy opsiyalar va ularning vazifasi:

Opsiya

Vazifasi (Utility)

-s

Yadro nomini chiqaradi (Kernel name).

-n

Tarmoqdagi xost nomini chiqaradi (Hostname).

-r

Yadro relizini ko'rsatadi (Kernel release).

-v

Yadro versiyasini ko'rsatadi.

-m

Apparat ta'minoti nomini (arxitekturani) ko'rsatadi (Machine hardware).

-a

Barcha ma'lumotlarni birgalikda chiqaradi.

-o

Operatsion tizim nomini chiqaradi.

Misol:

Bash

uname -a
# Natija namunasi: Linux hope 5.4.0-42-generic x86_64 GNU/Linux

2.5-bob: Distributiv haqida asosiy ma'lumotlarni aniqlash

Tizim haqida tezkor va umumiy ma'lumot olish uchun uname -a buyrug'idan foydalaniladi.

Arch Linux tizimidagi misol:

Bash

$ uname -a
Linux nokia 4.6.4-1-ARCH #1 SMP PREEMPT Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linux

2.6-bob: GNU Coreutils'dan foydalanish

GNU coreutils barcha Linux tizimlarida mavjud bo'lgan asosiy vositalar to'plamidir. Agar siz qaysi tizimda ekanligingizni bilmasangiz, bu buyruq siz uchun birinchi qadam bo'lishi kerak.

Buyruq: uname -a

Natija tahlili (misol tariqasida):

Linux Scibearspace 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux

Bu ma'lumotlar quyidagilarni anglatadi:

  • Scibearspace: Kompyuterning tarmoqdagi nomi (hostname).
  • 3.16.0-4-amd64: Yadro (kernel) versiyasi va tizim arxitekturasi.
  • SMP Debian 3.16.7...: Bu tizim Debian ekanligini va 3.16 yadrosida ishlayotganini bildiradi.
  • Oxirgi qism: Tizim Debian 8 (3-yangilanish) ekanligini ko'rsatmoqda.

2.7-bob: Linux OT nomi va reliz raqamini topish (Debian va RPM)

Aksariyat Linux distributivlari o'z versiya ma'lumotlarini /etc/lsb-release (Debian oilasi uchun) yoki /etc/redhat-release (RPM oilasi uchun) fayllarida saqlaydi.

Quyidagi universal buyruq yordamida ko'plab Debian va RPM hosilalari (masalan, Linux Mint va CentOS) haqida ma'lumot olishingiz mumkin:

Universal buyruq:

Bash

cat /etc/*release

Ubuntu tizimidagi natija namunasi:

Plaintext

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"

3-bob: Ishlab turgan Linux yadrosi (Kernel) haqida ma'lumot olish

Linux yadrosi operatsion tizimning yuragi bo'lib, u apparat ta'minoti va dasturiy ta'minot o'rtasidagi barcha amallarni boshqaradi. Ushbu bobda yadroning joriy holati va parametrlari haqida ma'lumot olish usullari bayon qilingan.

3.1-bo'lim: Linux yadrosi tafsilotlarini aniqlash

Ishlab turgan yadro haqida to'liq ma'lumot olish uchun uname buyrug'idan turli opsiyalar bilan foydalanishimiz mumkin.

Asosiy buyruq:

Bash

uname -a

Natija namunasi:

Linux df1-ws-5084 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

uname buyrug'ining qo'shimcha opsiyalari:

Sintaksis: uname [OPTION]...

Agar hech qanday opsiya berilmasa, u -s deb qabul qilinadi.

Opsiya

Vazifasi (Academic Utility)

-a, --all

Barcha ma'lumotlarni tartib bilan chiqaradi (noma'lum bo'lsa -p va -i tashlab ketiladi).

-s, --kernel-name

Yadroning nomini chiqaradi (odatda Linux).

-n, --nodename

Tarmoqdagi xost nomini (hostname) ko'rsatadi.

-r, --kernel-release

Yadroning reliz raqamini chiqaradi (masalan: 4.4.0-64-generic).

-v, --kernel-version

Yadroning versiyasi va qachon yig'ilgani haqidagi ma'lumotni chiqaradi.

-m, --machine

Kompyuterning apparat arxitekturasini ko'rsatadi (masalan: x86_64).

-p, --processor

Protsessor turini ko'rsatadi (ba'zida "unknown" bo'lishi mumkin).

-i, --hardware-platform

Apparat platformasini ko'rsatadi.

-o, --operating-system

Operatsion tizim nomini chiqaradi (masalan: GNU/Linux).

--help

Yordam xabarini chiqaradi va ishni to'xtatadi.

--version

Dastur versiyasini ko'rsatadi.

Qo'shimcha ma'lumot (Akademik izoh):

Linux yadrosi haqida ma'lumot olishning yana bir usuli /proc virtual fayl tizimidan foydalanishdir. Masalan, quyidagi buyruq ham uname -a kabi batafsil ma'lumot beradi:

Bash

cat /proc/version

Ushbu fayl yadro versiyasidan tashqari, uni yig'ish uchun ishlatilgan GCC kompyutori versiyasi haqida ham ma'lumotni o'z ichiga oladi.

Buyruq (Tugmalar)

Vazifasi (Utility)

Ctrl + K

Kursordan keyingi matnni kesib olish (cut/kill).

Ctrl + Y

Kesib olingan matnni joylashtirish (yank/paste).

Ctrl + A

Kursorni qatorning boshiga olib boradi.

Ctrl + E

Kursorni qatorning oxiriga olib boradi.

Ctrl + D

Kursordan keyingi yoki kursor turgan belgini o'chiradi.

Ctrl + L

Ekranni/terminalni tozalaydi.

Ctrl + U

Buyruq satri va kursor orasidagi barcha narsani o'chiradi.

Ctrl + _

Buyruqlar satrida yozilgan oxirgi amalni bekor qiladi (undo).

Ctrl + C

Oldingi planda ishlayotgan jarayonni (process) to'xtatadi.

Ctrl + R

Buyruqlar tarixidan (history) teskari qidiruv.

~/.bash_history

Shell-da ishlatilgan oxirgi 500 ta buyruq/hodisalarni saqlaydigan fayl.

history

Buyruqlar tarixini ko'rsatadi.

history | grep <so'z>

Tarixdan <so'z> kalit so'zi qatnashgan buyruqlarni topadi (o'tmishda ishlatilgan buyruqning bir qismini eslaganda juda foydali).

Mana 4-bobning yakuniy qismlari va 5-bobning boshlanishi bo'yicha 100% to'liq akademik tarjima:


4.3-bo'lim: Shaxsiy buyruq aliasini (taxallusi) yaratish

Agar siz bash-da uzun buyruqlarni qayta-qayta yozishdan charchagan bo'lsangiz, o'zingizning shaxsiy buyruq aliasingizni yaratishingiz mumkin.

Buning eng yaxshi usuli uy papkangizdagi .bash_aliases deb nomlangan faylni tahrirlash (yoki u mavjud bo'lmasa, yaratish) hisoblanadi. Umumiy sintaksis quyidagicha:

alias buyruq_aliasi='asl_buyruq'

Bu yerda asl_buyruq β€” siz nomini o'zgartirmoqchi bo'lgan buyruq, buyruq_aliasi esa siz unga bergan yangi nomdir.

Masalan:

alias install='sudo apt-get -y install'

Ushbu qator install yangi aliasini asl sudo apt-get -y install buyrug'iga biriktiradi. Bu shuni anglatadiki, terminalda install so'zini ishlatganingizda, bash buni sudo apt-get -y install sifatida talqin qiladi.


4.4-bo'lim: Tizimingizda faylni joylashgan manzilini aniqlash

Bash yordamida locate buyrug'i orqali faylni osongina topishingiz mumkin. Masalan, deylik siz mykey.pem faylini qidiryapsiz:

locate mykey.pem

Ba'zan fayllar g'alati nomlarga ega bo'lishi mumkin, masalan: random7897_mykey_0fidw.pem. Agar siz ushbu faylni qidirayotgan bo'lsangiz-u, lekin faqat mykey va pem qismlarini eslasangiz, locate buyrug'ini grep bilan "payp" (|) orqali quyidagicha birlashtirishingiz mumkin:

locate pem | grep mykey

Bu usul tarkibida har ikkala qism mavjud bo'lgan barcha natijalarni chiqaradi.

Eslatma: Hamma tizimlarda ham locate utilitasi o'rnatilmagan yoki yoqilmagan bo'lishi mumkin. locate juda tez va samarali ishlaydi, chunki u vaqti-vaqti bilan tizimingizni skanerlaydi va barcha fayllarning nomi hamda joylashuvini keshga (cache) saqlab qo'yadi. Agar ma'lumot yig'ish funksiyasi yoqilmagan bo'lsa, u sizga hech narsa topib bera olmaydi. Keshdagi ma'lumotlarni yangilash uchun updatedb buyrug'i yordamida fayl tizimini qo'lda skanerlashni ishga tushirishingiz mumkin.

Agar locate ishlamasa, find utilitasidan foydalanishga to'g'ri keladi:

find / -name mykey.pem -print

Bu buyruq taxminan locate mykey.pem bilan bir xil vazifani bajaradi, lekin u keshdan foydalanish o'rniga har safar butun fayl tizimini skanerlab chiqadi. Bu tabiiyki sekinroq va kamroq samarali, lekin real vaqt rejimida aniqroqdir.


5-bob: Disk bo'shlig'ini tekshirish

5.1-bo'lim: Kataloglarning diskdan foydalanishini tahlil qilish

Ba'zan qaysi katalog qancha disk joyini egallayotganini aniqlash talab etiladi, ayniqsa df -h buyrug'ini ishlatganingizdan so'ng diskda joy kam qolganini payqasangiz.

du (Disk Usage):

du buyrug'i fayllar to'plami va kataloglar uchun diskdan foydalanishni rekursiv ravishda umumlashtiradi. Odatda u -sh opsiyasi bilan ishlatiladi:

  • -s, --summarize: har bir argument uchun faqat umumiy natijani ko'rsatish.
  • -h, --human-readable: o'lchamlarni odam tushunadigan formatda chiqarish (masalan, 1K, 234M, 2G).

Joriy katalogdagi fayllarning diskdan foydalanishini umumlashtirish uchun:

du -sh *

Yashirin fayllarni ham qo'shish uchun:

du -sh .[!.]* *

Chiqish natijasiga umumiy yakuniy miqdorni (total) qo'shish uchun -c opsiyasi qo'shiladi:

du -sch .[!.]* *

Eng muhimi, du buyrug'ini ildiz (root) katalogida to'g'ri ishlatish qaysi ilova, xizmat yoki foydalanuvchi disk joyini haddan tashqari ko'p egallayotganini topishda "hayotni saqlab qoluvchi" harakat hisoblanadi. Masalan, pochta serverida disk joyi keskin kamayib ketsa, bunga spam hujumi sabab bo'lgan bo'lishi mumkin va buni du yordamida aniqlash mumkin.

Ildiz katalogini diskdan foydalanish bo'yicha tekshirish:

sudo du -sch /.[!.]* /*

Kataloglarni o'lcham chegarasi (threshold) bo'yicha saralash:

Oxirgi va eng samarali usul β€” kichik kataloglarni e'tiborsiz qoldirish uchun minimal chegara qiymatini qo'shishdir. Quyidagi buyruq ildiz katalogi ostidagi faqat 1GB dan katta bo'lgan papkalarni ko'rsatadi:

sudo du --threshold=1G -ch /.[!.]* /*

Natija namunasi:

Plaintext

1,4G    /usr/lib
1,8G    /usr/share
3,5G    /usr
5,8G    total

5.2-bo'lim: Disk bo'shlig'ini tekshirish (Checking Disk Space)

Serveringiz yoki kompyuteringizdagi turli bo'limlar (partition) va drayvlar holatini, ularning qanchalik to'lganini tekshirish juda keng tarqalgan vazifadir. Buning uchun quyidagi buyruqni ishga tushirishingiz kerak:

df -h

Ushbu buyruq quyidagiga o'xshash natija beradi:

Plaintext

[root@mail ~]# df -h
Filesystem                    Size  Used  Avail  Use%  Mounted on
/dev/mapper/VolGroup-lv_root   19G  1.6G    16G    9%  /
tmpfs                         245M     0   245M    0%  /dev/shm
/dev/sda1                     485M   47M   413M   11%  /boot

Ushbu oddiy misolda biz ildiz (/) bo'limining atigi 9% qismi ishlatilganini ko'rishimiz mumkin.

Murakkabroq misolda esa df buyrug'i yordamida turli o'rnatish nuqtalarini (mount points) ko'rishimiz mumkin:

Plaintext

[root@mail ~]# df -h
Filesystem            Size  Used  Avail  Use%  Mounted on
/dev/mapper/VG-root   1.9T  1.7T    89G   95%  /
/dev/mapper/VG-var    431G  145G   264G   36%  /var
devtmpfs              7.8G  204K   7.8G    1%  /dev
tmpfs                 7.8G  4.0K   7.8G    1%  /dev/shm
/dev/md1              495M  126M   344M   27%  /boot
ku.example.com:9421   2.5T  487G   2.0T   20%  /mnt/test
tmpfs                 500M   86M   415M   18%  /var/ngx_pagespeed_cache

Ushbu misolda:

  • / (ildiz) bo'limi 95% ga to'lgan.
  • Qo'shimcha /var bo'limi esa atigi 36% band.
  • /mnt/test manziliga 2T hajmli tashqi tarmoq drayvi (external network mount) ulangan.
  • /var/ngx_pagespeed_cache manziliga 500M hajmli ramdisk (tmpfs) o'rnatilgan.

Mana 6-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


6-bob: Tizim ma'lumotlarini olish

Tizimga oid turli ma'lumotlarni yig'ish uchun ishlatiladigan buyruqlar to'plami.

6.1-bo'lim: Protsessor (CPU), Xotira (Memory), Tarmoq va Disk (I/O operatsiyalari) haqida statistika

Linux tizimining asosiy komponentlari haqida umumiy statistik ma'lumotlarni olish uchun stat oilasiga mansub buyruqlar juda foydali hisoblanadi.

CPU (Protsessor)

Protsessorga oid statistikani olish uchun mpstat buyrug'idan foydalanishingiz mumkin. Quyidagi opsiyalar bilan natija yanada tushunarli bo'ladi:

$ mpstat 2 10

(Har 2 soniyada, jami 10 marta ma'lumot chiqaradi)

Memory (Xotira)

Operativ xotiraning (RAM) qolgan qismini ko'rish uchun free buyrug'ini hamma biladi, lekin barcha statistika, jumladan Kirish/Chiqish (I/O) operatsiyalarini ko'rish uchun:

$ vmstat 2 10

Disk

Disk operatsiyalari haqida real vaqt rejimida umumiy ma'lumot olish uchun iostat dan foydalanish mumkin:

$ iostat -kx 2

Network (Tarmoq)

Tarmoq xizmatlarida nima sodir bo'layotganini ko'rish uchun netstat buyrug'i qo'llaniladi:

  • $ netstat -ntlp β€” ochiq TCP soketlari.
  • $ netstat -nulp β€” ochiq UDP soketlari.
  • $ netstat -nxlp β€” ochiq Unix soketlari.

Real vaqt rejimida tarmoq trafigini kuzatish uchun:

$ sudo iftop

Qo'shimcha:

Barcha komponentlar bo'yicha I/O operatsiyalariga oid statistikani real vaqtda yaratish uchun dstat dan foydalanish mumkin. Ushbu vosita vmstat, iostat va ifstat buyruqlari o'rnini bosuvchi universal instrumentdir.


6.2-bo'lim: lscpu va lshw vositalaridan foydalanish

lscpu buyrug'i protsessor haqida ma'lumot olishning eng oson usulidir.

$ lscpu

Natija namunasi:

  • Architecture: x86_64 (Tizim arxitekturasi)
  • CPU(s): 4 (Yadrolar soni)
  • Thread(s) per core: 1 (Har bir yadro uchun oqimlar soni)
  • Vendor ID: GenuineIntel (Ishlab chiqaruvchi)
  • CPU MHz: 1998.000 (Chastota)
  • L1d/L1i/L2 cache: (Kesh xotira o'lchamlari)

lshw vositasi yordamida:

$ lshw | grep cpu

(Protsessor modeli va uning texnik imkoniyatlarini ko'rsatadi)


6.3-bo'lim: Qurilmalar ro'yxati (Hardware List)

lshw β€” kompyuterning apparat konfiguratsiyasi haqida batafsil ma'lumot olish uchun kichik, ammo kuchli vositadir. U xotira konfiguratsiyasi, proshivka (firmware) versiyasi, ona plata (mainboard), CPU versiyasi va tezligi, kesh sozlamalari, shina (bus) tezligi va boshqalar haqida hisobot beradi.

  • $ sudo lshw | less β€” ma'lumotni varoqlab ko'rish.
  • $ sudo lshw -html > myhardware.html β€” hisobotni HTML formatida saqlash.
  • $ sudo lshw -xml > myhardware.xml β€” hisobotni XML formatida saqlash.

Boshqa qurilmalar ma'lumotlari:

  • PCI ma'lumotlari: $ lspci -tv
  • USB ma'lumotlari: $ lsusb -tv
  • BIOS ma'lumotlari: $ dmidecode -q | less
  • Disk haqida aniq ma'lumot (masalan, sda diski): $ hdparm -i /dev/sda

Qo'shimcha foydali buyruqlar:

  • $ smartctl -A /dev/sda | grep Power_On_Hours β€” ushbu disk jami necha soat ishlaganini ko'rsatadi.
  • $ hdparm -tT /dev/sda β€” diskning o'qish tezligini sinovdan o'tkazadi.
  • $ badblocks -s /dev/sda β€” diskda o'qib bo'lmaydigan (bad) bloklar bor-yo'qligini tekshiradi.

6.4-bo'lim: Protsessor (CPU) modeli va tezligi haqidagi ma'lumotlarni topish

Ubuntu va boshqa Linux tizimlarida protsessor haqida eng batafsil ma'lumotni /proc/cpuinfo virtual faylini o'qish orqali olish mumkin.

Buyruq:

$ cat /proc/cpuinfo

Natija namunasi (tahlili):

  • processor : 0 β€” mantiqiy protsessor tartib raqami.
  • vendor_id : GenuineIntel β€” ishlab chiqaruvchi identifikatori (Intel).
  • model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz β€” protsessorning to'liq nomi va nominal tezligi.
  • cpu MHz : 1596.000 β€” protsessorning ayni damdagi ishchi tezligi (quvvatni tejash rejimi tufayli nominal tezlikdan past bo'lishi mumkin).
  • cache size : 4096 KB β€” kesh xotira hajmi.
  • cpu cores : 4 β€” fizik yadrolar soni.
  • flags β€” protsessor tomonidan qo'llab-quvvatlanadigan texnologiyalar (masalan, vmx β€” virtuallashtirish, sse β€” oqimli ma'lumotlar ishlovi).

Protsessorlar (shu jumladan yadrolar) sonini sanash:

$ grep -c processor /proc/cpuinfo


6.5-bo'lim: Jarayonlarni monitoring qilish va ma'lumot yig'ish

Linux hostida jarayonlarni (process) kuzatishning ikki xil usuli mavjud:

1. Statik monitoring

Eng ko'p qo'llaniladigan buyruq β€” ps (process status). U ayni damda ishlayotgan jarayonlar va ularning identifikatsiya raqamlari (PID) haqida ma'lumot beradi.

Foydali opsiyalar:

  • Ierarxiya ko'rinishida ro'yxatlash:$ ps -e -o pid,args --forest
  • CPU ishlatishi bo'yicha saralash:$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
  • Xotira (RAM) ishlatishi bo'yicha saralash:$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
  • Maxsus jarayonning (masalan, firefox) barcha oqimlarini (threads) ko'rish:$ ps -C firefox-bin -L -o pid,tid,pcpu,state

Ochiq fayllarni tekshirish (lsof):

Jarayon qaysi fayl yoki yo'llardan (path) foydalanayotganini ko'rish uchun:

$ lsof -p [PID] (bu yerda $ β€” joriy shell identifikatori).

2. Interaktiv (dinamik) monitoring

Real vaqt rejimida ma'lumotlarni yangilab turuvchi vositalar:

  • top: Standart va eng mashhur dinamik monitoring buyrug'i. Ma'lumotlarni filtrlash va saralash uchun ko'plab ichki opsiyalarga ega.
  • htop: top buyrug'ining zamonaviy va rangli muqobili. Unda jarayonlarni boshqarish (masalan, o'chirish) ancha qulay.$ htop -d 5 (har 5 soniyada yangilanadi)
  • atop: Barcha harakatlarni log faylga yozib borish xususiyatiga ega (standart bo'yicha har 600 soniyada).
  • Ixtisoslashgan vositalar:
    • iotop β€” diskka kirish/chiqish (I/O) operatsiyalari monitoringi.
    • iftop β€” tarmoq trafigi monitoringi.

Mana 7-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


7-bob: ls buyrug'i

7.1-bo'lim: ls buyrug'i uchun opsiyalar

ls (list) buyrug'ining barcha asosiy opsiyalari:

  • ls -a: barcha fayllarni, jumladan . bilan boshlanadigan yashirin fayllarni ham ro'yxatlaydi.
  • ls --color: ro'yxatni rangli ko'rinishda chiqaradi [=always/never/auto].
  • ls -d: kataloglarning o'zini ro'yxatlaydi (ichidagilarini emas).
  • ls -F: har bir ob'ekt turiga qarab oxiriga maxsus belgi (* / = > @ |) qo'shadi.
  • ls -i: fayllarning inode (indeks tuguni) raqamini ko'rsatadi.
  • ls -l: uzun formatda ro'yxatlaydi β€” huquqlar, ega va vaqtni ko'rsatadi.
  • ls -la: yashirin fayllar bilan birga uzun formatda ro'yxatlaydi.
  • ls -lh: uzun formatda, fayl o'lchamlarini o'qishga qulay (KB, MB, GB) ko'rinishda chiqaradi.
  • ls -ls: uzun formatda fayl o'lchamlari bilan birga chiqaradi.
  • ls -r: teskari tartibda ro'yxatlaydi.
  • ls -R: kataloglar daraxtini rekursiv (ichma-ich) ravishda ro'yxatlaydi.
  • ls -s: har bir faylning hajmini ko'rsatadi.
  • ls -S: fayl hajmi bo'yicha saralaydi (kattasidan kichigiga).
  • ls -t: vaqt va sana bo'yicha saralaydi.
  • ls -X: fayl kengaytmasi (extension) bo'yicha saralaydi.

7.2-bo'lim: ls buyrug'ining eng ko'p ishlatiladigan opsiyalari

ls argumentlarsiz ishlatilganda joriy ishchi katalogdagi fayl va kataloglarni ko'rsatadi. (Odatda . bilan boshlanuvchi yashirin fayllarni ko'rsatmaydi).

Misol:

Bash

user@ubuntu14:/usr$ ls
bin  games  include  lib  lib32  local  sbin  share  src

Barcha fayllarni ko'rish (yashirin fayl va papkalar bilan birga):

Buning uchun ls -a yoki ls --all ishlatiladi.

Bash

user@ubuntu14:/usr$ ls -a
.  ..  bin  games  include  lib  lib32  local  sbin  share  src

Fayllar, papkalar va ramziy havolalarni (symbolic links) farqlash:

Buning uchun ls -F yoki ls --classify ishlatiladi.

Bash

user@ubuntu14:~$ ls -F
Desktop/  Downloads/  Music/  test* a_link@

Bu yerda quyidagi belgilar ob'ekt turini bildiradi:

  • β€œ/” β€” katalog (papka).
  • β€œ*” β€” ishga tushiriladigan (executable) fayl.
  • β€œ@” β€” ramziy havola (symbolic link).

Fayl va kataloglar haqida batafsil ma'lumot olish:

Buning uchun ls -l ishlatiladi.

Bash

user@ubuntu14:~/example$ ls -l
total 6464
-rw-r--r-- 1 user group      41 Dec 24 12:19 Z.txt
drwxr-xr-x 2 user group    4096 Dec 24 12:00 a_directory
lrwxrwxrwx 1 user group       6 Dec 24 12:04 a_link -> a_file
-rw-r----- 1 user group 6586816 Dec 24 12:07 big.zip

Ushbu misolning tahlili:

  1. total 6464: Tarkibdagi barcha narsalarning umumiy hajmi 6464 KB.
  2. Birinchi belgi: Ob'ekt turi (masalan, d β€” katalog, l β€” havola, - β€” oddiy fayl).
  3. Keyingi 9 ta belgi: Foydalanuvchi (user), guruh (group) va boshqalar uchun ruxsatlar.
  4. Raqam: Hard linklar (qattiq havolalar) soni.
  5. Ega va Guruh: Fayl egasining nomi va guruhi.
  6. O'lcham: Baytlarda ko'rsatilgan hajm. -h opsiyasi qo'shilsa, masalan 6586816 soni 6.3M ko'rinishida chiqadi.
  7. Vaqt tamg'asi: Odatda fayl oxirgi marta o'zgartirilgan vaqt.
  8. Nomi: Fayl yoki katalog nomi. Havolalar (link) o'zi yo'naltirilgan asl faylni ham ko'rsatadi.

Mana 8-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


8-bob: 'tar' buyrug'i yordamida fayllarni siqish (arxivlash)

Umumiy opsiyalar

  • -c, --create: Yangi arxiv yaratish.
  • -x, --extract: Arxivdan fayllarni ajratib olish (chiqarish).
  • -t, --list: Arxiv tarkibini ro'yxat ko'rinishida ko'rsatish.
  • -f, --file=ARCHIVE: ARCHIVE arxiv fayli yoki katalogidan foydalanish.
  • -v, --verbose: Qayta ishlanayotgan fayllarni batafsil ro'yxat qilish.

Siqish (Compression) opsiyalari

  • -a, --auto-compress: Siqish dasturini aniqlash uchun arxiv kengaytmasidan (suffix) foydalanish.
  • -j, --bzip2: Arxivni bzip2 filtri orqali o'tkazish.
  • -J, --xz, --lzma: Arxivni xz filtri orqali o'tkazish.
  • -z, --gzip: Arxivni gzip filtri orqali o'tkazish.

8.1-bo'lim: Katalogni siqish

Katalogni oddiy arxivlash (siqmasdan):

tar -cf ./arxivim.tar ./papkam/

Fayl va kataloglar arxivga qo'shilayotganini batafsil ko'rish uchun -v opsiyasidan foydalaning:

tar -cvf ./arxivim.tar ./papkam/

Katalogni 'gzip' yordamida siqib arxivlash uchun -z opsiyasini ishlatishingiz kerak:

tar -czf ./arxivim.tar.gz ./papkam/

Shuningdek, -j opsiyasi orqali arxivni 'bzip2' bilan siqishingiz mumkin:

tar -cjf ./arxivim.tar.bz2 ./papkam/

Yoki -J opsiyasi yordamida 'xz' bilan siqish:

tar -cJf ./arxivim.tar.xz ./papkam/


8.2-bo'lim: Arxivdan katalogni ajratib olish (Extract)

Arxivni joriy joyga ajratib olish namunasi:

tar -xf arxiv-nomi.tar

Agar arxivni ma'lum bir manzildagi katalogga ajratib olmoqchi bo'lsangiz:

tar -xf arxiv-nomi.tar -C ./katalog/manzil


8.3-bo'lim: Arxiv tarkibini ko'rish

Arxiv faylini ochmasdan (chiqarmasdan) uning tarkibini ro'yxat qilish:

tar -tf arxiv.tar.gz

Natija namunasi:

Arxivdagi-Papka/

Arxivdagi-Papka/fayl1

Arxivdagi-Papka/Boshqa-Papka/

Arxivdagi-Papka/Boshqa-Papka/fayl2


8.4-bo'lim: Arxiv tarkibini batafsil ro'yxat qilish

Tarkibni ro'yxatlash uchun misol:

tar -tvf arxiv.tar

Ro'yxatlash uchun -t opsiyasi ishlatiladi. tar.gz arxivining tarkibini ko'rish uchun yana -z opsiyasidan foydalanish lozim:

tar -tzvf arxiv.tar.gz


8.5-bo'lim: Bir yoki bir nechta katalogni istisno qilgan holda siqish

Agar siz katalogni arxivlamoqchi bo'lsangiz-u, lekin arxiv ichiga bir yoki bir nechta quyi papkalar kirmasligini xohlasangiz, --exclude opsiyasidan foydalanasiz.

tar -cf arxiv.tar ./mening-papkam/ --exclude="mening-papkam/sub1" --exclude="mening-papkam/sub3"

Ushbu tuzilmada:

mening-papkam/

sub1/

sub2/

sub3/

Natijada arxiv ichida faqat quyidagilar qoladi:

./arxiv.tar

mening-papkam/

sub2/


8.6-bo'lim: Yetakchi komponentlarni olib tashlash (Strip components)

Arxivdan chiqarishda ma'lum miqdordagi yetakchi (boshlang'ich) kataloglarni olib tashlash uchun --strip-components opsiyasidan foydalaniladi:

--strip-components=RAQAM

(Arxivdan chiqarishda fayl nomlaridan RAQAM miqdoricha yetakchi kataloglarni olib tashlaydi)

Masalan, arxiv ichidagi eng yuqori (birinchi) katalogni olib tashlab, faqat uning ichidagilarini chiqarish uchun:

tar -xf --strip-components=1 arxiv-nomi.tar

Mana 9-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


9-bob: Xizmatlar (Services)

9.1-bo'lim: Ubuntuda ishlayotgan xizmatlar ro'yxatini ko'rish

Tizimingizdagi xizmatlar ro'yxatini olish uchun quyidagi buyruqni ishga tushirishingiz mumkin:

service --status-all

service --status-all buyrug'ining natijasi System V tomonidan boshqariladigan xizmatlar holatini ko'rsatadi:

  • + belgisi β€” xizmat ishlayotganini (running) bildiradi.
  • - belgisi β€” xizmat to'xtatilganini (stopped) bildiradi.
  • ? belgisi β€” xizmat holati noma'lumligini bildiradi.

Buni service XIZMAT_NOMI status buyrug'ini ishga tushirish orqali ham tekshirib ko'rishingiz mumkin.

Ba'zi xizmatlar Upstart tomonidan boshqariladi. Barcha Upstart xizmatlarining holatini sudo initctl list buyrug'i bilan tekshirish mumkin. Upstart tomonidan boshqariladigan har qanday xizmat service --status-all ro'yxatida ham ko'rinadi, lekin u ? belgisi bilan belgilanadi.


9.2-bo'lim: Systemd orqali xizmatlarni boshqarish

Systemd β€” zamonaviy Linux distributivlarida xizmatlar va tizim resurslarini boshqarish uchun ishlatiladigan standart tizimdir.

Xizmatlarni ro'yxatga olish

  • systemctl β€” Ishlayotgan barcha xizmatlarni ro'yxatga oladi.
  • systemctl --failed β€” Ishlamay qolgan (xatolikka uchragan) xizmatlarni ko'rsatadi.

Nishonlarni (Targets) boshqarish (SysV dagi Runlevel-larga o'xshash)

  • systemctl get-default β€” Tizimingiz uchun standart yuklanish nishonini (default target) topadi.
  • systemctl set-default <nishon-nomi> β€” Tizim uchun standart yuklanish nishonini o'rnatadi.

Xizmatlarni ish jarayonida (runtime) boshqarish

  • systemctl start [xizmat-nomi] β€” Xizmatni ishga tushirish.
  • systemctl stop [xizmat-nomi] β€” Xizmatni to'xtatish.
  • systemctl restart [xizmat-nomi] β€” Xizmatni qayta ishga tushirish.
  • systemctl reload [xizmat-nomi] β€” Xizmatdan o'z sozlamalarini (konfiguratsiyasini) qayta yuklashni so'rash.
  • systemctl status [xizmat-nomi] β€” Xizmatning joriy holatini ko'rsatish.

Xizmatlarning avtomatik ishga tushishini boshqarish

  • systemctl is-enabled [xizmat-nomi] β€” Xizmat tizim yuklanayotgan vaqtda (boot) yoqilganligini tekshirish.
  • systemctl is-active [xizmat-nomi] β€” Xizmat ayni damda faol (ishlayotgan) ekanligini tekshirish.
  • systemctl enable [xizmat-nomi] β€” Xizmatni tizim yuklanayotganda avtomatik ishga tushadigan qilish.
  • systemctl disable [xizmat-nomi] β€” Avtomatik ishga tushishni o'chirish.

Xizmatlarni niqoblash (Masking)

  • systemctl mask [xizmat-nomi] β€” Xizmatni niqoblash (bu xizmatni xatolik bilan ishga tushirib yuborishni imkonsiz qiladi).
  • systemctl unmask [xizmat-nomi] β€” Xizmatni niqobdan chiqarish.

Systemd-ni qayta yuklash

  • systemctl daemon-reload β€” Yangi yaratilgan yoki o'zgartirilgan unit fayllarni (xizmat sozlamalarini) tizimga qayta tanitish uchun ishlatiladi.

Mana 10-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


10-bob: Xizmatlarni boshqarish (Managing Services)

10.1-bo'lim: Xizmat bilan bog'liq muammoni tashxislash

Systemd ishlatadigan tizimlarda (masalan, Fedora 15+, Ubuntu 15.04+ (Server va Desktop), RHEL/CentOS 7+):

systemctl status [xizmat_nomi]

Bu yerda [xizmat_nomi] β€” tekshirilayotgan xizmat; masalan: systemctl status sshd. Ushbu buyruq xizmat haqidagi asosiy holat ma'lumotlarini va loglarga yozilgan so'nggi xatoliklarni ko'rsatadi.

Xatoliklarni chuqurroq o'rganish uchun journalctl buyrug'idan foydalanish mumkin. Masalan, journalctl -xe buyrug'i tizim jurnalidagi oxirgi 1000 ta qaydni peydjerga (masalan, less) yuklaydi va to'g'ridan-to'g'ri oxirgi qatorlarga o'tadi. Shuningdek, journalctl -f buyrug'i yordamida log xabarlarini real vaqt rejimida kuzatib borish mumkin.

Muayyan bir xizmatga tegishli loglarni ko'rish uchun -t bayrog'idan foydalaning:

journalctl -f -t sshd

Boshqa foydali opsiyalar:

  • -p: ustuvorlik (priority) bo'yicha saralash (masalan, -p warnings faqat ogohlantirish va undan yuqori xatolarni ko'rsatadi).
  • -b: oxirgi yuklanishdan (boot) boshlab ko'rish.
  • -S: belgilangan vaqtdan (since) boshlab ko'rish.

Misol:

journalctl -p err -S yesterday

(Kechadan beri xatolik (error) sifatida qayd etilgan barcha hodisalarni ko'rsatadi).

Agar journalctl mavjud bo'lmasa yoki tizim jurnalidan foydalanmaydigan ilovalar logini kuzatayotgan bo'lsangiz, faylning so'nggi bir necha qatorini ko'rish uchun tail buyrug'idan foydalaniladi. tail uchun foydali bayroq β€” -f ("follow"), u faylga yangi ma'lumotlar qo'shilishi bilan ularni ko'rsatib boradi.

Tizimdagi aksariyat xizmatlarning xabarlarini ko'rish uchun:

tail -f /var/log/messages

Yoki xizmat imtiyozli (privileged) bo'lsa va maxfiy ma'lumotlarni yozishi mumkin bo'lsa:

tail -f /var/log/secure

Ba'zi xizmatlarning shaxsiy log fayllari bor. Masalan, Linux audit demoni bo'lmish auditd o'z loglarini /var/log/audit/ papkasida saqlaydi. Agar xizmatingiz natijasini /var/log/messages ichida ko'rmasangiz, /var/log/ katalogidan xizmatga xos shaxsiy loglarni qidirib ko'ring.


10.2-bo'lim: Xizmatlarni ishga tushirish va to'xtatish

System-V uslubidagi init skriptlarini ishlatadigan tizimlarda (masalan, RHEL/CentOS 6):

  • service <xizmat> start β€” Ishga tushirish.
  • service <xizmat> stop β€” To'xtatish.

Systemd ishlatadigan tizimlarda (masalan, Ubuntu 15.04+, RHEL/CentOS 7+):

  • systemctl start <xizmat> β€” Ishga tushirish (masalan: systemctl start dnsmasq).
  • systemctl stop <xizmat> β€” To'xtatish (masalan: systemctl stop dnsmasq).

10.3-bo'lim: Xizmat holatini olish (Getting status)

System-V uslubidagi tizimlarda (masalan, RHEL/CentOS 6):

service <xizmat> status

Systemd ishlatadigan tizimlarda (masalan, Ubuntu 15.04+, RHEL/CentOS 7+):

systemctl status <xizmat>

Mana 11-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


11-bob: Foydalanuvchilarni tahrirlash (Modifying Users)

Parametrlar tafsiloti (Parameter Details)

  • username (foydalanuvchi nomi): Foydalanuvchining nomi. Katta harflardan foydalanmang, nuqta ishlatmang, nom tire (-) bilan tugamasligi kerak, tarkibida ikki nuqta (:) va maxsus belgilar bo'lmasligi lozim. Shuningdek, raqam bilan boshlanishi mumkin emas.

11.1-bo'lim: O'z shaxsiy parolingizni o'rnatish

O'zingiz foydalanayotgan akkaunt parolini o'zgartirish yoki o'rnatish uchun quyidagi buyruqni kiriting:

passwd


11.2-bo'lim: Boshqa foydalanuvchining parolini o'rnatish

Buning uchun buyruqni root (administrator) huquqi bilan bajaring:

passwd username


11.3-bo'lim: Foydalanuvchi qo'shish

Tizimga yangi foydalanuvchi qo'shish uchun quyidagilarni root sifatida bajaring:

useradd username


11.4-bo'lim: Foydalanuvchini o'chirish

Foydalanuvchini tizimdan olib tashlash uchun quyidagilarni root sifatida bajaring:

userdel username


11.5-bo'lim: Foydalanuvchini va uning uy papkasini o'chirish

Foydalanuvchini o'chirish bilan birga, unga tegishli barcha fayllar va uy papkasini (home folder) ham to'liq yo'qotish uchun quyidagilarni root sifatida bajaring:

userdel -r username


11.6-bo'lim: Joriy foydalanuvchi a'zo bo'lgan guruhlarni ko'rish

O'zingiz qaysi guruhlarga a'zo ekanligingizni bilish uchun:

groups

Foydalanuvchi va guruhlarning raqamli identifikatorlari (UID va GID) haqida batafsilroq ma'lumotni id buyrug'i orqali olish mumkin.


11.7-bo'lim: Muayyan foydalanuvchi a'zo bo'lgan guruhlarni ko'rish

Boshqa bir foydalanuvchining guruhlarini tekshirish uchun:

groups username

Foydalanuvchi va guruhlarning raqamli identifikatorlari haqida batafsilroq ma'lumotni id username buyrug'i orqali olish mumkin.

Mana 12-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


12-bob: LAMP Stack

LAMP (Linux Apache MySQL PHP) β€” ishlab chiqish muhiti sifatida Linux operatsion tizimi, veb-server sifatida Apache HTTP serveri, ma'lumotlar bazasini boshqarish tizimi (RDBMS) sifatida MySQL va server tomonidagi (Back-End) dasturlash tili sifatida PHP dan iborat texnologiyalar to'plamidir.

LAMP veb-ishlab chiqish sohasida ochiq kodli (Open Source) texnologiyalar yechimi sifatida ishlatiladi. Ushbu stakning Windows versiyasi WAMP (Windows Apache MySQL PHP) deb ataladi.


12.1-bo'lim: Arch Linux-da LAMP o'rnatish

Ushbu buyruq orqali biz barcha kerakli paketlarni va so'nggi yangilanishlarni bir bosqichda o'rnatamiz:

pacman -Syu apache php php-apache mariadb

HTTP (Apache) sozlamalari

/etc/httpd/conf/httpd.conf faylini tahrirlang:

  • ServerAdmin you@example.com qatorini ehtiyojingizga qarab o'zgartiring.
  • Veb-sahifalar papkasi standart bo'yicha ServerRoot "/etc/httpd". Directory ham xuddi shu papkaga sozlanishi kerak, shuning uchun <Directory "/etc/httpd"> qatorini tekshiring.
  • Ushbu papka o'qish va ijro etish huquqiga ega bo'lishi kerak: chmod o+x /etc/httpd
  • .htaccess fayli ishlashi uchun AllowOverride qiymatini none dan All ga o'zgartiring.

Har bir foydalanuvchi uchun ~/public_html papkasi kerak bo'lsa (ya'ni foydalanuvchi sahifasiga http://localhost/~username/ orqali kirish uchun), quyidagi qatordagi izohni olib tashlang:

Include conf/extra/httpd-userdir.conf

So'ngra har bir foydalanuvchi uchun public_html papkasini yarating va huquqlarni (755) sozlang:

chmod 755 /home

chmod 755 /home/username

chmod 755 /home/username/public_html

SSL ishlatmoqchi bo'lsangiz, ushbu qatorni faollashtiring:

LoadModule ssl_module modules/mod_ssl.so

Virtual domenlar kerak bo'lsa, Include conf/extra/httpd-vhosts.conf qatorini faollashtiring va tegishli faylda domenlarni sozlang.

Xavfsizlik uchun /etc/httpd/conf/extra/httpd-default.conf faylida ServerSignature ni Off va ServerToken ni Prod holatiga keltiring.

PHP sozlamalari

/etc/httpd/conf/httpd.conf faylida:

  • LoadModule mpm_event_module... qatorini izohga oling.
  • LoadModule mpm_prefork_module... qatorini faollashtiring.
  • LoadModule ro'yxatining oxiriga: LoadModule php7_module modules/libphp7.so ni qo'shing.
  • Include ro'yxatining oxiriga: Include conf/extra/php7_module.conf ni qo'shing.

/etc/php/php.ini faylida:

  • extension=mysqli.so va extension=pdo_mysql.so qatorlarini faollashtiring.
  • Vaqt mintaqasini (timezone) sozlang (masalan: date.timezone = Asia/Tashkent).

MySQL (MariaDB) sozlamalari

Root sifatida ishga tushiring:

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

MySQL demonini ishga tushiring:

systemctl enable mysqld

systemctl start mysqld

Yakunida xavfsizlik sozlamalari uchun: sh /usr/bin/mysql_secure_installation buyrug'ini bajaring.


12.2-bo'lim: Ubuntu-da LAMP o'rnatish

Apache o'rnatish:

sudo apt-get install apache2

MySQL o'rnatish:

sudo apt-get install mysql-server

PHP o'rnatish:

sudo apt-get install php5 libapache2-mod-php5

Tizimni qayta ishga tushirish (xizmatni):

sudo systemctl restart apache2

PHP o'rnatilishini tekshirish:

php -r 'echo "\n\nPHP o'rnatilishi muvaffaqiyatli yakunlandi.\n\n\n";'


12.3-bo'lim: CentOS-da LAMP o'rnatish

1. Apache veb-serverini o'rnatish

sudo yum -y install httpd

O'rnatilgach, xizmatni yoqing va ishga tushiring:

sudo systemctl enable --now httpd

Brauzerda http://localhost manzilini ochib tekshiring.

2. MariaDB serverini o'rnatish

sudo yum -y install mariadb-server

Xizmatni yoqing va ishga tushiring:

sudo systemctl enable --now mariadb

Ma'lumotlar bazasini himoyalash uchun mysql_secure_installation skriptidan foydalaning. Bu skript root parolini o'zgartirish, test bazalarini o'chirish va masofaviy kirishni cheklash imkonini beradi.

3. PHP o'rnatish

sudo yum -y install php php-common

So'ngra Apache xizmatini qayta ishga tushiring:

sudo systemctl restart httpd

PHPni test qilish:

/var/www/html katalogida index.php faylini yarating va unga quyidagi qatorni qo'shing:

<?php phpinfo(); ?>

Brauzerda http://localhost/index.php manzilini oching. Agar serveringiz haqida ma'lumotlar chiqsa, o'rnatish to'g'ri bajarilgan. Aks holda, php --version orqali o'rnatilishni qayta tekshiring.

Mana 13-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


13-bob: tee buyrug'i

Opsiyalar va tavsif

  • -a, --append: Berilgan fayllarga ma'lumotni qo'shib yozadi (ustidan yozib yubormaydi).
  • -i, --ignore-interrupts: To'xtatish signallarini (interrupt signals) e'tiborsiz qoldiradi.
  • --help: Yordam xabarini ko'rsatadi va ishni to'xtatadi.
  • --version: Versiya haqidagi ma'lumotni ko'rsatadi va ishni to'xtatadi.

tee β€” standart kirishdan (stdin) o'qiydi va natijani standart chiqishga (stdout) hamda fayllarga yozadi.

tee buyrug'ining nomi sanitariya-tesisat ishlaridagi T-simon ulagich (T-splitter) sharafiga qo'yilgan bo'lib, u suvni ikki yo'nalishga ajratadi va shakli bosh lotincha "T" harfiga o'xshaydi.

tee buyrug'i ma'lumotlarni standart kirishdan har bir faylga va bir vaqtning o'zida standart chiqishga nusxalaydi. Amalda, tee o'z kirishini dublikat qiladi va uni bir vaqtning o'zida bir nechta chiqishlarga yo'naltiradi.


13.1-bo'lim: Natijani ham standart chiqishga, ham faylga yozish

Quyidagi buyruq natijani faqat ekranda (stdout) ko'rsatadi:

$ ls

Quyidagi buyruq natijani ekranga chiqarmasdan, faqat faylga yozadi:

$ ls > file

Quyidagi buyruq esa (tee yordamida) natijani ham ekranga (stdout), ham faylga yozadi:

$ ls | tee file


13.2-bo'lim: Konveyer (pipe) zanjiri o'rtasidagi natijani faylga yozish va uni qaytadan zanjirga uzatish

Siz tee buyrug'idan biror buyruq natijasini faylda saqlash va shu bilan birga ushbu natijani boshqa bir buyruqqa yo'naltirish uchun foydalanishingiz mumkin.

Quyidagi buyruq joriy crontab yozuvlarini crontab-backup.txt fayliga yozadi va ayni vaqtda ushbu yozuvlarni sed buyrug'iga o'tkazadi. sed buyrug'i matn almashtirishni amalga oshirgandan so'ng, natija yangi cron vazifasi sifatida qo'shiladi:

$ crontab -l | tee crontab-backup.txt | sed 's/old/new/' | crontab –


13.3-bo'lim: Natijani bir nechta fayllarga yozish

Siz o'z natijangizni tee yordamida bir vaqtning o'zida bir nechta fayllarga (jumladan terminalingizga ham) yo'naltirishingiz mumkin:

$ ls | tee file1 file2 file3


13.4-bo'lim: tee buyrug'iga ma'lumotni fayl oxiridan qo'shishni yuklash

Standart holatda tee buyrug'i fayl ichidagi ma'lumotlarni o'chirib, ustidan yozib yuboradi. Siz tee buyrug'iga ma'lumotni faylning mavjud mazmuni oxiriga qo'shib yozishni (append) quyidagi -a opsiyasi orqali buyurishingiz mumkin:

$ ls | tee -a file

Mana 14-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


14-bob: Secure Shell (SSH)

SSH (Secure Shell) β€” shifrlangan aloqa kanali orqali mijozdan turib serverga masofadan kirish uchun ishlatiladi. OpenSSH masofaviy qobiqqa kirishni ta'minlovchi, ammo ma'lumotlarni shifrlamaydigan Telnet ulanishlariga muqobil (xavfsiz) variant sifatida ishlatiladi. OpenSSH mijoz dasturi aksariyat GNU/Linux distributivlarida standart bo'lib o'rnatilgan. Ushbu misollar SSH ulanishlarini qabul qilish va boshqa xostga ulanish uchun SSH utilitalaridan qanday foydalanishni ko'rsatadi.


14.1-bo'lim: Masofaviy serverga ulanish

Serverga ulanish uchun mijoz kompyuterida SSH buyrug'idan quyidagicha foydalanish kerak:

ssh -p port user@server-address

  • port β€” serverning SSH xizmati tinglayotgan porti (standart port 22).
  • user β€” serverda SSH huquqiga ega bo'lgan mavjud foydalanuvchi.
  • server address β€” serverning IP manzili yoki domen nomi.

Hayotiy misol: Tasavvur qiling, siz veb-sayt yaratyapsiz. Hosting kompaniyasi server manzili web-servers.com, porti 2020 va foydalanuvchi nomi usr1 ekanligini aytdi. Bunday holda buyruq quyidagicha bo'ladi:

ssh -p 2020 usr1@web-servers.com

Agar masofaviy tizimdagi foydalanuvchi nomi mahalliy kompyuteringizdagi bilan bir xil bo'lsa, foydalanuvchi nomini yozmasangiz ham bo'ladi. Masalan, ikkala tizimda ham usr1 bo'lsangiz, shunchaki web-servers.com deb yozish kifoya.

ProxyJump orqali ulanish:

Agar siz ulanmoqchi bo'lgan serverga to'g'ridan-to'g'ri kirish imkoni bo'lmasa, oraliq server (sakrash serveri) orqali ulanish uchun -J kalitidan foydalanishingiz mumkin:

ssh -J usr1@10.0.0.1:2020 usr2@10.0.0.2 -p 2222

Bu buyruq sizni 10.0.0.1 (2020-port) serveri orqali 10.0.0.2 (2222-port) serveriga ulaydi. Albatta, har ikkala serverda ham akkauntingiz bo'lishi kerak. Eslatma: -J kaliti OpenSSH 7.3 versiyasidan boshlab qo'shilgan.


14.2-bo'lim: OpenSSH paketlar to'plamini o'rnatish

Masofaviy SSH serverga ulanish va SSH ulanishlarni qabul qilish uchun openssh o'rnatilgan bo'lishi kerak:

  • Debian/Ubuntu: sudo apt-get install openssh-server openssh-client
  • Arch Linux: sudo pacman -S openssh
  • CentOS/RHEL (Yum): sudo yum install openssh

14.3-bo'lim: SSH serverni ulanishlarni qabul qilish uchun sozlash

Dastlab, SSH demonining (sshd) konfiguratsiya faylini tahrirlashimiz kerak. Odatda u /etc/ssh/sshd_config manzilida joylashgan bo'ladi.

Matn muharriri yordamida quyidagi qiymatlarni o'zgartiring (izohdagi # belgisini olib tashlang):

  • Port (0 dan 65535 gacha bo'lgan sonni tanlang, odatda 4 xonali son tavsiya etiladi).
  • PasswordAuthentication yes (parol orqali kirishga ruxsat berish).
  • AllowUsers user1 user2 (faqat belgilangan foydalanuvchilarga ruxsat berish).

Eslatma: Xavfsizlikni oshirish uchun parolli kirishni butunlay o'chirib, SSH kalitlaridan foydalanish afzalroqdir.


14.4-bo'lim: Parolsiz ulanish (kalitlar juftligi yordamida)

Buning uchun sizda kalitlar juftligi bo'lishi kerak: maxfiy kalit (id_rsa) va ochiq kalit (id_rsa.pub). Ochiq kalitni masofaviy serverdagi ~/.ssh/authorized_keys fayliga nusxalashingiz kerak.

Buning oson usuli:

ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub

Ochiq kalit serverga to'g'ri joylashtirilgach, shunchaki maxfiy kalit bilan tizimga kirishingiz mumkin:

ssh <user>@<ssh-server> -i id_rsa


14.5-bo'lim: Ochiq va maxfiy kalitlarni yaratish

SSH mijoz uchun kalitlar yaratish buyrug'i:

ssh-keygen -t rsa -b 4096 -C "email@manzil.com"

  • -t rsa β€” kalit turini belgilaydi.
  • -b 4096 β€” bitlar sonini (xavfsizlik darajasini) belgilaydi.
  • -C β€” izoh (odatda elektron pochta manzili).

Standart saqlash joyi: maxfiy kalit uchun ~/.ssh/id_rsa, ochiq kalit uchun ~/.ssh/id_rsa.pub.


14.6-bo'lim: SSH xizmatini o'chirish

Agar zarur bo'lsa, server qismini o'chirib qo'yish orqali mijozlar ulanishining oldini olish mumkin:

  • Ubuntu:sudo service ssh stopsudo systemctl disable sshd.service
  • Debian:sudo /etc/init.d/ssh stopsudo systemctl disable sshd.service
  • Arch Linux:sudo killall sshdsudo systemctl disable sshd.service

Mana 15-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


15-bob: SCP (Secure Copy)

15.1-bo'lim: Secure Copy (Xavfsiz nusxalash)

scp buyrug'i fayllarni masofaviy manzillarga yoki masofaviy manzillardan xavfsiz tarzda nusxalash uchun ishlatiladi. Agar fayl joriy ishchi katalogda (CWD) bo'lsa, faqat fayl nomining o'zi kifoya, aks holda masofaviy xost nomini o'z ichiga olgan to'liq yo'l (path) talab qilinadi. Masalan:

remote_user@some_server.org:/path/to/file

Joriy katalogdagi mahalliy faylni yangi katalogga nusxalash:

scp localfile.txt /home/friend/share/

Masofaviy faylni o'zingizning joriy ishchi katalogingizga nusxalash:

scp rocky@arena51.net:/home/rocky/game/data.txt ./

Faylni bir masofaviy manzildan boshqa bir masofaviy manzilga nusxalash:

scp mars@universe.org:/beacon/light/bitmap.conf jupiter@universe.org:/beacon/night/

Katalogni va barcha quyi kataloglarni nusxalash uchun scp buyrug'iga -r (rekursiv) opsiyasini qo'shing:

scp -r user@192.168.0.4:~/project/* ./workspace/


15.2-bo'lim: Asosiy foydalanish (Basic Usage)

Masofaviy faylni mahalliy katalogga nusxalash:

scp user@remotehost.com:/remote/path/to/foobar.md /local/dest

Mahalliy faylni masofaviy katalogga nusxalash:

scp foobar.md user@remotehost.com:/remote/dest

Kalit fayllardan (PEM) foydalanish (xuddi ssh kabi):

SSH kalitlari yordamida autentifikatsiya qilish uchun -i bayrog'idan foydalanishingiz mumkin:

scp -i my_key.pem foobar.md user@remotehost.com:/remote/dest


Mana 16 va 17-boblarning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


16-bob: GnuPG (GPG)

GnuPG β€” ma'lumotlarni xavfsiz imzolash yoki shifrlash imkonini beruvchi murakkab kalitlarni boshqarish tizimidir. GPG β€” GnuPG kalitlarini yaratish va ulardan foydalanish uchun ishlatiladigan buyruqlar satri vositasi.

GnuPG ko'pincha SSH ulanishlarini parolsiz va interaktiv autentifikatsiyasiz amalga oshirishda qo'llaniladi, bu esa xavfsizlik darajasini sezilarli darajada oshiradi.

16.1-bo'lim: Ochiq kalitni eksport qilish

Ochiq va maxfiy kalitlar juftligidan foydalanish uchun siz ochiq kalitingizni (public key) boshqalar uchun ochiq qilishingiz kerak. Diqqat: Hech qachon maxfiy kalitingizni (private key) boshqalar bilan baham ko'rmang. Ochiq kalitni quyidagi buyruq bilan eksport qilish mumkin:

gpg --armor --export POCHTA_MANZILI > public_key.asc

Shuningdek, kalitni keys.gnupg.net kabi ochiq kalit serverlariga yuklash mumkin:

  1. Kalitlar ro'yxatini ko'ring: gpg --list-keys
  2. Kalitning 8 xonali ID raqamini (Primary ID) toping.
  3. Serverga yuboring: gpg --send-keys PRIMARY_ID

16.2-bo'lim: GnuPG kalitini tezkor yaratish

Tasodifiy baytlar generatsiyasini tezlashtirish uchun haveged dasturini o'rnating, so'ngra:

gpg --gen-key β€” kalit yaratish.

gpg --keyserver pgp.mit.edu --send-keys NNNNNNNN β€” kalitni nashr qilish.


17-bob: Tarmoq konfiguratsiyasi (Network Configuration)

Linux bir nechta tarmoq qurilmalarini qo'llab-quvvatlaydi. Qurilma nomlari noldan boshlab raqamlanadi (masalan, eth0, eth1).

17.1-bo'lim: Mahalliy DNS ruxsati (Local DNS resolution)

/etc/hosts fayli DNS serverga murojaat qilmasdan, mahalliy darajada aniqlanadigan xostlar ro'yxatini saqlaydi.

Fayl formati RFC 952 standarti bilan belgilanadi.

17.2-bo'lim: Domen nomlarini aniqlash uchun DNS serverlarini sozlash

/etc/resolv.conf fayli domen nomlarini IP manzilga aylantirish uchun ishlatiladigan DNS serverlar ro'yxatini saqlaydi.

Namuna:

nameserver 8.8.8.8 β€” asosiy DNS server.

nameserver 8.8.4.4 β€” yordamchi DNS server.

17.3-bo'lim: Yo'nalishlarni (routes) ko'rish va boshqarish

route buyrug'i yordamida:

  • route -n β€” yo'nalishlar jadvalini tezkor ko'rish.
  • route add default gw 2.2.2.1 eth0 β€” standart shlyuzni (gateway) qo'shish.

ip buyrug'i yordamida:

  • ip route show β€” yo'nalishlar jadvalini ko'rsatish.
  • ip route add default via 1.2.3.254 β€” standart shlyuzni sozlash.

17.4-bo'lim: Tarmoqdagi boshqa tizim uchun xost nomini sozlash

Tarmoqdagi biror IP manzilga (masalan, 192.168.1.44) qisqa nom (masalan, remote_pc) biriktirish uchun /etc/hosts fayliga quyidagi qatorni qo'shing:

192.168.1.44 remote_pc

Endi siz ushbu kompyuterga ping remote_pc buyrug'i orqali murojaat qilishingiz mumkin.

17.5-bo'lim: Interfeys tafsilotlari

  • ifconfig -a: Barcha mavjud interfeyslarni ko'rish.
  • ethtool eth0: Tarmoq drayveri va apparat sozlamalarini (tezlik, dupleks va h.k.) tekshirish.
  • ip link show: Tarmoq interfeyslari holatini ko'rish.
  • ip addr show: Interfeyslarga biriktirilgan IP manzillarni ko'rish.

17.6-bo'lim: Interfeysga IP manzil qo'shish

1. DHCP orqali (Avtomatik):

sudo dhclient eth0

2. Statik (Doimiy) β€” /etc/network/interfaces fayli orqali:

Plaintext

auto eth0
iface eth0 inet static
    address 10.10.70.10
    netmask 255.255.0.0
    gateway 10.10.1.1

3. Statik (Vaqtincha) β€” ifconfig orqali:

sudo ifconfig eth0 10.10.50.100/16 up


Mana 18-bobning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


18-bob: Midnight Commander (mc)

Midnight Commander yoki qisqacha mc β€” bu konsol (terminal) asosidagi fayl menejeridir. Ushbu mavzu uning funksional imkoniyatlari tavsifi, misollar va undan to'liq salohiyat bilan foydalanish bo'yicha maslahatlarni o'z ichiga oladi.

18.1-bo'lim: Fayllarni ko'rish (browsing) rejimidagi funksional tugmalar

Quyida Midnight Commander-ning fayllarni ko'rish rejimida klaviaturadagi funksional tugmalar orqali bajariladigan amallar ro'yxati keltirilgan:

  • F1: Yordam oynasini ochish.
  • F2: Foydalanuvchi menyusini ochish.
  • F3: Tanlangan fayl mazmunini ko'rish.
  • F4: Tanlangan faylni ichki tahrirlagichda (editor) ochish.
  • F5: Tanlangan faylni ikkinchi paneldagi ochiq katalogga nusxalash (Copy).
  • F6: Tanlangan faylni ikkinchi paneldagi ochiq katalogga ko'chirish (Move).
  • F7: Joriy paneldagi katalog ichida yangi papka (directory) yaratish.
  • F8: Tanlangan fayl yoki katalogni o'chirish (Delete).
  • F9: Ekranning yuqori qismidagi asosiy menyuga fokusni o'tkazish.
  • F10: Midnight Commander dasturidan chiqish.

18.2-bo'lim: Faylni tahrirlash (editing) rejimidagi funksional tugmalar

Midnight Commander-da o'rnatilgan tahrirlagich mavjud bo'lib, u ko'rish rejimida fayl ustida turganda F4 tugmasini bosish orqali ishga tushadi. Shuningdek, uni alohida rejimda quyidagi buyruq bilan ham chaqirish mumkin:

mcedit <fayl_nomi>

Tahrirlash rejimida ishlaydigan amallar ro'yxati:

  • F1: Yordam oynasini ochish.
  • F2: Joriy faylni saqlash.
  • F3: Matnni belgilash boshlanishini qayd etish. Belgilash uchun kursorni istalgan yo'nalishda harakatlantiring. Ikkinchi marta bosish belgilash yakunini qayd etadi.
  • F4: Matnni qidirish va almashtirish (search/replace) muloqot oynasini ochish.
  • F5: Tanlangan matnni kursor turgan joyga nusxalash (copy/paste).
  • F6: Tanlangan matnni kursor turgan joyga ko'chirish (cut/paste).
  • F7: Matnni qidirish muloqot oynasini ochish.
  • F8: Tanlangan matnni o'chirish.
  • F9: Ekranning yuqori qismidagi asosiy menyuga fokusni o'tkazish.
  • F10: Tahrirlagichdan chiqish.

Mana 19 va 20-boblarning 100% to'liq va akademik tartibdagi o'zbekcha tarjimasi:


19-bob: Ildiz katalogni o'zgartirish (chroot)

Change root (chroot) β€” bu joriy ishlayotgan jarayon va uning barcha quyi (child) jarayonlari uchun ko'rinadigan ildiz katalogni (/) o'zgartirish operatsiyasidir. Bunday o'zgartirilgan muhitda ishga tushirilgan dastur ushbu katalog daraxtidan tashqaridagi fayllar va buyruqlarga kira olmaydi.

19.1-bo'lim: Talablar (Requirements)

  • Root imtiyozlari (administrator huquqi).
  • Boshqa ishchi Linux muhiti (masalan, Live CD yuklanishi yoki mavjud boshqa distributiv).
  • Arxitektura mosligi: chroot manbasi va boriladigan joyning arxitekturasi mos kelishi kerak (buni uname -m buyrug'i bilan tekshiring).
  • Yadro modullari: chroot muhitida kerak bo'lishi mumkin bo'lgan yadro modullari yuklangan bo'lishi shart (masalan, modprobe yordamida).

19.2-bo'lim: Katalog ichida ildizni qo'lda o'zgartirish

  1. Barcha talablar bajarilganiga ishonch hosil qiling.
  2. Vaqtinchalik API fayl tizimlarini ulang (mount):Bashcd /yangi/ildiz/joylashuvi mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ # (ixtiyoriy)
  3. Internet ulanishi kerak bo'lsa, DNS ma'lumotlarini nusxalang:cp /etc/resolv.conf etc/resolv.conf
  4. Ildizni o'zgartiring (chroot):chroot /yangi/ildiz/joylashuvi /bin/bash
  5. Mahalliy bash konfiguratsiyasini yuklang:source /etc/profile va source ~/.bashrc
  6. Muhitni farqlash uchun maxsus buyruq satri (prompt) yarating:export PS1="(chroot) $PS1"
  7. Ish yakunlangach, chiqish:exit
  8. Fayl tizimlarini uzing (unmount):cd / va umount --recursive /yangi/ildiz/joylashuvi

19.3-bo'lim: chroot-dan foydalanish sabablari

Chroot odatda tizimga yuklanish yoki kirish imkoni bo'lmagan holatlarda texnik xizmat ko'rsatish uchun ishlatiladi.

Asosiy misollar:

  • Yuklovchini (bootloader - masalan, GRUB) qayta o'rnatish.
  • initramfs obrazini qayta qurish.
  • Paketlarni yangilash yoki eski versiyaga qaytarish (upgrade/downgrade).
  • Unutilgan parolni tiklash.
  • Dasturiy ta'minotni toza muhitda yaratish (build).

20-bob: Paket menejerlari (Package Managers)

20.1-bo'lim: apt yordamida paketlarni yangilash

Advanced Package Tool (apt) β€” Debian, Ubuntu va shunga o'xshash distributivlarda dasturlarni o'rnatish va o'chirishni boshqaradi.

  • update: Paketlar haqidagi yangi ma'lumotlarni (Packages.gz) yuklaydi.sudo apt-get update
  • upgrade: Tizimdagi barcha o'rnatilgan paketlarning eng yangi versiyalarini o'rnatadi.sudo apt-get upgrade
  • dist-upgrade: upgrade funksiyasidan tashqari, paketlarning yangi versiyalari bilan bog'liq qaramliklar (dependencies) o'zgarishini aqlli boshqaradi.sudo apt-get dist-upgrade

20.2-bo'lim: pacman yordamida paket o'rnatish

Pacman β€” Arch Linux va uning hosilalarida ishlatiladi.

  • Qidiruv: pacman -Ss qidirilayotgan_soz
  • O'rnatish: sudo pacman -S paket_nomi

20.3-bo'lim: pacman yordamida paketlarni yangilash

  • Muayyan dasturni yangilash: sudo pacman -S dastur_nomi
  • Butun tizimni yangilash: sudo pacman -Syu

20.4-bo'lim: yum yordamida paketlarni yangilash

Yum (Yellowdog Updater, Modified) β€” Red Hat, Fedora va CentOS tizimlarida qo'llaniladi.

  • search: Kerakli dasturni repozitoriyalardan qidiradi.yum search qidiruv_sozi
  • install: Dasturni va uning barcha kerakli qaramliklarini avtomatik topib o'rnatadi.sudo yum install paket_nomi
  • update: O'rnatilgan paketlarni eng so'nggi versiyaga yangilaydi.sudo yum update

apt-dan farqli o'laroq, yum buyruqlari har qanday operatsiyadan oldin repozitoriya metama'lumotlarini avtomatik tekshiradi.


Mana ushbu kitobning so'nggi bobi va mualliflar ro'yxatining 100% to'liq o'zbekcha tarjimasi:


21-bob: Linux yadrosini (kernel) kompilyatsiya qilish

21.1-bo'lim: Ubuntu tizimida Linux yadrosini kompilyatsiya qilish

Ogohlantirish: Diskingizda kamida 15 GB bo'sh joy borligiga ishonch hosil qiling.

Ubuntu >= 13.04 versiyalarida kompilyatsiya qilish:

A varianti) Git-dan foydalanish

Agar siz doimiy ravishda Ubuntu yadrosining so'nggi manbalari bilan sinxron bo'lishni xohlasangiz, Git-dan foydalaning. Batafsil ko'rsatmalarni "Kernel Git Guide" qo'llanmasidan topishingiz mumkin. Git repozitoriyasi kerakli boshqaruv fayllarini o'z ichiga olmaydi, shuning uchun ularni quyidagi buyruq bilan yaratishingiz kerak:

fakeroot debian/rules clean

B varianti) Manba arxivi (source archive) yuklab olish

Bu variant standart Ubuntu paketlarini qo'shimcha tuzatishlar (patches) bilan qayta qurmoqchi bo'lgan foydalanuvchilar uchun. Quyidagi buyruq yordamida qurish qaramliklarini (dependencies) o'rnating va manbani joriy katalogga chiqaring:

  1. Quyidagi paketlarni o'rnating:sudo apt-get build-dep linux-image-uname -r``

C varianti) Manba paketini yuklab olish va qurish

Bu variant Ubuntu tomonidan tahrirlangan yadro manbasini o'zgartirish yoki u bilan tajriba o'tkazishni xohlovchilar uchun.

  1. Eng so'nggi yadro manbasini kernel.org saytidan yuklab oling.
  2. Arxivni katalogga chiqaring va uning ichiga kiring:Bashtar xf linux-*.tar.xz cd linux-*
  3. ncurses konfiguratsiya interfeysini quring:make menuconfig
  4. Standart konfiguratsiyani qabul qilish uchun yo'nalish tugmalari yordamida < Exit > yozuvini belgilang va Enter ni bosing.
  5. Konfiguratsiyani saqlash uchun yana bir bor Enter ni bosing.
  6. Yadroni qurish uchun make buyrug'idan foydalaning:makeEslatma: Bir nechta protsessor yadrolaridan foydalanish va fayllarni parallel kompilyatsiya qilish uchun -j bayrog'idan (masalan, make -j4) foydalanishingiz mumkin.

Siqilgan yadro obrazi (compressed kernel image) quyidagi manzilda joylashgan bo'ladi: arch/[arxitektura]/boot/bzImage. Bu yerda [arxitektura] sizning tizimingiz turiga (masalan, x86) teng.


Minnatdorchilik (Credits)

Ushbu kontentni taqdim etishda yordam bergan Stack Overflow Documentation hamjamiyatining barcha a'zolariga o'z minnatdorchiligimizni bildiramiz. Yangi kontent yoki o'zgarishlar bo'yicha takliflarni web@petercv.com manziliga yuborishingiz mumkin.

Mualliflar va hissa qo'shganlar (ba'zilari):

  • LΓ©o LΓ©opold Hertz μ€€μ˜ β€” 21-bob
  • Nathan Osman β€” 21-bob
  • BrightOne β€” 9, 13, 14 va 19-boblar
  • Philip Kirkbride β€” 4, 7, 12 va 20-boblar
  • Sava β€” 1, 4, 14 va 18-boblar
  • Y4Rv1K β€” 6 va 17-boblar
  • (Va ro'yxatda keltirilgan o'nlab boshqa ko'ngillilar)

Tabriklayman! Biz Linux bo'yicha professional qaydlar kitobining barcha asosiy qismlarini tarjima qilib tugatdik. Kitob Ingiliz tilidan tarjima qilindi: Asl kitob bu havola orqali yuklab olishingiz mumkin:
https://goalkicker.com/LinuxBook/