Podstawowe komendy na Linuxie

Cześć, w tym wpisie przybliżę Cię choć trochę działania na systemie Linux, gdy tylko nabierzesz wprawy, a palce same już będą pisać komendy bez współpracy z głową to odczujesz, że wykonujesz wiele rzeczy szybciej.

W innymi wpisie pisałem teoretycznie o systemie Linux m.in. jak jest zbudowany i jaką dystrybucję wybrać, może poczytać o tym we wpisie System operacyjny Linux – kilka słów wstępu.

Bardzo dobrze jest potrafić pisać skrypty w systemie Linux, pozwalają one w łatwy sposób przenosić naszą konfigurację na inne komputery lub automatyzować nam niektóre czynności, jednak powoli, powoli. Zacznijmy od podstawowych komend.

Konsolo, włącz się!

Włącz konsolę i zanim zaczniemy naukę kilku nowych komend daję Ci teraz wolną rekę. Stwórz terminal taki, aby Ci się na niego przyjemnie patrzyło i łatwo go czytało. Kliknij w Edycja -> Preferencje profilu i ustaw co tylko chcesz. Zmień tło, zmień font i jego wielkość, przebieraj w kolorach. Tylko po to, abyś czuł się jak ryba w wodzie. Mój terminal wygląda np. tak:

Konsola w linuxieJednak co jakiś czas zmieniam jego wygląd – gdy tylko mi się on znudzi. Dobra starczy już tego, przejdźmy do sedna.

Ruszyła maszyna

Na początek wpisz w swoją konsolę proste polecenie

pwd

Polecenie to pokazuje nam ścieżke katalogu, w którym aktualnie się znajdujemy. W moim przypadku jest to:

/home/maniaq

Oznacza to, że jestem w swoim katalogu domowym. Katalog ten jest moją własnością, ale o tym później. Wypiszmy sobie może, teraz jakie katalogi i pliki znajdują się w moim katalogu domowym poleceniem:

ls

Widzimy listę katalogów i plików, w moim przypadku tylko katalogów. Do polecenia dodajmy sobie parametr (czyli dodatkową czynność jaką ma wykonać dla nas polecenie):

ls -l

Teraz nasza lista jest już wypisana pionowo i pojawiło już się troche więcej informacji. Czyli dzięki temu już znamy:

  • uprawnienia do pliku
  • kto jest właścicielem
  • rozmiar
  • data utworzenia
  • czy jest plikiem czy katalogiem (literka d oznacza, że directory – katalog)

Dopiszmy sobie teraz kolejny parametr:

ls -la

Teraz nasza lista się troche wydłuża, ponieważ pokazały się również pliki ukryte tzn. takie z kropką na początku nazwy.

Czas utworzyć nasz własny katalog o to takim prostym poleceniem:

mkdir 1024kb

I utworzył nam się katalog o nazwie 1024kb. Wejdźmy teraz do niego:

cd 1024kb

I teraz wpisując polecenie pwd, widzimy, że nasza ścieżka się zmieniła na:

/home/maniaq/1024kb

Utwórzmy teraz zwykły plik, poleceniem:

touch 1mb

I wyświetlmy teraz listę poleceniem ls -l i zobaczmy jego uprawnienia.

Jak widać nasz plik posiada rw dla grupy rootrw dla właściciela (czyli dla nas – maniaq) i dla grupy (maniaq). Oznacza to, że plik nie jest wykonywalny, ponieważ nie ma X, ale za to możemy zapisywać i odczytywać. Otwórzmy więc go w edytorze tekstowym poleceniem:

gedit 1mb

I wpiszmy cokolwiek do naszego pliku, zapiszmy i zamknijmy. Teraz wyświetlmy zawartość pliku w konsoli poleceniem:

cat 1mb

I naszym oczom pojawia się zawartość pliku. Teraz utworzymy drugi plik, jednak w inny sposób, na początek wyświetlmy tekst w konsoli poleceniem:

echo "hi maniaq"

I w konsoli pojawia się teraz napis „hi maniaq”. Możemy teraz użyć strumieni, aby przekierować ten napis do pliku – standardowo jest kierowany na bufor wyjściowy konsoli. Do tego celu użyjemy:

