Wprowadzenie do korzystania z systemu Linux

Niezależnie od tego czy zamierzasz pracować jako backend developer, tester ds. automatyzacji czy sekurak, kiedyś nadejdzie moment, w którym trzeba będzie poznać podstawowe polecenia uniksowe. W tym artykule przyjrzymy się absolutnym podstawom niezbędnym do korzystania z systemu Linux.

Operatory

Na początek trochę o operatorach. Są to specjalne znaki, które możemy stosować w wywoływaniu kolejnych poleceń.

  • ; – oddzielna kolejne polecenia po sobie np. cat file.txt; ls; cd myFolder
  • & – uruchamia polecenia oddzielone znakiem & od razu, niezależnie od poprzedniego
  • && – oznacza, że jeśli polecenie przed operatorem && zakończyło się sukcesem, to następuje uruchomienie kolejnego np. tar -cf myArchive.tar.gz myFileToCompress01.jpg && cat file.txt skutkuje utworzeniem archiwum myArchive.tar.gz, a w razie sukcesu zostanie wyświetlona zawartość pliku file.txt,
  • || – przeciwność powyższego operatora tj. w przypadku niepowodzenia poprzedniego polecenia, następna się wywoła,
  • | – przekierowuje standardowe wyjście polecenia do standardowego wyjścia następnego polecenia,
  • > – przekierowuje standardowe wyjście (czyli to, co zostanie wyświetlone w konsoli po uruchomieniu któregoś z poleceń) do wskazanego pliku,
  • < – analogicznie do poprzedniego operatora, zamiast przekierować zawartość do pliku, przekierowuje jego zawartość do standardowego wyjścia,
  • >| – jak w przypadku „>” przekierowuje standardowe wyjście do pliku, z tą różnicą, że jeśli on istnieje i shell został skonfigurowany aby nie nadpisywać plików, to zostanie to zignorowane
  • >> – jak w przypadku „>” przekierowuje standardowe wyjście do pliku, z tą różnicą, że jeśli on istnieje, to doda do niego zawartość,

Działania na plikach i katalogach

