Nie taki czarny ekran straszny...
W codziennej pracy administratora sieci i systemów (a także na egzaminie zawodowym INF.02) ponad 90% serwerów nie posiada żadnego interfejsu graficznego - służy to oszczędności pamięci RAM i zwiększeniu bezpieczeństwa. Po opanowaniu kilku podstawowych zasad poruszanie się w terminalu stanie się dla Ciebie tak samo intuicyjne, jak chodzenie po własnym pokoju.
Mapa terenu: Drzewo katalogów w Linuksie
Zanim zrobisz pierwszy krok, musisz poznać "topografię" Linuksa. W systemie Windows jesteś przyzwyczajony do podziału na litery napędów: dysk C:\, partycję D:\ czy pendrive E:\.
W Linuksie nie ma liter dysków. Cały system plików przypomina jedno gigantyczne, odwrócone drzewo:
/ (Root - Korzeń)
├── bin/ (Podstawowe programy systemowe)
├── etc/ (Pliki konfiguracyjne systemu)
├── home/ (Katalogi domowe zwykłych użytkowników)
│ ├── adam/
│ └── uczen/ (Twój prywatny pokój: /home/uczen)
├── root/ (Katalog domowy administratora root)
└── var/ (Zmienne dane, np. logi systemowe)
- Korzeń (
/- tzw. root): To punkt wyjścia wszystkiego. Wyobraź sobie parter lub hol główny potężnego wieżowca. Każdy plik, katalog, a nawet podłączony pendrive znajduje się w jakiejś gałęzi wychodzącej z korzenia/. - Katalog domowy (
/home/nazwa_uzytkownikalub w skrócie~): To Twój prywatny pokój. Tu możesz tworzyć, modyfikować i usuwać pliki bez obawy, że uszkodzisz działanie całego systemu.
Ścieżka bezwzględna a ścieżka względna
Aby wskazać systemowi dowolne miejsce, możesz posłużyć się dwoma rodzajami "adresów":
- Ścieżka bezwzględna (absolutna): Zawsze zaczyna się od znaku
/(korzenia). To jak pełny adres pocztowy: Polska, Gdańsk, ul. Mikołaja Reja 25. Bez względu na to, gdzie się obecnie znajdujesz, ten adres zawsze zaprowadzi Cię w to samo miejsce (np./home/uczen/Dokumenty). - Ścieżka względna: Zależy od tego, gdzie aktualnie stoisz. To jak powiedzenie: "Przejdź do pokoju obok po prawej stronie". Jeśli zmienisz pomieszczenie, to samo polecenie zaprowadzi Cię zupełnie gdzie indziej (np.
Dokumenty/zadanie.txt).
Gdzie jestem? Polecenie pwd
W interfejsie graficznym zawsze widzisz otwarty folder w pasku adresu okna. W terminalu Twoim wbudowanym odbiornikiem GPS jest polecenie pwd (Print Working Directory).
Gdy tylko poczujesz, że zgubiłeś się w gąszczu katalogów, wpisz:
uczen@srv01:~$ pwd
/home/uczen
System natychmiast odpowiada pełną ścieżką bezwzględną do miejsca, w którym aktualnie się znajdujesz.
Zwróć uwagę na znak
~w wierszu zachęty (tzw. prompt): Zapisuczen@srv01:~$oznacza kolejno:[użytkownik]@[nazwa_komputera]:[aktualne_miejsce]$. Tylda (~) to systemowy skrót oznaczający Twój katalog domowy.
Przemieszczanie się: Polecenie cd
Polecenie cd (Change Directory) to Twoje nogi i winda w systemie. Używasz go, aby przechodzić między folderami.
Składnia polecenia:
cd [cel_podróży]
Przechodzenie do konkretnego folderu
Możesz użyć ścieżki względnej (jeśli folder znajduje się w bieżącym katalogu) lub bezwzględnej:
uczen@srv01:~$ cd Dokumenty
uczen@srv01:~/Dokumenty$ pwd
/home/uczen/Dokumenty
uczen@srv01:~/Dokumenty$ cd /var/log
uczen@srv01:/var/log$ pwd
/var/log
Magiczne znaki nawigacji
W Linuksie istnieją specjalne skróty, które niesamowicie przyspieszają nawigację:
.(jedna kropka): oznacza ten bieżący katalog (miejsce, w którym stoisz)...(dwie kropki): oznacza katalog nadrzędny (wyjdź o jeden poziom wyżej, piętro do góry).~(tylda): oznacza Twój katalog domowy.-(minus): oznacza poprzedni katalog (działa jak przycisk „Wstecz” w przeglądarce).
Przykłady użycia w praktyce:
- Wyjście piętro wyżej (
cd ..):
uczen@srv01:/home/uczen/Dokumenty$ cd .. uczen@srv01:/home/uczen$ pwd /home/uczen - Błyskawiczny powrót do domu (
cdlubcd ~): Gdy zabłądzisz głęboko w strukturze plików systemowych, samo wpisaniecdbez żadnych argumentów od razu przeniesie Cię z powrotem do Twojego katalogu domowego:
uczen@srv01:/etc/network/interfaces.d$ cd uczen@srv01:~$ pwd /home/uczen - Przełączanie między dwoma miejscami (
cd -):
uczen@srv01:~$ cd /var/log uczen@srv01:/var/log$ cd - /home/uczen
Pamiętaj o spacji! W systemie Windows popularne jest wpisywanie
cd... W Linuksie polecenie to nazwa programu, a argument to cel. Pomiędzy poleceniem a celem musi znaleźć się spacja:cd ... Wpisaniecd..poskutkuje błędem: command not found. Ponadto Linux rozróżnia wielkość liter -Dokumentyidokumentyto dwa zupełnie różne foldery!
Przeglądanie zawartości: Polecenie ls
Wiesz już, jak sprawdzić swoją pozycję (pwd) i jak chodzić (cd). Teraz pora się rozejrzeć. Polecenie ls (List - wylistuj) działa jak włączenie światła w ciemnym pokoju - pokazuje, jakie pliki i podkatalogi znajdują się wokół Ciebie.
Wpisane bez dodatków wyświetla tylko nazwy elementów:
uczen@srv01:~$ ls
Desktop Dokumenty Muzyka Pobrane Publiczny Wideo
Samo poznanie nazw to jednak za mało dla administratora sieci. Chcemy wiedzieć, kiedy plik powstał, jaki ma rozmiar i kto ma do niego dostęp. Do modyfikowania zachowania poleceń w Linuksie służą tzw. flagi (zwane też opcjami lub przełącznikami), które poprzedzamy myślnikiem -.
Najważniejsze flagi polecenia ls
| Flaga | Pełna nazwa | Znaczenie i zastosowanie |
-l |
long listing | Długi format listy. Wyświetla szczegółowe parametry: uprawnienia, właściciela, grupę, rozmiar oraz datę modyfikacji. |
-a |
all | Wszystkie pliki. Pokazuje również pliki i katalogi ukryte (zaczynające się od kropki .). |
-h |
human-readable | Format czytelny dla człowieka. W połączeniu z -l wyświetla rozmiary plików w kilobajtach (K), megabajtach (M) czy gigabajtach (G), a nie w surowych bajtach. |
Łączenie flag - siła Linuksa
Flag nie musisz wpisywać osobno jako ls -l -a -h. W Linuksie możesz połączyć je w jeden ciąg znaków: ls -lah (lub ls -la).
Spójrzmy na wynik wykonania polecenia ls -lah:
uczen@srv01:~$ ls -lah
razem 48K
drwxr-xr-x 4 uczen uczen 4,0K wrz 8 17:30 .
drwxr-xr-x 3 root root 4,0K wrz 8 16:00 ..
-rw------- 1 uczen uczen 1,2K wrz 8 17:45 .bash_history
-rw-r--r-- 1 uczen uczen 220 wrz 8 16:00 .bash_logout
-rw-r--r-- 1 uczen uczen 3,7K wrz 8 16:00 .bashrc
drwxr-xr-x 2 uczen uczen 4,0K wrz 8 17:15 Dokumenty
-rw-r--r-- 1 uczen uczen 150M wrz 8 17:20 kopia_bazy.sql
Anatomia pojedynczego wiersza listy szczegółowej
Rozłóżmy jeden wiersz na czynniki pierwsze:
-rw-r--r-- 1 uczen uczen 150M wrz 8 17:20 kopia_bazy.sql
[ 1 ] [2] [3] [4] [5] [6] [7]
- Typ i uprawnienia dostępu:
- Pierwszy znak określa typ obiektu:
-oznacza zwykły plik, ad(directory) oznacza katalog. - Kolejne 9 znaków (
rw-r--r--) to prawa odczytu, zapisu i wykonywania dla właściciela, grupy i pozostałych (temat ten szczegółowo zgłębimy później).
- Pierwszy znak określa typ obiektu:
- Liczba dowiązań twardych: Licznik odwołań systemowych do pliku.
- Właściciel pliku: Użytkownik, do którego należy plik (tutaj:
uczen). - Grupa właścicielska: Grupa systemowa przypisana do pliku (tutaj:
uczen). - Rozmiar pliku: Dzięki fladze
-hwidzimy przejrzyste150Mzamiast trudnej do szybkiego odczytania liczby157286400bajtów. - Data i godzina ostatniej modyfikacji: Kiedy plik był ostatnio zmieniany.
- Nazwa pliku lub katalogu.
Czym są pliki ukryte? W systemie Linux każdy plik, którego nazwa zaczyna się od kropki (np.
.bashrc,.profile), jest traktowany jako plik ukryty. Zwykle są to pliki konfiguracyjne aplikacji. Nie zobaczysz ich po wpisaniu zwykłegols- aby je wyświetlić, niezbędna jest flaga-a.
Porządek w miejscu pracy: Polecenie clear
W miarę wpisywania kolejnych poleceń Twój terminal zacznie zapełniać się dziesiątkami linijek tekstu. Choć historia poleceń nigdzie nie znika, nadmiar informacji na ekranie potrafi dekoncentrować.
Do wyczyszczenia ekranu służy polecenie:
clear
Po jego zatwierdzeniu kursor wraca na samą górę ekranu, dając Ci czystą przestrzeń roboczą - dokładnie tak, jak po starciu tablicy w sali lekcyjnej.
Skrót klawiszowy zawodowców: Zamiast wpisywać słowo
cleari naciskaćEnter, wciśnij kombinację klawiszyCtrl + L. Daje to identyczny efekt i działa niemal w każdym terminalu linuksowym na świecie!
Systemy pomocy: Jak radzą sobie zawodowcy?
Jednym z największych błędów początkujących adeptów informatyki jest przekonanie, że dobry administrator pamięta wszystkie polecenia i ich setki flag na pamięć.
Tak nie jest... W systemie Linux istnieją dziesiątki tysięcy narzędzi. Próba nauczenia się ich na pamięć jest skazana na porażkę. Prawdziwy profesjonalista różni się od amatora tym, że wie, jak szybko odnaleźć potrzebną informację w dokumentacji.
W systemie Linux pomoc masz zawsze pod ręką - nawet bez dostępu do Internetu.
Szybka podpowiedź: Opcja --help
Gdy pamiętasz nazwę polecenia, ale wyleciała Ci z głowy konkretna litera flagi, dodaj do polecenia przełącznik --help:
ls --help
System wyświetli krótką, syntetyczną ściągawkę: dopuszczalną składnię, spis wszystkich dostępnych flag oraz jednozdaniowe opisy ich działania. To idealne rozwiązanie, gdy potrzebujesz pomocy na cito.
Kompletny podręcznik: Polecenie man
Gdy potrzebujesz wyczerpującej wiedzy, oficjalnej dokumentacji lub przykładów, sięgasz po polecenie man (Manual - podręcznik systemowy).
man ls
W tym momencie terminal przełącza się w tzw. tryb przeglądarki tekstu (program less). Zobaczysz pełną dokumentację podzieloną na standardowe sekcje:
- NAME: Nazwa polecenia i jednozdaniowy opis jego funkcji.
- SYNOPSIS: Schemat składni (jak poprawnie układać argumenty i flagi).
- DESCRIPTION: Dokładny opis działania każdego przełącznika.
- AUTHOR / REPORTING BUGS / COPYRIGHT: Informacje o twórcach i prawach autorskich.
Jak nawigować wewnątrz podręcznika man?
Wielu początkujących wpada w panikę po uruchomieniu man, ponieważ terminal przestaje reagować na zwykłe komendy. Zapamiętaj te klawisze:
- Strzałki w górę / w dół: Przewijanie tekstu linijka po linijce.
- Spacja: Przewinięcie o całą stronę w dół.
/fraza: Wyszukiwanie tekstu (wpisz np./humani naciśnijEnter, aby odnaleźć opis flagi-h). Wciśnięcie klawiszan(next) przenosi do kolejnego trafienia.q(quit): Klawisz ratunkowy. Zamyka podręcznik i bezpiecznie przywraca Cię do standardowego wiersza poleceń.
Szybka ściągawka
| Polecenie / Skrót | Opis działania | Praktyczny przykład |
pwd |
Pokazuje pełną ścieżkę bieżącego katalogu roboczego | pwd |
cd <katalog> |
Zmienia katalog roboczy na wskazany | cd /var/log |
cd .. |
Przechodzi o jeden poziom wyżej (do katalogu nadrzędnego) | cd .. |
cd lub cd ~ |
Błyskawicznie wraca do katalogu domowego bieżącego użytkownika | cd |
cd - |
Wraca do poprzednio odwiedzanego katalogu | cd - |
ls |
Listuje pliki i foldery w bieżącym katalogu | ls |
ls -l |
Wyświetla szczegółową listę plików (uprawnienia, rozmiar, data) | ls -l |
ls -a |
Wyświetla wszystkie pliki, w tym ukryte (zaczynające się od .) |
ls -a |
ls -h |
Pokazuje rozmiary plików w czytelnych jednostkach (K, M, G) - stosowane z -l |
ls -lh |
ls -lah |
Kombinacja: pełna lista szczegółowa ze wszystkimi plikami i czytelnym rozmiarem | ls -lah |
clear |
Czyści zawartość ekranu terminala | clear |
Ctrl + L |
Skrót klawiszowy odpowiadający poleceniu clear |
(skrót klawiatury) |
polecenie --help |
Wyświetla szybką, skróconą pomoc dla danego polecenia | mkdir --help |
man polecenie |
Otwiera pełną dokumentację systemową danego narzędzia | man cd |
q |
Zamyka przeglądarkę podręcznika man (quit) |
(podczas czytania man) |