Course Code: unixadv
Duration: 21 hours
Prerequisites:

Cunostinte despre linia de comanda Linux/Unix.

Overview:

Un curs de Shell Unix – Advanced este conceput pentru utilizatori care au deja cunoștințe de bază despre linia de comandă Unix/Linux și doresc să aprofundeze scriptingul shell și instrumentele avansate disponibile în mediile Unix-like.

Obiective principale ale cursului:

Să dezvolte scripturi shell complexe, robuste și reutilizabile

Să folosească eficient utilitare avansate (e.g., awk, sed, xargs)

Să gestioneze procese, semnale și erori

Să automatizeze task-uri complexe de sistem și să lucreze cu fișiere de configurare

Să înțeleagă bune practici în shell scripting

Course Outline:

🔹 Ziua 1: Recapitulare + Scripturi Shell Avansate

Recapitulare rapidă: comenzi shell, redirecționări, variabile

Parametri poziționali și opțiuni (getopts, shift, $@, $*)

Structuri de control avansate (while, until, select, case)

Funcții în shell: argumente, variabile locale, returnări

Gestionarea erorilor și coduri de ieșire (set -e, trap)


🔹 Ziua 2: Procesare avansată și instrumente

Procesare fișiere text cu:

sed pentru substituții, inserări, ștergeri

awk pentru extragere, raportare și formatare date

Utilitare avansate: xargs, find, cut, paste, tee, sort, uniq

Expresii regulate în grep, sed și awk

Redirectări avansate, pipe-uri, tee, process substitution


🔹 Ziua 3 : Automatizări, procese și debug

Crontab și automatizări de sarcini

Background jobs, nohup, disown

Trimiterea și capturarea semnalelor (trap, kill, SIGINT, SIGTERM)

Debugging de scripturi (set -x, bash -x, shellcheck)

Best practices pentru scrierea scripturilor shell