Jak ogarnąć terminal – Podstawy CLI w Linuksie z przykładami

by Patryk

W ogromnym świecie systemów operacyjnych Linux opanowanie wiersza poleceń (CLI) to jedna z tych umiejętności, które przydają się wszystkim, zarówno początkującym jak i tym, którzy w terminalu czują się jak w domu. Linux słynie z tego, że „prawie wszystko jest plikiem”, więc kluczem do sprawnej pracy jest umiejętność wyszukiwania informacji oraz obsługi plików tekstowych za pomocą poleceń.

Nauka podstawowych komend powłoki jest trochę jak nauka nowego języka – tylko zamiast odmiany przez przypadki masz polecenia, przełączniki i argumenty. Dobra wiadomość: to język bardzo praktyczny. Gdy złapiesz podstawy, wiele rzeczy zrobisz szybciej niż myszką (bez klikania i szukania ikon).

Ten wpis jest wstępem do serii artykułów pokazujących polecenia terminalowe do pracy z Linuxem. W tym artykule w prosty sposób wyjaśnię, jak działa powłoka Linuksa, jak wygląda budowa poleceń, oraz pokażę najpopularniejsze komendy Linux, które przydadzą Ci się w codziennej pracy.

Składnia poleceń w Linuxie

ardzo ważną kwestią związaną z poleceniami w linuxie, jest fakt, że terminal rozróżnia wielkość liter. Przykładowo ls i LS mogą oznaczać coś zupełnie innego (a czasem LS nie oznacza nic… i wtedy Linux bezlitośnie Ci to zakomunikuje).

Żeby polecenia były zrozumiałe dla systemu, trzymaj się standardowej składni:


polecenie [przełączniki] [argumenty]


  • Polecenie Jest to akcja lub operacja, która ma zostać wykonana. To zwykle pierwsze słowo w komendzie i mówi systemowi, co ma zrobić. Przykład: mkdir tworzy nowy katalog.
  • Przełączniki Są to parametry modyfikujące działanie polecenia, sprawiając, że działają one w inny sposób. Występują w dwóch popularnych wersjach:
    • krótkie: pojedyncza litera poprzedzona myślnikiem, np. -d
    • długie: całe słowo poprzedzone dwoma myślnikami, np. --directory
  • Argumenty Są to informacje niezbędne do wykonania komendy: nazwy plików, ścieżki katalogów, ciągi tekstowe lub inne parametry wymagane przez polecenie. Przykład: w poleceniu ls -l /home/user argumentem jest /home/user, czyli katalog do wyświetlenia.

Krótkie przełączniki możesz łączyć: -cvzf zamiast -c -v -z -f.

Uwaga: jeśli któryś przełącznik wymaga parametru (np. ścieżki lub nazwy pliku), parametr podajesz osobno, np. -C /sciezka. Jeśli masz kilka takich opcji z parametrami, zwykle nie da się ich „skleić” w jedno -xyz.

Najważniejsze skróty klawiszowe w terminalu Linux

Skróty klawiaturowe w terminalu to mała magia, która oszczędza mnóstwo czasu (i nerwów). Oto najważniejsze:

  • Ctrl+C – przerywa działające polecenie/program
  • Ctrl+D – wylogowuje użytkownika z sesji
  • Ctrl+Z – wstrzymuje proces i przenosi go w tło. Możesz go potem przywrócić np. fg.
  • Ctrl+L – czyści ekran terminala
  • Tab – autouzupełnianie poleceń i ścieżek (podwójny Tab pokaże listę dopasowań gdy jest ich więcej)
  • Shift+PgUp / Shift+PgDown – przewijanie terminala góra/dół
  • Win + strzałki lewo/prawo – przełączanie obszarów/ekranów (zależne od środowiska graficznego)

Podstawowe polecenia systemowe, które warto znać

  • poweroff / shutdown / halt – wyłączenie systemu
  • reboot – ponowne uruchomienie systemu
  • logout / exit – wylogowanie z terminala
  • man [polecenie] – pełna instrukcja i opcje polecenia (manual)
  • whatis [polecenie] – krótki opis komendy

Polecenia nawigacyjne w Linuxie

Poruszanie się po systemie plików to absolutna podstawa. Bez tego nawet najlepsze komendy są jak GPS bez mapy. Poniżej znajdziesz zestaw najważniejszych poleceń, które pomogą Ci ogarnąć katalogi i ścieżki.

Sprawdzanie ścieżki do aktualnego katalogu: pwd

Polecenie pwd pokazuje na ekranie ścieżkę do katalogu, w którym aktualnie się znajdujesz.


Przechodzenie między katalogami: cd

Polecenie cd służy do zmiany katalogu. W Linuksie w ścieżkach używa się / (slash), a nie \ (backslash) jak w Windowsie.

Przykłady argumentów:

  • Przejście do konkretnego katalogu: cd /usr/bin
  • Przejście do katalogu nadrzędnego: cd ..
  • Przejście do katalogu domowego: cd ~

Typy ścieżek w Linuxie

  • Ścieżka bezwzględna (absolutna) – Określa pełną lokalizacje pliku lub katalogu zaczynając od katalogu głównego. Ścieżka względna zawsze zaczyna się od ukośnika np. /home/patryk/file1.txt
  • Ścieżka względna – Określa położenie pliku względem katalogu w którym aktualnie się znajdujesz. Ścieżki względne nie zaczynają się od ukośnika. Przykładowo będąc już w katalogu home aby przejść do pliku file1.txt wystarczy podać ścieżkę patryk/file1.txt

