KursyBash od zera do bohatera
Bash od zera do bohatera
Od strachu przed czarnym oknem do produkcyjnych skryptów, które nie budz¹ Ciê o 3 w nocy.
Program
- Terminal: pierwszy kontakt bez strachu Czym jest shell, czym bash i dlaczego DevOps żyje w terminalu. Pierwsze polecenia: pwd, ls, cd, ścieżki bezwzględne i względne oraz mapa systemu plików Linuksa (/etc, /var/log, /tmp). Podgląd ćwiczenie
-
Pliki i katalogi: tworzenie, kopiowanie i kasowanie bez kosza Operacje na plikach: touch, mkdir, cp, mv, rm oraz flagi -r i -f. Dlaczego rm nie ma kosza i jak jedna literówka w ścieżce skraca karierę. ćwiczenie 🔒
-
Czytanie i polowanie na pliki: cat, head, tail, less, find Podgląd plików bez edytora: cat, head, tail i less. Szukanie plików w drzewie katalogów przez find, lokalizowanie poleceń przez which i szybkie miary z wc. ćwiczenie 🔒
-
Trzy strumienie: stdin, stdout, stderr i przekierowania Każdy proces ma trzy strumienie i można nimi sterować: >, >>, 2>, 2>&1, /dev/null oraz tee. Fundament pracy z logami i pierwsza rzecz, którą psują początkujący. ćwiczenie 🔒
-
Potoki: linia produkcyjna z małych poleceń Potok | podaje wyjście jednego polecenia na wejście drugiego. sort, uniq, cut i wc składają się w klasyczne jednolinijkowce analizy logów, które każdy SRE pisze z pamięci. ćwiczenie 🔒
-
grep i wyrażenia regularne: igła w stogu logów grep jako podstawowe narzędzie śledcze: flagi -i, -v, -n, -r, -c oraz podstawy wyrażeń regularnych — kotwice, klasy znaków, kwantyfikatory i alternatywa. ćwiczenie 🔒
-
sed i awk: chirurgia strumienia tekstu sed wykonuje masowe podmiany i usuwanie linii (s///, d), awk tnie tekst na pola i liczy. Duet, który zastępuje ręczną edycję dziesiątek plików konfiguracyjnych. ćwiczenie 🔒
-
Zmienne i cudzysłowy: najdroższe spacje w historii Przypisania bez spacji wokół =, odwołania ${VAR}, różnica między ' a " oraz word splitting. Niecytowana zmienna to najczęstsza przyczyna skryptów, które "działały u mnie". ćwiczenie 🔒
-
Kody wyjścia i warunki: if, test, [ ] kontra [[ ]] Każde polecenie zwraca kod wyjścia — $?, && i || sterują przepływem. Konstrukcja if z test/[ ] i [[ ]]: testy istnienia plików, porównania liczb i napisów oraz klasyczne błędy składni. ćwiczenie 🔒
-
Pętle: for, while read i bezpieczne iterowanie Pętla for po listach i globach oraz while read -r do czytania plików linia po linii. Klasyk do rozbrojenia: dlaczego for f in $(ls) psuje się na pierwszej spacji w nazwie. ćwiczenie 🔒
-
Funkcje: przestań kopiować, zacznij wywoływać Definiowanie funkcji, argumenty pozycyjne wewnątrz funkcji, zmienne local, różnica między return a echo. Budowa własnej mini-biblioteki pomocniczej. ćwiczenie 🔒
-
Argumenty skryptu: $@, shift i getopts Skrypt jako narzędzie CLI: $0, $1..$9, $#, różnica między "$@" a $*, przesuwanie shift oraz parsowanie flag przez getopts z czytelnym komunikatem użycia. ćwiczenie 🔒
-
Substytucja poleceń, substytucja procesów i here-docs Substytucja poleceń $( ) wstawia wynik polecenia do zmiennej, substytucja procesów <( ) podaje go jak plik, a here-doc generuje wieloliniowe pliki — z interpolacją albo bez (EOF w cudzysłowie). ćwiczenie 🔒
-
Glob kontra regex i tablice: kiedy * nie znaczy to samo Wzorce glob (*, ?, [..]) rozwija shell, a regex interpretują grep i sed — mylenie ich kończy się pustymi wynikami albo przetworzeniem złych plików. Do tego tablice: ${arr[@]}, indeksy i iterowanie. ćwiczenie 🔒
-
set -euo pipefail: skrypt, który wie, kiedy przestać Domyślnie bash brnie dalej po błędzie, nadpisując dane po drodze. Tryb strict: set -e, -u i -o pipefail — wraz z pułapkami (kody w potokach, || true, zachowanie w warunkach). ćwiczenie 🔒
-
Sygnały i trap: sprzątanie po sobie nawet po Ctrl+C SIGINT, SIGTERM i kill, czyli jak umierają procesy. Przechwytywanie sygnałów przez trap i sprzątanie plików tymczasowych oraz locków w trap ... EXIT, żeby przerwany skrypt nie zostawiał pola minowego. ćwiczenie 🔒
-
Debugowanie: set -x, shellcheck i bashizmy kontra POSIX bash -n łapie błędy składni, set -x pokazuje wykonanie krok po kroku (z czytelnym PS4), a shellcheck wyłapuje klasyki zanim to zrobi produkcja. Do tego bashizmy kontra POSIX sh — czyli czemu skrypt padł na Alpine. ćwiczenie 🔒
-
Cron: automatyzacja, która działa, gdy śpisz Składnia crontab i dlaczego cron ma inne środowisko niż Twój terminal (okrojony PATH, brak TTY). Logowanie wyników zadań i ochrona przed nakładającymi się uruchomieniami. ćwiczenie 🔒
-
Bezpieczeństwo skryptów: wstrzyknięcia, cytowanie i pułapki rm -rf Wstrzyknięcia przez niecytowane zmienne i eval, pusta zmienna w rm -rf "$DIR/", bezpieczne pliki tymczasowe z mktemp i ograniczone zaufanie do PATH. Rozdział napisany kosztem cudzych nocy. ćwiczenie 🔒
-
Skrypt, któremu ufasz o 3 w nocy: dobre praktyki produkcyjne Checklista produkcyjna: tryb strict, logowanie, idempotencja, dry-run, czytelne kody wyjścia i komunikat użycia. Powtórka całego materiału i przygotowanie do egzaminu próbnego. ćwiczenie 🔒
Kurs dla przyszłych inżynierów DevOps i SRE, administratorów oraz programistów, którzy terminal znają głównie z przeklejania komend z tutoriali. Zaczynamy od zera — od pierwszego pwd i mapy systemu plików — a kończymy na skryptach z obsługą błędów, trapami i cronem, które można bez wstydu wdrożyć na serwer klienta. Po drodze systematycznie rozbrajamy pułapki, z których każda kosztowała kiedyś kogoś nieprzespaną noc: niecytowane zmienne, rm -rf z pustą zmienną, set -e, które nie działa tam, gdzie się go spodziewasz, i cron, który ma inne środowisko niż Twój terminal.
Od tutoriali z YouTube różni nas jedno: tu się nie ogląda, tylko robi. Każda lekcja ma ćwiczenie w emulatorze konsoli działającym w przeglądarce — z prawdziwym systemem plików, procesami i strumieniami. Zadanie zaliczasz nie przez wpisanie "właściwej komendy", ale przez doprowadzenie systemu do właściwego stanu — dokładnie tak jak na produkcji, gdzie nikogo nie obchodzi, co wpisałeś, tylko czy backup istnieje. Każdą lekcję zamyka quiz, a cały kurs — egzamin próbny z 60 pytaniami podzielonymi na domeny.
Po kursie czytasz cudze skrypty ze zrozumieniem, piszesz własne narzędzia CLI z getopts i trybem strict, debugujesz przez set -x zamiast zgadywać i wiesz, co odróżnia skrypt-zabawkę od skryptu, któremu ufasz o 3 w nocy. Bash to pierwszy język każdego DevOpsa — ten kurs sprawia, że przestaje być językiem obcym.
Dostęp do kursu
149 złPełny dostęp do wszystkich 20 lekcji, ćwiczeń i sprawdzianów, bezterminowo. Płatność BLIK-iem, przelewem albo kartą — dostęp aktywuje się od razu po zaksięgowaniu.
Kup dostęp — 149 zł Mam kod — załóż konto
Dla zespołu: jeden kod na dowolną liczbę miejsc — rozdajesz go ludziom, zamiast zakładać konta za nich. Napisz na kursy@aurora-tech.pl, ilu osób dotyczy.