Przydatne polecenia

Lista przydatnych poleceń i podstawowych informacji na temat poruszania się na shellu w MyDevil.

Prompt

Prompt na serwerach MyDevil jest w formacie: [login@serwer]:<ścieżka>$, gdzie:

  • login - To nazwa użytkownika w systemie.
  • serwer - To serwer na którym się jest zalogowanym.
  • ścieżka - To aktualny katalog w którym się znajdujemy.
  • $ - Znak zachęty., który informuje o możliwości wpisania polecenia.

Użytkownik adam zalogowany na serwerze s3.mydevil.net znajdujący się w katalogu ~/domains/adam.usermd.net. O tym czym jest ~ jest informacja poniżej.

[adam@s3]:<~/domains/adam.usermd.net>$

Poruszanie się po systemie

Podstawowe katalogi:

  • /home/login - Katalog użytkownika o nicku login.
  • ~ - Twój katalog użytkownika.
  • . - Katalog w którym się znajdujesz.
  • .. - Katalog którym znajduje się podkatalog w którym jesteś.
  • ~/domains - Katalog ze stworzonymi stronami WWW.
  • ~/backups - Katalog z backupem.
  • ~/repositories - Katalog z repozytoriami.
  • /tmp - Katalog tymczasowy, periodycznie czyszczony z zawartości.

Podstawowe polecenia:

  • cd - Przejście do katalogu domowego.
  • cd ścieżka_do_katalogu - Przejście do podanego katalogu.
  • ls - Wyświetlenie listy plików i katalogów w aktualnym katalogu.
  • ls ścieżka_do_katalogu - Wyświetlanie listy plików i katalogów w podanym katalogu.
  • mkdir nazwa_katalogu - Tworzenie katalogu.
  • cp ścieżka_do_pliku_lub_katalogu ścieżka_do_pliku_lub_katalogu - Kopiowanie pliku lub katalogu.
  • mv ścieżka_do_pliku_lub_katalogu ścieżka_do_pliku_lub_katalogu - Przeniesienie pliku lub katalogu.
  • rm ścieżka_do_pliku_lub_katalogu - Usunięcie wielu plików lub pustych katalogów.
  • rm -rf ścieżka_do_pliku_lub_katalogu - Usunięcie wielu plików lub katalogów razem z podkatalogami.

Archiwa

Wypakowywanie plików tar:

tar xvf archiwum.tar
tar xvzf archiwum.tar.gz
tar xvzf archiwum.tar.tgz
tar xvjf archiwum.tar.bz2
tar xvjf archiwum.tar.tbz2

Wypakowywanie pozostałych popularnych archiwów:

unzip archiwum.zip
gunzip archiwum.gz
unrar x archiwum.rar
bunzip2 archiwum.bz2
uncompress archiwum.Z
7z x archiwum.7z
brotli -d archiwum.br

Pakowanie do pliku zip:

zip -r archiwum.zip ścieżka_do_katalogu

Pakowanie do pliku tar.gz:

tar -zcvf archiwum.tar.gz ścieżka_do_katalogu

Procesy

Każdy proces ma swój unikalny numer PID (process id).

Lista procesów:

ps aux
USER    PID %CPU %MEM    VSZ    RSS TT  STAT STARTED     TIME COMMAND
root 22998  0,0  0,0  33964  11792  -  INs  25maj15  0:05,96 screen
adam 85919  0,0  0,0  86476   6664  -  SN   13:56    0:00,14 sshd: adam@pts/38 (sshd)
adam 82119  0,0  0,0  17688   5428 17  INs+  3cze15  0:00,09 -/usr/local/bin/bash
adam 18327  0,0  0,0  18740   2124 38  RN+  15:18    0:00,00 ps aux
adam 85921  0,0  0,0  17688   5724 38  SNs  13:56    0:00,06 -bash (bash)
adam 86079  0,0  0,0  25772   2884 39  SN+  13:56    0:00,01 screen -r
adam 36518  0,0  0,0  24088   3404 42  INs+  3cze15  4:33,59 redis-server: redis-server *:0 (redis-server)

Każdemu procesowi można wysłać 4 różne sygnały:

  • SIGTERM – poprawne zamknięcie procesu,
  • SIGKILL – unicestwienie procesu co może powodować utratę wszystkich zawartych w nim danych (nie ma możliwości przechwycenia tego sygnału przez proces),
  • SIGSTOP – zatrzymanie procesu bez utraty danych,
  • SIGCONT – ponowne uruchomienie zatrzymanego procesu.

Domyślnie wysyłany jest sygnał SIGTERM, który powoduje bezpieczne zamknięcie procesu. Poprawnie napisany program potrafi przechwycić taki sygnał i odpowiednio go obsłużyć. Sygnały SIGKILL, SIGSTOP, SIGCONT są informacją dla jądra systemu, które musi podjąć odpowiednie kroki (program nie ma możliwości obsłużenia tych sygnałów). SIGKILL pozwala na usunięcie z systemu procesu, który uległ awarii i przestał odpowiadać, ale oznacza utratę wszystkich zawartych w nim informacji. Unicestwianiem procesu zajmuje się jądro systemu, które zwalnia wszystkie zajęte przez program zasoby. Sygnały wysyłane są za pomocą programu kill PID

Przykłady

Zakończenie procesu 86079 - poprawne zamknięcie procesu:

kill -TERM 86079  
kill 86079 

Zabicie procesu 86079 - unicestwienie procesu co może powodować utratę wszystkich zawartych w nim danych:

kill -KILL 86079
kill -9 86079