Przejdź do treści
Lekcja 4 z 117

Kurs › Moduł 0 › Lekcja 4

Jak nie zgubić się nigdy więcej

⏱ ok. 3 min czytania· moduł 0: Pierwsze kroki

Po tej lekcji: kursant umie sam sprawdzić, jak działa dowolna komenda i jakie ma opcje.

Wstęp

Zdradzę Ci tajemnicę adminów.

Nie pamiętamy. Nikt nie pamięta wszystkich opcji ls, a ma ich kilkadziesiąt. Admin z dwudziestoletnim stażem codziennie sprawdza coś, czego nie pamięta.

Różnica między początkującym a zawodowcem nie polega na tym, że zawodowiec wszystko wie. Polega na tym, że wie, gdzie w dziesięć sekund sprawdzić.

Dziś pokażę Ci te miejsca.

Instrukcja obsługi: man

man ls

man od „manual”, czyli instrukcja. Otwiera pełną instrukcję komendy. Przewija się jak w less, bo to właśnie less. I wychodzi się tak samo: klawiszem q.

W środku możesz szukać. Naciśnij ukośnik, wpisz słowo, na przykład hidden, i Enter. Klawisz n skacze do następnego wystąpienia.

Instrukcje są po angielsku i napisane bardzo technicznie. Jak instrukcja do pralki przetłumaczona przez inżyniera dla innego inżyniera. Nie musisz czytać całości. Szukasz jednej rzeczy i wychodzisz.

Szybka ściąga: --help

ls --help

Większość komend ma wbudowaną krótką ściągę. Nie otwiera się w osobnym oknie, tylko wypisuje listę opcji. Szybciej niż man, kiedy pamiętasz, czego szukasz, ale nie pamiętasz litery.

wiele komend na macOS nie zna --help, tam zostaje man

Pomoc dla komend samego Basha: help

I tu ciekawostka, która wyjaśnia więcej, niż się wydaje.

Spróbuj:

man cd

Na wielu systemach man nie znajdzie cd. Dlaczego?

Bo cd to nie jest osobny program. To umiejętność samego urzędnika, czyli Basha. Tak jak urzędnik nie musi nikogo wołać, żeby przybić pieczątkę, bo ma ją przy sobie.

Na takie wbudowane komendy jest osobna pomoc:

help cd

Co to w ogóle jest: type i which

type cd
type ls
which ls

type mówi, czym jest komenda. Dla cd odpowie, że to komenda wbudowana w Basha. Dla ls pokaże, że to osobny program, i gdzie leży, na przykład /usr/bin/ls.

which pokazuje, gdzie leży program, który się uruchomi.

Po co to komu? Za kilka lekcji zrobisz własne skróty komend. I kiedyś jakaś komenda zacznie się dziwnie zachowywać. Wtedy type od razu powie Ci, czy to prawdziwy program, czy Twój własny skrót, o którym zapomniałeś.

Nie pamiętasz nazwy komendy

man -k kopiuj
man -k copy

man -k szuka słowa w opisach wszystkich instrukcji. Po polsku zwykle nic nie znajdzie, bo instrukcje są po angielsku. Po angielsku pokaże wszystkie komendy, które mają coś wspólnego z kopiowaniem.

A internet i czatboty?

Oczywiście. Każdy z nich korzysta. Ale jedna zasada, którą powtarzam w tym kursie jak mantrę: nie wklejaj komendy, której nie rozumiesz. Zwłaszcza takiej z rm, sudo albo z curl przed rurą.

Sprawdź w man albo --help, co robi każda opcja. Trzydzieści sekund sprawdzania kontra tydzień odzyskiwania danych. Rachunek jest prosty.

⚠ Typowy błąd

Utknięcie w man albo less. Ekran pełen tekstu, nic nie działa, Ctrl+C nie pomaga.

Klawisz q. Zawsze q.

A jeśli kiedyś przypadkiem otworzysz edytor vim i nie będziesz umiał z niego wyjść: nie jesteś sam. To jeden z najpopularniejszych żartów wśród programistów. Wyjście to klawisz Esc, potem :q! i Enter.

✎ Zadanie

Znajdź w instrukcji ls opcję, która sortuje pliki według rozmiaru, i użyj jej. Potem sprawdź komendą type, czym jest echo. Odpowiedź może Cię zaskoczyć.

Pokaż rozwiązanie
ls -lS
type echo

-S sortuje według rozmiaru, od największego. A type echo mówi, że echo jest wbudowane w Basha. A jeśli wpiszesz type -a echo, zobaczysz, że jest jeszcze drugie echo, osobny program na dysku. Dwa razy to samo, na wszelki wypadek. Linux jak teściowa: lepiej mieć zapas.

Co dalej

Koniec pierwszych kroków. Umiesz otworzyć terminal, chodzić, tworzyć, kasować i szukać pomocy.

W następnym module terminal zaczyna być szybszy niż myszka. Zaczniemy od gwiazdki, która w jednej linijce zrobi robotę za tysiąc kliknięć.