Komendy Linux: Lista przydatnych poleceń- w pigułce

System Linux umożliwia pracę w dwóch trybach: graficznym i tekstowym (terminalowym). Tryb graficzny jest bardzo zbliżony do trybu graficznego systemu Windows i spełnia bardzo podobne zadania i role. W trybie tekstowym możemy wykonać wszystkie czynności związane z administracją komputerem, bez potrzeby uruchamiania trybu graficznego. Dodatkowo tryb ten może zostać udostępniony zdalnie poprzez  połączenie szyfrowane. Zaletą tego środowiska jest jego szybkość działania oraz małe wymagania sprzętowe. Zmusza to jednak użytkownika (a właściwie osobę, która chce nim administrować) do znajomości poleceń systemowych oraz lokalizacji plików konfiguracyjnych systemu. Lista poleceń w Linuxie jest bardzo długa. Prawie każde polecenie zawiera dodatkowe dużą ilość opcji i parametrów, które mają wpływ na wykonywane przez nie czynności. Znajomość wszystkich tych elementów jest dość kłopotliwa, dlatego system jest zaopatrzony w odpowiednio duży „manual” (pliki pomocy). Aby skorzystać z oferowanej pomocy korzystamy z polecenia man nazwa_polecenia. Dodatkowo należy zwrócić uwagę, że podczas wydawania poleceń jak pracy w systemie znaczenie ma wielkość podawanych liter. Zbiory o nazwach list.txt, List.txt, LIST.txt to różne pliki. Polecenia w systemie piszemy zawsze małymi literami natomiast parametry mogą wystąpić zarówno z małej jak i dużej litery. Klawisze Shift + Page Up i Shift + PageDown pozwalają przewijać zawartość obecnego ekranu ukazując to, co było na nim przed chwilą. Automatyczne dokończenie nazwy polecenia uzyskamy naciskając klawisz TAB. Jeżeli powłoka nie jest wstanie samodzielnie dokończyć nazwy polecenia ponownie naciśnięcie TAB spowoduje wyświetlenie listy dostępnych możliwości. Po historii poleceń poruszamy się klawiszami Strzałka  Góra i Strzałka Dół, natomiast kombinacja CTRL + R pozwala wyszukać w historii poleceń komendy wcześniej już wykonanej (co zwalnia nas z ponownego jej wpisywania). Jeżeli natomiast chcemy przerwać działanie programu to w większości przypadków uda nam się to dzięki kombinacji CTRL + C. Sam proces możemy zatrzymać naciskając CTR + Z.

 

Oto kilka podstawowych poleceń systemu:

  • shutdown - zamykanie systemu Linux

  • adduser - dodaj nowego użytkownika 

  • deluser  usuń użytkownika

  • newgrp - dodaj nową grupę 

  • passwd - zmiana hasła logout, 

  • exit - wylogowanie się z terminala

  • who- sprawdzamy, kto jest aktualnie zalogowany

  • whoami - sprawdzamy, kim jesteśmy

  • su - logujemy użytkownika root z poziomu innego użytkownika

  • chmod - zmiana atrybutów pliku

  • chown - zmiana właściciela pliku

  • chgrp - zmiana przynależności do grupy użytkowników

  • ls - pokazuje nam zawartość katalogu

  • pwd - pokazuje katalog (ścieżkę dostępu), w którym się znajdujemy

  • cd  zmiana aktualnego katalogu

  • rmdir - usuwa katalog

  • mkdir - tworzy nowy katalog

  • cp  kopiuje plik

  • mv  przenosi pliki

  • rm – usuwa pliki

  • find  wyszukuje pliki

  • touch  tworzy nowy pusty plik

  •  ln  tworzy dowiązanie (skrót)

  • rename zmiana nazwy pliku 

  • cat – wyświetla zawartość pliku

  • less - umożliwia przeglądanie dużego pliku ekran po ekranie.

  • ps - pokazuje nam, jakie procesy aktualnie wykonywane

  • kill – „zabijanie", zamykanie procesu

  • help - wyświetla nam wszystkie polecenia w Linuxie

  • man - pokazuje nam pomoc do polecenia w formie instrukcji

  • gzip - kompresuje nam archiwum *.gz

  • tar - archiwizuje nam archiwum *.tar

 

Nazwy plików są najczęściej argumentami stosowanymi w poleceniach. Często można znać jedynie część nazwy pliku lub chcieć się odwołać do kilku nazw. Powłoka oferuje zestaw znaków specjalnych, które poszukują, dopasowują i generują listę plików. Takimi znakami specjalnymi  gwiazdka, znak zapytania i nawiasy kwadratowe. Znaki * i ? określają niepełna nazwę pliku, nawiasy [] pozwalają na określenie zestawu dopuszczalnych znaków, jakie maja być poszukiwane. Znaki te można łączyć ze sobą. Gwiazdka * - oznacza dowolny ciąg znaków, można ja używać do oznaczenia nazw plików zaczynających się lub kończących dowolnym zestawem znaków. Znak zapytania ? – oznacza dokładnie jeden dowolny znak. Można używać więcej niż jeden znak w każdym miejscu wzorca. Dowolne znaki umieszczone w nawiasach [] oznaczają dokładnie jeden spośród wymienionych znaków. Znaki specjalne mogą być maskowane za pomocą znaku „\(np. ciąg znaków ‘pl?’ należy opisać jako pl\?) Przykłady nazw zawierających metaznaki:

 