echo "hi maniaq" > hi

Wypiszmy teraz zawartość katalogu:

ls -l

I widzimy, że utworzył nam się plik o nazwie hi, wypiszmy jego zawartość na ekran.

cat hi

Możemy użyć jeszcze drugiego strumienia, aby zapisać do pliku:

echo "it's me!" >> hi

I ponownie wyświetlmy zawartość pliku na konsolę:

cat hi

I jak widać zapisało się tak samo, jaka jest więc różnica? Spróbujmy zapisać jeszcze pierwszym sposobem:

echo "Surprise! I am back!" > hi

Ponownie wyświetlym plik na konsolę:

cat hi

I ooops, coś poszło nie tak. Nie tak naprawdę wszystko jest pod kontrolą. Zauważasz różnicę? Pierwszy strumień > nadpisuje cały plik, czyli poprzednia zawartość jest utracona, zaś drugi strumień >> dopisuje do pliku.

Naśmieciliśmy trochę, usuńmy może teraz pliki

rm 1mb hi

Nasz folder już jest pusty, wyjdźmy więc z niego, do katalogu jednego wyżej w drzewie katalogów poleceniem

cd ..

Czyli dwie kropki pozwalają nam wrócić do katalogu podrzędnego. No to teraz usuńmy katalog poleceniem

rm 1024kb

Ups mamy błąd, jest to katalog – chyba musimy zrobić coś innego. Użyjmy helpa poleceniem:

man rm

I znajdujemy tam taką sekwencję:

-r, -R, --recursive remove directories and their contents recursively

Czyli musimy dodać parametr -r lub -R, aby usunąć katalog i jego zawartość. No to hop.

rm -r 1024kb

Stwórzmy sobie ponownie katalog, poleceniem, które już na pewno pamiętasz

mkdir "wrong name"

Przypadkiem wkradła nam się zła nazwa, więc dobrze by było ją zmienić poleceniem:

mv "wrong name" "goooood boy!"

Jeżeli nazwa jest zbyt długa lub jesteś po prostu leniwy to wystarczy, że napiszesz pierwszą literę i naciśniesz tab. Konsola podpowie Ci nazwę pliku do miejsca, w którym nie będzie konfliktu nazw z innymi plikami. Jak występuje taki konflikt to naciśnij tab dwa razy i otrzymasz listę możliwości do wybrania.

I jak widzimy nazwa katalogu się zmieniła, jednak usuńmy go, ponieważ nie będzie nam już dzisiaj do niczego potrzebny

rm -r "goooood boy!"

Na koniec wyczyśćmy jeszcze naszą konsolę poleceniem

clear

Podsumowanie

Poznałeś dzisiaj parę podstawowych komend, które są niezbędne do dalszej pracy w systemie Linux. Poniżej widzisz listę poleceń, które zostały dzisiaj omówione. Otwórz konsolę i stwórz kilka plików, katalogów – usuwaj, zmieniaj nazwy. Poćwicz poznane komendy, aby utrwaliły Ci się one szybciej.

  • cd kat – przejście do katalogu kat
  • mkdir kat – tworzy katalog kat
  • rm plik – usuwa plik
  • rm -r kat – usuwa katalog
  • mv old_name new_name – zmienia nazwę pliku/katalogu
  • echo „Hi!” – wyświetla napis na strumień (standardowo strumień wyjściowy konsoli)
  • echo Hi > plik – tworzy (jeżeli nie istnieje) plik i nadpisuje w nim treść
  • echo Hi >> plik – tworzy (jeżeli nie istnieje) plik i dopisuje do niego treść
  • cd .. – przejście do katalogu nadrzędnego
  • cd / – przejście do katalogu systemowego
  • pwd – aktualna ścieżka
  • touch plik – tworzy plik
  • ls – lista katalogów i plików
  • ls -l – lista katalógw i plików + uprawnienia
  • ls -la – lista katalogów i plików + uprawnienia + pliki ukryte
  • clear – czyści konsolę
  • man <komenda> – włącza się help danego polecenia (można wyjść z niego naciskając q)