BASH shell

From ICO wiki
Jump to navigationJump to search

GNU/Linux operatsioonisüsteemi haldamise automatiseerimine Bashi skriptimiskeele abil

Lühitutvustus

Bash (Bourne-again shell) on maailmas üks enim levinud koorikuid (shell), mille jaoks kirjutatud skriptidega on võimalik süsteemide tööd automatiseerida ja lihtsustada. Lühidalt vaadeldakse keele ülesehitust ja kasutusvõimalusi. Pikemalt keskendutakse konkreetsete administreerimisülesannete lahendamisele Bashi skriptimiskeele abil.

Eesmärk

Anda oskused Bashi skriptimiskeele kasutamiseks süsteemihalduri igapäevatöö lihtsustamise ning efektiivsemaks muutmise eesmärgil.

Eelteadmised/eeldused

Varasem kokkupuude GNU/Linux operatsioonisüsteemiga ning sealjuures omandatud oskused, mille taset kontrollitakse automatiseeritud enesetestiga.

Eelteadmiste kontrolliks tasub sooritada enesetest

Sihtgrupp

Tugitehnikud ja süsteemihaldurid.

Teemad

Loeng 01 - BASH alused

Loeng 02 - BASH alused ja kodutööd



  • Bashist üldisemalt
    • Mis on Bash ja kest (shell)
    • Bashi skriptide loomine
    • Bashi skriptide käivitamine
  • Bashi konfiguratsioonifailid
    • .bash_profile: .bash_login ja .profile
    • .bashrc
    • .bash_logout
    • /etc/profile, /etc/profile.d/
    • Bashi käskude ajalugu failis .bash_history
  • Bashi süntaksist
    • Kommenteerimine
    • Eritähendusega sümbolid (metacharacters, escaping characters, wildcards)
    • Ühekordsete- ja kahekordsete jutumärkide erinevus
    • Keskkonnamuutujad ja parameetrid
    • Käskude asendamine (command substitution)
    • Sisendi lugemine ja interaktiivsed skriptid
    • Staatuskoodid
    • Stringitöötlus
    • Mitu käsku ühel real
    • Piping
    • Tingimuslaused (if-else, case)
    • Tsüklid (for, while, until, select)
    • Stringi kontrollid (suurem, võrdne, väiksem)
    • Faili omaduste ja olemasolu kontrollid
    • Sisendi ja väljundi sunamine ekraanile ja/või faili (stdin, stdout)
    • Funktsioonid
    • Aritmeetilised operatsioonid, ümardamine
    • Regulaaravaldised
    • Massiivide kasutamine
  • Enim levinud utiliidid ja nende kasutamine Bashi skriptis (echo, cat, cut, wc, sed, awk, mv, cp, mkdir, ls, file, head, uniq, tail, jne)
  • Protsessid ja nende käivitamine (ps, pstree, top, &)
  • Shelli skripti vigade otsimine ja parandamine

Näidisülesanded

  • Arvutusülesanded
  • Stringimanipulatsioonid
  • Ülesanded failidega
  • Skripti kirjutamine, mis näitab erinevaid süsteemi konfiguratsioone, näiteks sisse loginud kasutajaid, operatsioonisüsteemi versiooni, muutmälu informatsiooni, külge haagitud kettaid jne
  • Hangunud protsesside peatamine ja teenusele alglaadimise tegemine
  • Skripti loomine, mis lisab DNSi kirje BIND andmebaasi koos vaikimisi nimeserverite ja e-maili serveritega (MX kirjed)
  • Failinimede konverteerimine väikestest suurteks tähtedeks
  • Etteantud mustrile vastavate stringide automaatiseeritud muutmine failis

Sendmaili saatmisjärjekorras olevate failide seast suurimate leidmine