*.c - pliki, które mają rozszerzenie c

dok? - pliki, których nazwy rozpoczynają się od ciągu znaków dok, za którym następuje jeden dowolny znak

dok* - pliki, których nazwy rozpoczynają się od ciągu znaków dok, za którym następuje dowolny ciąg znaków

dok[1x] - pliki, których nazwy rozpoczynają się od ciągu znaków dok, a kończą się znakiem 1 lub x

dok[A-D] - pliki, których nazwy rozpoczynają się od ciągu znaków dok, a kończą się literą A, B, C lub D

* - wszystkie pliki z wyjątkiem ukrytych

.* - wszystkie pliki ukryte

 

Kropka przed nazwą pliku lub katalogu oznacza, że plik lub katalog jest ukryty.

 

Podobnie jak w systemie Windows system Linux do odnajdowania zbiorów potrzebuje określenia ścieżki dostępu.

Ścieżki dostępu mogą być względne i bezwzględne. Ścieżka względna określa lokalizację pliku lub folderu względem położenia bieżącego w strukturze katalogów systemu. Ścieżka bezwzględna określa położenie pliku lub folderu począwszy od folderu głównego. Pierwszym znakiem ścieżki bezwzględnej jest znak /. Jeżeli ten znak nie występuje na początku to najprawdopodobniej określamy ścieżkę względną.

 

System Linux posiada specjalne oznaczenia dla poziomów folderów:

/ - folder główny

~ - folder domowy użytkownika

. - folder bieżący

.. - folder nadrzędny do beżącego.

 

  • Lista innych komend systemowych:

 

Uzyskanie modelu karty graficznej:

lspci | grep -i vga

lshw -c display

 

Informacja o zamontowanym procesorze:

 lscpu

cat /proc/cpuinfo

 

Informacje o płycie głównej:

sudo dmidecode -t baseboard

 

Informacje o pamięci operacyjnej 

lshw -c memory

 

Informacje o pamięci operacyjnej i pliku wymiany

free -h

 

Informacje o dysku twardym (partycje, pojemność) 

sudo fdisk -l

 

Informacje o UUID dysku/partycji

 blkid

 

Informacje o karcie sieciowej

 lshw -c network

 

Konfiguracja karty sieciowej

 ifconfig

ip address show

 

Wersja jądra systemu 

uname -a

 

Skaner portów/sieci

nmap -v -sn [adres IP] -> np. nmap -v -sn 192.168.1.0/24 

 

Informacja o systemie operacyjnym

 hostnamectl

 

Informacja o urządzeniach wpiętych jako karty rozszerzeń

 lspci

 

Informacja o urządzeniach podłączonych do portów USB

 lsusb

 

Pokazanie ścieżki, w której aktualnie jesteśmy

 pwd

 

Informacja o załadowanych modułach (sterownikach) 

lsmod

 

Lokalizacje ważnych plików systemu (edycja możliwa tylko przez konto roota - sudo):

  • /etc/netplan/00-installer-config.yaml (lub inny) - konfiguracja kart sieciowych

  • /etc/ssh/sshd_config - plik konfiguracyjny dla usługi ssh

  • sudo smbpasswd -a nazwa_konta - synchronizacja konta samby z systemem

  • /etc/samba/smb.conf - plik konfiguracyjny usługi samba (smb)

  • /etc/passwd - użytkownicy systemu wraz z katalogiem domowym, domyślną konsolą

  • /etc/group - grupy systemu wraz z przypisanymi użytkownikami

  • /etc/hostname - nazwa systemu w sieci

  • /etc/hosts - skojarzenie adresu IP z naswą kompa w sieci

  • /etc/fstab - montowane urządzenia (dyski twarde, napędy CD itp) podczas startu systemu

  • /etc/mtab - zamontowane już urządzenia (dyski, napędy)

  • /etc/hosts.allow lub /etc/hosts.denny - pozwalanie/blokowanie konkretnych urządzeń w sieci lub całych podsieci (nikt z tego adresu IP nie połączy się z moim kompem)

 

 

Zarządzanie systemem:

  • systemctl - służy do zarządzania usługami w systemie linux

  • start - wystartowanie usługi

  • stop - zatrzymanie usługi

  • restart - ponowne uruchomienie usługi (wczytuje ponownie pliki konfiguracyjne)

  •  enable - włącza ładowanie usługi podczas startu systemu

  • disable - wyłącza ładowanie usługi podczas startu systemu 

  • status - informacje dotyczące działania usługi

  • show - informacje dotyczące konkretnej usługi np. ID procesu 

  • sudo systemctl start ssh - uruchomienie ssh

  • sudo systemctl status ssh - sprawdzenie stanu usługi ssh 

  • sudo systemctl restart ssh - ponowne uruchomienie usługi ssh 

  • sudo systemctl - wyświetlenie listy uruchomionych usług

 

Edytor tekstowy nano:

CTRL + S - zapis pliku

CTRL + X - wyjście z edytora (jeżeli plik został zmieniony, zostanie wyświetlony komunikat "czy zapisać"

CTRL + W - wyszukiwanie tekstu

 

Inne:

  • ~/ - zastępuje ścieżkę do profilu

  • cat ~/.bash_history - historia użytych poleceń dla aktualnie zalogowanego użytkownika

  •  ls -la / (lub ls -l -a /) wyświetlenie zawartości katalogu wraz z ukrytymi plikami w pełnej postaci (uprawnienia, właściciel)