Czarne okienko, którego nie trzeba się bać
Po tej lekcji: kursant otwiera terminal, wpisuje pierwsze komendy i rozumie, co się właściwie dzieje.
Wstęp
Tak wygląda terminal w filmach. Haker wpisuje trzy linijki i ma dostęp do Pentagonu.
A tak wygląda w pracy admina. Wpisuję jedną komendę, czekam, wpisuję drugą, googluję, dlaczego pierwsza nie zadziałała.
Ale jest jedna rzecz, którą filmy pokazują dobrze. Ktoś, kto umie terminal, robi w minutę to, co klikaniem zajmuje godzinę. Zmienić nazwę tysiąca zdjęć z wakacji? Jedna linijka. Sprawdzić, który z pięciuset plików zajmuje najwięcej miejsca? Jedna linijka. Codziennie o trzeciej w nocy zrobić kopię zapasową serwera? Kilka linijek, raz napisanych, i zapominasz o problemie na lata.
W tym kursie nauczysz się tego od zera. Od pierwszego otwarcia tego czarnego okienka do pisania skryptów, którymi admini obsługują setki serwerów. Bez znajomości programowania na starcie.
Co to jest terminal, a co Bash
Wyobraź sobie urząd. Jest okienko, a za szybą siedzi urzędnik.
Ty podchodzisz do okienka i podajesz wniosek: „proszę pokazać mi listę moich dokumentów”. Urzędnik czyta, wykonuje i oddaje Ci odpowiedź.
Terminal to okienko. To program, który pokazuje Ci tekst i pozwala coś wpisać. Samo okienko niczego nie załatwia.
Bash to urzędnik za szybą. To program, który czyta to, co wpiszesz, i wykonuje. Takiego urzędnika fachowo nazywa się powłoką, po angielsku shell.
Komenda to wniosek. Mówi, co zrobić i z czym.
Urzędników jest kilku. Na Macu domyślnie siedzi taki o imieniu zsh. Na większości Linuxów właśnie Bash. Wszyscy mówią bardzo podobnym językiem, ale my uczymy się Basha, bo jest na niemal każdym serwerze świata.
Jak otworzyć terminal
Linux (np. Ubuntu): skrót Ctrl+Alt+T albo wpisz „Terminal” w menu. Gotowe, masz Basha.
Windows: Windows ma własnych urzędników, którzy mówią innym językiem. Najprościej zainstalować Linuksa wewnątrz Windowsa, przez dodatek od Microsoftu. Otwierasz PowerShell jako administrator, wpisujesz jedną komendę, restartujesz komputer i masz Ubuntu z Bashem.
wsl --installMac: otwórz aplikację Terminal. Uwaga, domyślnie przywita Cię zsh, a nie Bash. Bash też jest na Macu, ale w wersji sprzed prawie dwudziestu lat. Do pierwszych lekcji to nie przeszkadza, ale od połowy kursu będziemy używać rzeczy, których stary Bash nie zna. Dlatego polecam Linuksa w okienku albo zainstalowanie nowego Basha.
brew install bash (wymaga Homebrew), potem uruchamiasz go komendą bash
Pierwsze słowa
Widzisz coś takiego jak eryk@laptop:~$. To jest znak zachęty. Urzędnik mówi: „słucham”.
Przed małpą jest nazwa użytkownika, po niej nazwa komputera, a ten znak dolara na końcu to po prostu „możesz pisać”. Tyldę wyjaśnimy w następnej lekcji.
Wpisz:
echo "Cześć, terminalu"I naciśnij Enter.
Terminal odpowiada: Cześć, terminalu. Gratulacje, właśnie wydałeś pierwsze polecenie. echo znaczy po angielsku „echo” i robi dokładnie to: powtarza, co mu powiesz. Jak papuga, tylko nie gryzie.
Teraz dwie kolejne:
whoami
datewhoami, czyli „kim jestem”, podaje Twoją nazwę użytkownika. Komputer odpowiada na pytanie, które ludzie zadają sobie przez całe życie, i to w ułamku sekundy. date podaje datę i godzinę.
Jak zbudowana jest komenda
Każda komenda ma ten sam kształt, jak wniosek w urzędzie:
komenda -opcje argumenty, każda część w innym kolorze
- Komenda — co zrobić. Na przykład
date. - Opcje — jak to zrobić. Zwykle zaczynają się od minusa.
- Argumenty — z czym to zrobić. Na przykład nazwa pliku.
Przykład z opcją:
date "+%d.%m.%Y"Teraz data wychodzi po polsku, w formacie dzień, miesiąc, rok. Ten dziwny napis w cudzysłowie to wzór. Nie musisz go pamiętać, pokazuję tylko, że jedną komendę da się dopasować do siebie.
⚠ Typowy błąd
Wpisz z literówką:
daetTerminal odpowie, że nie zna takiej komendy. Po angielsku: command not found.
I to jest najważniejsza lekcja dzisiejszej lekcji. Nic się nie zepsuło. Urzędnik po prostu nie zrozumiał wniosku i cię o tym poinformował. Terminal nie wybuchnie, komputer się nie spali. Większość błędów w terminalu wygląda właśnie tak: czytasz komunikat i poprawiasz.
Ale uczciwie: są też komendy, które robią dokładnie to, co im każesz, nawet jeśli każesz źle. Na przykład kasowanie. O nich powiemy osobno i z dużym ostrzeżeniem.
Dwa skróty na dziś
clearalbo Ctrl+L czyści ekran, jak masz za dużą ściankę tekstu.exitzamyka terminal. Albo Ctrl+D.
✎ Zadanie
Otwórz terminal i spraw, żeby wypisał Twoje imię i dzisiejszą datę w polskim formacie. Dwie komendy. Rozwiązanie znajdziesz pod spodem.
Pokaż rozwiązanie
echo "Eryk"
date "+%d.%m.%Y"Jeśli zadziałało, gratulacje. Jeśli terminal napisał command not found, sprawdź literówki. Dziewięć na dziesięć błędów w terminalu to literówki. Dziesiąty to też literówka, tylko lepiej ukryta.
Co dalej
Następnym razem: gdzie ja właściwie jestem? Bo terminal zawsze jest „gdzieś”, w jakimś folderze. Nauczymy się po nich chodzić szybciej niż myszką.