Do podstawowych operacji, min.: jak poruszania się między folderami czy czytania zawartości plików, użyjemy poniższych poleceń.

  • ls – sprawdzamy zawartość katalogu. Domyślnie, bez podania ścieżki do niego, pokaże nam zawartość obecnego miejsca w którym sie znajdujemy. Możemy zdefiniować maskę (np: ls *.txt) aby wyświetlić pliki o danym rozszerzeniu. Ponadto, aby wyświetlić pliki ukryte i te zaczynające się od kropki, dodamy do polecenia ls parametr „-a„.
  • cat – polecenie, które można wykorzystać na kilka sposobów:
    • do wyświetlenia zawartości pliku (np. cat myTextFile.txt),
    • do stworzenia pliku o danym rozszerzeniu (cat > myFile.pdf). „Dziubek” oznacza wpisanie do pliku myFile.pdf danej wartości. W powyższym przykładzie ona nie występuje, w związku z czym powstanie pusty plik, który będziemy mogli edytować od razu w konsoli,
    • do scalania pliku bądź kilka plików w nowy (cat fileOne.txt fileTwo.txt > newFile.txt).
  • cd – polecenie służące do poruszania się miedzy katalogami. Do przejścia do folderu „myFolder2” użyjemy polecenia „cd myFolder2„. Aby przejść do poprzed iniego katalogu (rodzica), użyjemy komendy „cd ../„. Z kolei do bezpośredniego przejścia do katalogu domowego, użyjemy polecenia „cd” bez argumentów i parametrów.
  • file – wyświetla nam informacje o zawartości pliku. Przykładowo, sprawdzając plik pdf (file myFile.pdf) dostaniemy w konsoli wyświetlony komunikat o treści: myFile.pdf: PDF document, version 1.4
  • mkdir – tworzy katalog bądź ich zbiór, na przykład: mkdir myFirstFolder mySecondFolder.
  • rmdir – analogicznie do przykładu powyżej, usuwa katalog. Ważne jest, że nie usunie go, jeśli nie jest pusty. Jak więc go usunąć?
  • rm – domyślnie służy do usuwania plików. Jeśli jednak zdecydujemy się na usunięcie folderu wraz z jego zawartością, dodamy parametr -r (oznaczający usuwanie w sposób rekursywny) oraz -f (aby sforsować operację – nie zawsze jest to potrzebne, ale warto mieć to na uwadze). W ten sposób powstanie polecenie rm -rf mFolder.
  • cp – polecenie służące do kopiowania plików i katalogów. Analogicznie do polecenia powyżej, w przypadku kopiowania katalogu z jego zawartością, będziemy musieli dodać parametr „-r„. Przykładowe polecenie kopiujące folder MyFolder01 z jego zawartością jako MyFolder02 do miejsca, w którym obecnie się znajdujemy, wyglądałoby: cp MyFolder01 myFolder02 -r,
  • pwd – wyświetla ścieżkę do katalogu, w którym się aktualnie znajdujemy.
  • df – wyświetla systemy plików i wolne miejsce na nich. Aby były one czytelniejsze, należy dodać parametr „-h„.
  • du – wyświetla rozmiar pliku bądź plików w katalogu. W przypadku katalogów, jeśli nie chcemy mieć wypisanego rozmiaru każdego kolejnego pliku a ich sumę, należy dodać parametr „-s„. Domyślnie rozmiar podawany jest w kilobajtach.
  • touch – polecenie w teorii mające zmieniać datę ostatniego odczytu/zapisu pliku. W praktyce wykorzystywane jest do tworzenia pustych plików.
  • tar – polecenie służące do wykonywania operacji na plikach tar.gz. Do stworzenia archiwum o nazwie myArchive.tar.gz będzie służyło polecenie tar -cf myArchive.tar.gz myFileToCompress01.jpg myFileToCompress02.jpg. Do rozpakowania tego archiwum będzie służyć komenda tar -xf myArchive.tar.gz.
  • gzip – analogicznie do powyższego polecenia z tą różnicą, że obsługuje rozszerzenie gzip. Aby zapakować katalog do archiwum myArchive, użyjemy polecenia: gzip -r myFolder. Z kolei aby go rozpakować: gzip -dr myArchive.zip.
  • chmod – służy do nadawania uprawnień określonym użytkownikom do plików i katalogów. Istnieje możliwość nadawania uprawnień w sposób literowy i numeryczny.
  • chown – zmiana właściciela pliku bądź katalogu.
  • grep – służy do wyszukiwania podanego wyrażenia w plikach. Przykładowo, do wyszukiwania słowa „Test” w każdym pliku z katalogu „testFolder”, użyjemy polecenia: grep -R "Test" testFolder/.

Obsługiwanie i czytanie procesów

  • top – jest czymś w rodzaju task managera, który wyświetla informacje o wykorzystaniu procesora i pamięci.
  • ps – pokazuje aktywne procesy w systemie linux. W celu wyświetlenia informacji o wszystkich procesach, ich właścicielach oraz procesach niepołączonych z terminalem, wpiszemy: ps aux.
  • kill – polecenie służące do przesyłania sygnałów do wskazanych procesów. Przykładowy sygnał mógłby wyglądać w sposób następujący: kill -9 32, gdzie:
    • 9 oznacza numer sygnału (ich listę można sprawdzić poleceniem kill -l). Jest to równoważne komendzie kill -s SIGKILL 32,
    • 32 jest numerem procesu, do którego przesyłamy sygnał
  • watch – polecenie służące do wywoływania wskazanej komendy co daną ilość sekund. Domyślnie czas między kolejnymi poleceniami wynosi dwie sekundy. Przykładowo „watch -d ls” oznacza wyświetlanie plików i katalogów z obecnego folderu co dwie sekundy. Ponadto, dodanie parametru „-d” sprawia, że w terminalu zostaną zaznaczone różnice w porównaniu do poprzedniego wywołania.

Różne

  • who – wyświetla zalogowanych użytkowników,
  • whoami – wyświetla nazwę obecnie zalogowanego użytkownika,
  • clear – czyści terminal. Przydatne w momencie, kiedy zrobi się syf:)
  • man – wyświetla podręcznik systemowy dotyczący podanego polecenia. Przykładowo: „man ls„.

Źródła

https://unix.stackexchange.com/questions/159513/what-are-the-shells-control-and-redirection-operators
https://linuxwiki.pl/wiki/

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.