Linuxowe polecenia terminala ściąga (Cheat Sheet)
Linux to darmowy i otwartoźródłowy, unixopodobny system operacyjny oparty na POSIX i Unix. Jest to system operacyjny wieloużytkownikowy, wielozadaniowy, wielowątkowy i obsługujący wiele procesorów. Może uruchamiać główne narzędzia Unix, aplikacje i protokoły sieciowe oraz obsługuje sprzęt 32-bitowy i 64-bitowy. Dziedzicząc po systemie Unix filozofię projektowania skoncentrowaną na sieci, Linux jest stabilnym sieciowym systemem operacyjnym dla wielu użytkowników.
System
| uname | Wyświetl informacje o systemie Linux |
| uname -r | Wyświetl wersję jądra |
| uptime | Wyświetl czas pracy systemu (w tym średnie obciążenie) |
| hostname | Wyświetl nazwę hosta systemu |
| hostname -i | Wyświetl adres IP systemu |
| last reboot | Wyświetl historię restartów systemu |
| date | Wyświetl aktualną datę i godzinę systemową |
| timedatectl | Zapytaj i zmień zegar systemowy |
| cal | Wyświetl aktualny miesiąc i dzień kalendarzowy |
| w | Wyświetl aktualnie zalogowanych użytkowników |
| whoami | Wyświetl swoją tożsamość logowania |
| finger username | Wyświetl informacje o użytkowniku |
Sprzęt
| dmesg | Wyświetl komunikaty startowe |
| cat /proc/cpuinfo | Wyświetl szczegółowe informacje o procesorze (model, rdzenie, producent) |
| cat /proc/meminfo | Wyświetl szczegółowe informacje o pamięci sprzętowej (całkowita, wolna) |
| lshw | Wyświetl informacje o konfiguracji sprzętowej systemu |
| lsblk | Wyświetl informacje o urządzeniach blokowych |
| free -m | Wyświetl wolną i zajętą pamięć (-m dla MB) |
| lspci -tv | Wyświetl urządzenia PCI na diagramie drzewiastym |
| lsusb -tv | Wyświetl urządzenia USB na diagramie drzewiastym |
| dmidecode | Wyświetl informacje o sprzęcie z BIOS-u |
| hdparm -i /dev/xda | Wyświetl informacje o danych na dysku |
| hdparm -tT /dev/xda | Przeprowadź test szybkości odczytu na urządzeniu xda |
| badblocks -s /dev/xda | Testuj dysk pod kątem nieczytelnych bloków |
Użytkownicy
| id | Wyświetl szczegóły aktywnego użytkownika (uid, gid, grupy) |
| last | Wyświetl ostatnie logowania w systemie |
| who | Wyświetl kto jest zalogowany do systemu |
| groupadd “admin” | Dodaj grupę „admin” |
| adduser “Sam” | Dodaj użytkownika Sam |
| userdel “Sam” | Usuń użytkownika Sam |
| usermod | Służy do zmiany/modyfikacji informacji o użytkowniku |
Pliki
| ls -al | Listuj pliki - w tym pliki zwykłe i ukryte oraz ich uprawnienia |
| pwd | Wyświetl ścieżkę aktualnego katalogu |
| mkdir ’nazwa_katalogu' | Utwórz nowy katalog |
| rm nazwa_pliku | Usuń plik |
| rm -f nazwa_pliku | Wymuś usunięcie pliku |
| rm -r nazwa_katalogu | Usuń katalog rekurencyjnie |
| rm -rf nazwa_katalogu | Wymuś i usuń katalog rekurencyjnie |
| cp plik1 plik2 | Kopiuj zawartość pliku1 do pliku2 |
| cp -r dir1 dir2 | Kopiuj rekurencyjnie dir1 do dir2. Utwórz dir2, jeśli nie istnieje |
| mv plik1 plik2 | Zmień nazwę pliku1 na plik2 |
| ln -s /path/to/file_name link_name | Utwórz link symboliczny do pliku_name |
| touch nazwa_pliku | Utwórz nowy plik |
| cat > nazwa_pliku | Utwórz plik z wejścia z klawiatury |
| more nazwa_pliku | Wyświetl zawartość pliku strona po stronie |
| head nazwa_pliku | Wyświetl pierwsze 10 linii pliku |
| tail nazwa_pliku | Wyświetl ostatnie 10 linii pliku |
| gpg -c nazwa_pliku | Zaszyfruj plik |
| gpg nazwa_pliku.gpg | Odszyfruj plik |
| wc | Podaj liczbę bajtów, słów i linii w pliku |
| xargs | Wykonuj polecenia ze standardowego wejścia |
Procesy
| ps | Wyświetl aktualnie aktywne procesy |
| ps aux | grep ’telnet' | Szukaj ID procesu ’telnet' |
| pmap | Wyświetl mapę pamięci procesu |
| top | Wyświetl wszystkie uruchomione procesy |
| kill pid | Zakończ proces o danym pid |
| killall proc | Zabij/zakończ wszystkie procesy o nazwie proc |
| pkill nazwa-procesu | Wyślij sygnał do procesu po jego nazwie |
| bg | Wznów polecenie zatrzymane w tle |
| fg | Przenieś polecenie z tła na pierwszy plan |
| fg n | Przenieś zadanie n na pierwszy plan |
| lsof | Wylicz pliki otwarte przez procesy |
| renice 19 PID | Uruchom proces z bardzo niskim priorytetem |
| pgrep firefox | Znajdź ID procesu Firefox |
| pstree | Wizualizuj procesy w modelu drzewiastym |
Uprawnienia plików
| chmod octal filename | Zmień uprawnienia pliku na format ósemkowy |
| chmod 777 /data/test.c | Ustaw uprawnienia rwx dla właściciela, grupy i wszystkich |
| chmod 755 /data/test.c | Ustaw rwx dla właściciela, r-x dla grupy i wszystkich |
| chmod 766 /data/test.c | Ustaw rwx dla właściciela, rw- dla grupy i wszystkich |
| chown owner user-file | Zmień właściciela pliku |
| chown owner-user:owner-group nazwa_pliku | Zmień właściciela i grupę właściciela pliku |
| chown owner-user:owner-group katalog | Zmień właściciela i grupę właściciela katalogu |
Sieć
| ip addr show | Wyświetl adresy IP i wszystkie interfejsy sieciowe |
| ip address add 192.168.0.1/24 dev eth0 | Przypisz adres IP 192.168.0.1 do interfejsu eth0 |
| ifconfig | Wyświetl adresy IP wszystkich interfejsów sieciowych |
| ping host | Wyślij żądania echa ICMP, aby nawiązać połączenie |
| whois domena | Pobierz informacje o nazwie domeny |
| dig domena | Pobierz informacje DNS dla domeny |
| dig -x host | Wykonaj odwrotne wyszukiwanie DNS dla hosta |
| host google.com | Wykonaj wyszukiwanie IP dla nazwy domeny |
| hostname -i | Wyświetl lokalny adres IP |
| wget nazwa_pliku | Pobieraj pliki z zasobów online |
| netstat -pnltu | Wyświetl wszystkie aktywne porty nasłuchujące |
Kompresja/Archiwizacja
| tar -cf home.tar home | Utwórz archiwum tar o nazwie home.tar dla katalogu home |
| tar -xf pliki.tar | Rozpakuj plik archiwum „pliki.tar” |
| tar -zcvf home.tar.gz folder-źródłowy | Utwórz skompresowane archiwum tar z folderu źródłowego |
| gzip plik | Kompresuj plik z rozszerzeniem .gz |
Instalacja pakietów
| rpm -i nazwa_pakiety.rpm | Instaluj pakiet rpm |
| rpm -e nazwa_pakiety | Usuń pakiet rpm |
| dnf install nazwa_pakiety | Instaluj pakiet za pomocą narzędzia dnf |
Instalacja ze źródeł (Kompilacja)
| ./configure | Sprawdź zależności systemowe i zbuduj plik Makefile |
| make | Kompiluj program |
| make install | Zainstaluj pliki binarne w domyślnej/zmodyfikowanej ścieżce |
Szukanie
| grep ‘pattern’ pliki | Szukaj wzorca w plikach |
| grep -r pattern dir | Szukaj rekurencyjnie wzorca w danym katalogu |
| locate plik | Znajdź wszystkie wystąpienia pliku |
| find /home/ -name “index” | Znajdź nazwy plików zaczynające się od „index” w /home |
| find /home -size +10000k | Znajdź pliki większe niż 10000k w folderze domowym |
Logowanie
| ssh user@host | Połącz się bezpiecznie z hostem jako określony użytkownik |
| ssh -p port_number user@host | Połącz się bezpiecznie z hostem za pomocą określonego portu |
| ssh host | Połącz się bezpiecznie z hostem przez domyślny port 22 |
| telnet host | Połącz się z hostem przez domyślny port 23 |
Przesyłanie plików
| scp plik1.txt server2/tmp | Bezpiecznie kopiuj plik1.txt do katalogu /tmp na server2 |
| rsync -a /home/apps /backup/ | Synchronizuj zawartość katalogu /home/apps z katalogiem /backup |
Użycie dysku
| df -h | Wyświetl wolne miejsce w zamontowanych systemach plików |
| df -i | Wyświetl wolne i-węzły w systemach plików |
| fdisk -l | Wyświetl partycje dysku, rozmiary i typy |
| du -sh | Wyświetl użycie dysku przez aktualny katalog w czytelnym formacie |
| findmnt | Wyświetl docelowe punkty montowania dla wszystkich systemów plików |
| mount path-to-device mount-point | Zamontuj urządzenie |
Nawigacja po katalogach
| cd .. | Przejdź o jeden poziom w górę w strukturze katalogów |
| cd | Zmień katalog na katalog $HOME |
| cd /test | Zmień katalog na katalog /test |