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 (jaki użytkownik korzysta z systemu aktualnie)
  • 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 są 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 są 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.
  • 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
  • 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)