Wyświetlanie zawartości katalogów: ls

Polecenie ls służy do wyświetlania zawartości katalogu. Domyślnie pokazuje pliki i katalogi w bieżącej lokalizacji, ale prawdziwa zabawa zaczyna się z przełącznikami.

Przykładowo korzystając z przełącznika ls -la wyświetlimy wszystkie pliki razem z tymi ukrytymi wraz ze szczegółowymi informacjami.

Jak rozpoznać plik i katalog w ls -l

W Linuksie na pierwszy rzut oka nie zawsze widać, czy coś jest plikiem czy katalogiem – ale ls -l podpowiada to pierwszym znakiem w kolumnie uprawnień:

  • literka d – Oznacza katalog
  • znak kreseczki (-) – Oznacza plik
  • literka l – oznacza dowiązanie symboliczne

Pozostałe znaki określają prawa dostępu oraz właściciela i grupę do której należy plik. Ten temat omówimy sobie jednak w innym artykule.

W wielu poleceniach możemy korzystać z rekurencji. Pozwala ona zastosować polecenie nie tylko do wskazanego katalogu ale także do wszystkich jego podkatalogów. Służy do tego przełącznik -r lub -R.

  • ls -laR /root – lista z rekurencją (zależnie od dystrybucji częściej spotkasz -R)

Wizualizacja struktury katalogów: tree

Dużo lepszym poleceniem pozwalającym zwizualizować strukturę katalogów jest polecenie tree. Jak sama nazwa wskazuje wyświetla on na ekranie strukturę katalogów w formie drzewa.

Uwaga: w wielu dystrybucjach tree nie jest domyślnie zainstalowane. Na systemach opartych o Debiana/Ubuntu doinstalujesz je tak: apt install tree

Przykłady argumentów:

tree -L 1 /home struktura z głębokością do 1 poziomu.


Wyszukiwanie plików i katalogów: find

Polecenie find to jedna z najbardziej przydatnych komend w Linuksie. Świetnie współpracuje z wzorcami (metaznakami) i pozwala też wykonywać akcje na znalezionych plikach.

Przykłady argumentów:

  • find /root -name a* pliki zaczynające się od litery a
  • find /root -mtime 7 pliki modyfikowane w ostatnich 7 dniach (uwaga: w praktyce często używa się -mtime -7 dla “ostatnich 7 dni”)
  • find /var/log -type f -size +1M -size -3M -exec cp {} /wspolny \; – pliki 1–3 MB i kopiowanie

Metaznaki (wildcards) w Linuxie

Metaznaki są potężną funkcjonalnością używaną w poleceniach systemu Linux do dopasowywania nazw plików/katalogów według wzorców:

  • Znak – Dopasowuje jeden lub więcej wystąpień dowolnego znaku. Przykładowo polecenie find /home/patryk/file*.txt może wyświetlić takie wyniki: file1.txt, file2.txt, file_test.txt.
  • Znak zapytania ? – Dopasowuje pojedynczy znak. Przykładowo polecenie find /home/patryk/file?.txt może wyświetlić takie wyniki: file1.txt, file2.txt ale nie wyświetli pliku file_test.txt.
  • Nawiasy kwadratowe [ ] – Dopasowuje znak do znaków znajdujących się w nawiasach. Przykładowo polecenie find /home/patryk/file[12].txt może wyświetlić takie wyniki: Ran.txt, Rdn.txt ale nie wyświetli pliku Rfn.txt.

Sprawdzanie ścieżki do polecenia: which i type

Polecenie which pokazuje ścieżkę do pliku wykonywalnego, który uruchamiasz wpisując daną komendę. To przydatne np. gdy chcesz sprawdzić, skąd system bierze konkretny program.

Polecenia mogą być wbudowane w powłokę czyli będą dostępne od razu w danej dystrybucji lub mogą być plikami wykonywalnymi i będą znajdować się w konkretnym pliku. Aby sprawdzić jakiego typu jest polecenie możemy skorzystać z polecenia type.

Przykładowo znając ścieżkę do pliku wykonywalnego polecenia passwd możesz sprawić aby użytkownik Janek mógł zmieniać hasła użytkowników wpisując do pliku /etc/sudoers odpowiedni wpis, w którym należy wpisać ścieżkę do pliku wykonywalnego. Więcej o sudo opowiem w kolejnych artykułach, na razie potraktuj to jako fajną ciekawostkę.

Podsumowanie

Masz już solidne podstawy pracy w terminalu: znasz składnię poleceń, różnicę między ścieżką bezwzględną i względną, a także zestaw komend, dzięki którym ogarniesz nawigację po systemie plików: pwd, cd, ls, tree, find, which, type. Do tego dochodzą skróty klawiaturowe, które realnie przyspieszają pracę.

Teraz najważniejsze: praktyka. Po kilku dniach terminal przestaje wyglądać jak czarna magia i zaczyna działać jak szybkie, wygodne narzędzie do codziennych zadań. W kolejnym artykule pokażę Ci jak zarządzać plikami i katalogami w Linuxie.

You may also like

Leave a Comment