Salam dostlar,
Bu nəzəri və praktiki məqaləmdə sizə "shell scripting" ilə bağlı bəzi tapşırıqları təqdim edəcəm ki, bəzən bu cür tapşırıqlar iş müsahibələri zamanı "task" olaraq istənilə bilir. Lakin, ilk növbədə "shell" haqqında ümumi bir giriş vermək istərdim. Beləliklə, "shell" nədir?
Nəzəri hissə:
Özünəməxsus xüsusiyyət və funksiyalara malik olan "shell" ən çox "scripting" (avtomatlaşdırma) proseslərində istifadə olunur. İstifadəçi sistemə daxil (login) olduqda və konsol (terminal) pəncərəsini açdıqda istənilən əməliyyat sisteminin ürəyi hesab olunan "kernel", istifadəçi ilə "kernel" arasında interfeys rolunu oynayan (proqramı) "shell"-i işə salır. "Kernel", proseslərin idarə edilməsi və icrasına nəzarəti, eləcə də sistem resurslarından düzgün istifadəni təmin etmək üçün məsuliyyət daşıyır.
"Linux Shell"-in növləri:
- "Bourne Shell (sh)" - "Unix"-in ilk "shell"-i kimi qəbul edilir və Steve Bourne tərəfindən "AT&T Bell Lab"-da hazırlanmışdır. "Sh" kimi də adlandırılan "Bourne Shell" "Solaris" əməliyyat sisteminin "default" (standard) "shell"-i sayılır (/bin/sh və ya /sbin/sh) ;
- "Bourne Again Shell (bash)" - təkmilləşdirilərək (hal-hazırda) daha geniş şəkildə istifadə olunur və "Bourne Shell (sh)"-ə uyğulaşdırılmaq məqsədilə hazırlanmışdır. Qeyd edim ki, "Korn Shell (ksh)" və "C Shell (csh)" kimi "Bourne Again Shell (bash)" də digər və müxtəlif "shell" növlərinin faydalı xüsusiyyətlərini özündə birləşdirir (/bin/bash) ;
- "C Shell (csh)" - Kaliforniya Universitetində Bill Coy tərəfindən yaradılmışdır. Qeyd edim ki, "csh" kimi də adlanan "C Shell", arifmetik əməliyyatlar üçün "C" proqramlaşdırma dilinə bənzər sintaksis tipli faydalı proqramlaşdırma xüsusiyyətləri və funksiyalarını daxil etmək üçün hazırlanmışdır (/bin/csh) ;
- "Korn Shell (ksh)" - mahiyyətcə "Bourne Shell (sh)"-in üst səviyyəsi sayılır. "Korn Shell (ksh)" "Bourne Shell (sh)"-i təkmilləşdirmək üçün "AT&T Bell Labs"-da David Korn tərəfindən hazırlanmışdır. "Bourne Shell (sh)" üçün hazırlanmış skriptləri istifadə edə bilən "Korn Shell (ksh)", eyni zamanda "C" proqramlaşdırma dilinə bənzər "string", "array" və "function" manipulyasiyasını da təmin edə bilir (/bin/ksh) ;
- "Z Shell (zsh)" - "bash", "ksh" və "tcsh"-in bəzi xüsusiyyətləri də daxil olmaqla bir çox funksiya və təkmilləşdirilmələri olan genişləndirilmiş bir "shell" növüdür (/bin/zsh).
Praktiki hissə:
- Hansı əmr "shell" skriptin işə düşmə icazəsini təmin edir və hansı metodlu əmrlər skripti işə salır?
- Hal-hazırkı tarixi, vaxtı, istifadəçi adı və "directory"-ni müəyyən edən skriptin yazılmasını təmin edin!
- Sistemdə olan bütün istifadəçilərin listini müəyyən edən skriptin yazılmasını təmi edin!
- Məlumat xarakterli sualları soruş, yoxla və cavabının müəyyən edən skriptin yazılmasını təmin edin!
- Hal-hazırda istifadə olunan "shell"-in proses "id"-ni (pid) müəyyən edən skriptin yazılmasını təmin edin!
“file_count” funksiyasının qovluğu arqument kimi qəbul etməsinə şərait yaradaraq “/etc”, “/var” və “/usr/bin” qovluğunda olan faylların sayının növbəti sətirdə ekranda göstərilməsini müəyyən edən skriptin yazılmasını təmin edin!
Dostlar,
Güman edirəm ki, bu nəzəri və praktiki məqaləm maariflənməniz istiqamətində sizə faydalı olar.
Təşəkkür edirəm
Hörmətlə,
Müəllif
Araz Əhmədov
Comments
Post a Comment