BASH shell
From ICO wiki
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.
Sihtgrupp
Tugitehnikud ja süsteemihaldurid.
Teemad
- 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