Pierwsze kroki w terminalu
4 zadania do wykonania na emulowanej maszynie.
Kursy Bash od zera do bohateraTerminal: pierwszy kontakt bez strachu
Czarne okno z migającym kursorem. Żadnych przycisków, żadnych menu, żadnych podpowiedzi. Dla wielu osób to moment, w którym zamykają kartę i wracają do klikania. A tymczasem po drugiej stronie tego kursora siedzi najpotężniejsze narzędzie, jakie kiedykolwiek dostaniesz jako inżynier.
Umowa jest prosta: terminal robi dokładnie to, co mu każesz. Nie zgaduje, nie poprawia, nie pyta „czy na pewno". To brzmi groźnie, ale jest też uczciwe — gdy nauczysz się mówić jego językiem, przestaniesz być pasażerem swojego komputera i siądziesz za kierownicą.
Kiedy piszesz w terminalu, nie rozmawiasz bezpośrednio z systemem. Rozmawiasz z shellem — programem, który czyta twoje polecenia, interpretuje je i przekazuje systemowi do wykonania. Shell to tłumacz między tobą a jądrem systemu.
Shelli jest wiele: sh, zsh, fish... Ale jeden jest wszędzie: bash (Bourne Again SHell). Znajdziesz go na serwerze produkcyjnym, w kontenerze Dockera, w pipeline CI/CD, na Raspberry Pi w szafie u klienta. Dlatego uczymy się właśnie jego — to lingua franca całego świata Linuksa.
I dlatego DevOps żyje w terminalu. Serwer w chmurze nie ma monitora ani pulpitu. Kontener nie ma myszki. Gdy o 3 w nocy produkcja leży, a ty łączysz się przez SSH, jedyne co masz, to shell. Terminal to nie relikt przeszłości — to interfejs do 99% infrastruktury świata.
pwdW terminalu zawsze „stoisz" w jakimś katalogu. Pierwsze polecenie, jakie poznasz, odpowiada na najważniejsze pytanie zagubionego człowieka:
pwd
pwd — print working directory — wypisuje pełną ścieżkę katalogu, w którym jesteś, np. /home/student. Wyrób sobie odruch: nie wiesz gdzie jesteś → pwd. Ten odruch uratował niejednego admina przed skasowaniem plików w złym katalogu.
ls i jego flagils
ls (list) pokazuje zawartość katalogu. Ale prawdziwa siła siedzi we flagach — dodatkowych opcjach zmieniających zachowanie polecenia:
ls -l # długi format: uprawnienia, właściciel, rozmiar, data
ls -a # pokaż też pliki ukryte (zaczynające się od kropki)
ls -h # rozmiary czytelne dla człowieka (4.0K zamiast 4096)
ls -lah # wszystko naraz — flagi można łączyć
ls -lah to jedno z najczęściej wpisywanych poleceń na świecie. Pliki ukryte (.bashrc, .ssh, .git) to nie kaprys — tak Linux przechowuje konfigurację. Bez -a połowa katalogu domowego jest dla ciebie niewidzialna.
cd i dwa rodzaje ścieżekcd /var/log # idź do konkretnego miejsca
cd projekty # wejdź do podkatalogu
cd .. # piętro wyżej
cd ~ # wróć do katalogu domowego
cd # to samo — samo cd też wraca do domu
Ścieżki występują w dwóch smakach i różnica jest fundamentalna:
/ i opisuje pełny adres od korzenia systemu: /home/student/projekty. Działa zawsze, niezależnie gdzie stoisz.projekty/backup znaczy „katalog projekty tutaj, a w nim backup".Do tego trzy skróty, które widzisz wszędzie:
~ — twój katalog domowy,. — katalog bieżący („tutaj"),.. — katalog nadrzędny („piętro wyżej").cd ../.. to „dwa piętra w górę". Będziesz tego używać setki razy dziennie.
Teraz sekret, który zmienia wszystko. Nie wpisuje się długich nazw ręcznie. Wpisujesz kilka pierwszych liter i wciskasz Tab:
cd /var/lo<Tab> # bash dokończy: /var/log/
Jeśli pasuje kilka nazw, wciśnij Tab dwa razy — dostaniesz listę możliwości. Autouzupełnianie to nie lenistwo, to bezpieczeństwo: bash dopisze nazwę, która naprawdę istnieje, więc literówka jest niemożliwa. Zawodowcy klepią Tab odruchowo, co kilka znaków. Od dziś ty też.
Każde wpisane polecenie ląduje w historii:
history # pokaż, co wpisywałeś
Strzałka w górę przywołuje poprzednie polecenia — możesz je poprawić i odpalić ponownie. A Ctrl+R uruchamia wyszukiwanie: zacznij pisać fragment starego polecenia, a bash je znajdzie. Wpisałeś kiedyś długą komendę? Nigdy nie będziesz pisać jej drugi raz.
Za chwilę przejdziesz do konsoli obok i sam to wszystko przećwiczysz. Polecenia z tej lekcji — pwd, ls, cd — tylko czytają informacje. Niczego nie zmieniają, niczego nie kasują. Możesz wpisywać, mylić się i eksperymentować do woli. Najgorsze, co się stanie, to komunikat No such file or directory — a to nie błąd, to rozmowa.
Zasada do zapamiętania: terminal nie gryzie — terminal słucha. Trzy polecenia (pwd, ls, cd), klawisz Tab i strzałka w górę wystarczą, żebyś swobodnie poruszał się po każdym Linuksie na świecie. Reszta tego kursu to budowanie na tym fundamencie.
4 zadania do wykonania na emulowanej maszynie.