Aurora Kursy

Kursy Bash od zera do bohateraTerminal: pierwszy kontakt bez strachu

Terminal: pierwszy kontakt bez strachu

Lekcja 1 z 20 Podgląd

Terminal: 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ą.

Czym właściwie jest shell (i czym jest bash)

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.

Gdzie jestem? — pwd

W 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.

Co tu jest? — ls i jego flagi

ls

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.

Poruszanie się — cd i dwa rodzaje ścieżek

cd /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:

  • Bezwzględna zaczyna się od / i opisuje pełny adres od korzenia systemu: /home/student/projekty. Działa zawsze, niezależnie gdzie stoisz.
  • Względna liczy się od miejsca, w którym jesteś: 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.

Tab — twój najlepszy przyjaciel

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ż.

Historia — nic nie ginie

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.

Spróbuj — nic nie zepsujesz

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.

Ćwiczenia praktyczne

0 / 1