Top 100 poleceń Linux (Które Musisz Znać)

by Matt Stamp
Top 100 poleceń Linux (Które Musisz Znać) thumbnail

Linux jest kręgosłupem internetu. Napędza prawie 97% najważniejszych serwerów internetowych na świecie. I 55,9% profesjonalnych programistów opiera się na Linuxie do swoich potrzeb programistycznych.

Jednak Linux ma jedynie 2,68% udziału w rynku komputerów stacjonarnych. Dlaczego ta różnica?

Głównym celem systemu Linux nigdy nie był jego interfejs użytkownika. Został zaprojektowany tak, aby zapewnić pełną kontrolę nad systemem operacyjnym za pomocą linii poleceń.

To może sprawić, że Linux wydaje się być zastraszający dla początkujących — A tysiące dostępnych poleceń tylko to utrudniają.

W tym artykule omówimy sto najbardziej przydatnych poleceń Linuxa. Poznanie choćby kilku z nich może pomóc zwiększyć Twoją produktywność jako użytkownika Linuxa. Zanurzmy się w temat!

Słownik DreamHost

Linux

Linux odnosi się do zbioru otwartoźródłowych Systemów Operacyjnych (OS). Nie ma jednego systemu Linux. Zamiast tego, użytkownicy mogą wybierać spośród szerokiej grupy dystrybucji Linuxa, które oferują różne doświadczenia.

Czytaj więcej

Czym są polecenia Linuxa?

Polecenia Linux pozwalają kontrolować Twój system za pomocą interfejsu wiersza poleceń (CLI) zamiast używania myszy lub trackpada. Są to instrukcje tekstowe wprowadzane do terminala, które dokładnie informują Twój system, co ma zrobić.

Polecenia, które wpisujesz w terminalu Linuxa, uwzględniają wielkość liter i mają składnię typu “command -options arguments“. Możesz je łączyć dla złożonych zadań, używając potoków i przekierowań.

Kilka ważnych informacji o komendach Linux:

  • Są wrażliwe na wielkość liter; na przykład “ls” i “LS” oznaczają różne rzeczy.
  • Podążają za określoną składnią jak “komenda -opcje argumenty.”
  • Mogą być łączone dla złożonych operacji używając potoków i przekierowania.
  • Dają Ci precyzyjną kontrolę nad systemem, której trudno osiągnąć za pomocą interfejsów graficznych.
  • Pozwalają na automatyzację zadań przez skrypty powłoki i przetwarzanie wsadowe.
  • Mogą być używane do dostępu do zasobów systemowych takich jak system plików, sieć, pamięć i procesor.
  • Stanowią podstawę interakcji z serwerami Linux i systemami operacyjnymi.

Jeśli jesteś programistą, który dopiero uczy się programować, możesz zacząć ćwiczyć swoje polecenia Linux bez opuszczania Windows, korzystając z Podsystemu Windows dla Linuxa. Pozwala to uruchomić Linuxa wewnątrz Windows bez konieczności używania dwóch systemów operacyjnych i cieszyć się najlepszymi cechami obu systemów.

100 Najbardziej Przydatnych Poleceń Linux

Teraz, gdy masz podstawowe rozumienie tego, czym są polecenia Linux, zanurzmy się w sto najczęściej używanych poleceń Linux.

Zorganizowaliśmy je według kategorii, aby obejmować obszary takie jak zarządzanie plikami, monitorowanie systemu, operacje sieciowe, administracja użytkownikami i więcej.

Polecenia Zarządzania Plikami w Linuxie

Zarządzanie plikami to powszechne zadanie w wierszu poleceń Linuxa. Oto niezbędne polecenia dotyczące plików:

1. ls – Wyświetl zawartość katalogu

Komenda ls jest jedną z najczęściej używanych poleceń w Linuxie. Wyświetla zawartość katalogu, pokazując wszystkie pliki i podkatalogi, które się w nim znajdują.

Bez żadnych opcji lub argumentów, ls wyświetli zawartość bieżącego katalogu roboczego. Możesz podać nazwę ścieżki, aby wyświetlić pliki i foldery w tej lokalizacji.

Składnia:

ls [opcje] [katalog]

Niektóre z najbardziej przydatnych opcji ls to:

  • -l – Wyświetl wyniki w długim formacie, pokazując dodatkowe szczegóły takie jak uprawnienia, własność, rozmiar i data modyfikacji dla każdego pliku i katalogu.
  • -a – Pokaż ukryte pliki i katalogi, które zaczynają się od . oprócz elementów nieukrytych.
  • -R – Rekursywnie wylistuj wszystkie zawartości podkatalogów, schodząc do folderów potomnych bez ograniczeń.
  • -S – Sortuj wyniki według rozmiaru pliku, od największego.
  • -t – Sortuj według znacznika czasu, najnowsze najpierw.

Przykład:

ls -l /home/user/documents

To wylistuje zawartość folderu „dokumenty” w długim formacie.

Przykładowe wyniki:

razem 824
-rwxrwx--- 1 użytkownik użytkownik    8389 lip 12 08:53 report.pdf
-rw-r--r-- 1 użytkownik użytkownik   10231 cze 30 16:32 presentation.pptx
drwxr-xr-x 2 użytkownik użytkownik    4096 maj 11 09:21 images
-rw-rw-r-- 1 użytkownik użytkownik     453 kwi 18 13:32 todo.txt

Ten wynik pokazuje szczegółową listę z uprawnieniami, rozmiarem, właścicielem i znacznikiem czasu dla każdego pliku i katalogu. Długi format listy dostarczony przez opcję -l dostarcza przydatnych informacji o pliku na pierwszy rzut oka.

Polecenie ls daje ci elastyczną kontrolę nad wyświetlaniem zawartości katalogów. To jedno z poleceń, z których będziesz często korzystać, pracując na Linuxie.

2. cd – Zmień Katalog

Polecenie cd służy do nawigowania między katalogami. Pozwala na przeniesienie bieżącego katalogu roboczego do nowej lokalizacji w systemie plików.

Kiedy uruchamiasz polecenie cd samo w sobie, przeniesie Cię do katalogu domowego. Możesz również podać konkretną ścieżkę, aby zmienić. Na przykład:

  • cd /usr/local – Zmienia na katalog /usr/local.
  • cd .. – Przechodzi o jeden poziom wyżej do katalogu nadrzędnego.
  • cd ~/pictures – Zmienia na folder pictures w twoim katalogu domowym.

Składnia:

cd [directory]

Przykład:

cd /home/user/documents

To zmieni katalog roboczy na folder „documents” w lokalizacji /home/user. Użycie cd jest niezbędne, aby móc wygodnie uzyskiwać dostęp do plików i pracować z nimi w różnych lokalizacjach.

3. mkdir – Utwórz Nowy Katalog

Polecenie mkdir pozwala na utworzenie nowego folderu. Wystarczy podać nazwę tworzonego katalogu.

Składnia:

mkdir [options] <directory>

To utworzy katalog o nazwie „newproject” w bieżącym katalogu roboczym.

Kilka przydatnych opcji mkdir:

  • -p – Tworzy rekursywnie potrzebne katalogi nadrzędne.
  • -v – Szczegółowe informacje o tworzonych katalogach.

Przykład:

mkdir -v ~/project/code

To utworzy podkatalog „code” w „project” w folderze domowym użytkownika, z rozbudowanym wynikiem pokazującym tworzenie katalogu.

Otrzymuj treści bezpośrednio do swojej skrzynki odbiorczej

Zapisz się teraz, aby otrzymywać wszystkie najnowsze aktualizacje bezpośrednio do swojej skrzynki odbiorczej.

4. rmdir – Usuń Katalog

Aby usunąć pusty katalog, użyj polecenia rmdir. Zauważ, że rmdir może usuwać tylko puste katalogi – będziemy potrzebować polecenia rm do usunięcia tych niepustych.

Składnia:

rmdir [options] <directory>

Niektóre opcje dla rmdir to:

  • -v – Szczegółowe informacje podczas usuwania katalogów.
  • -p – Usuń rekursywnie katalogi nadrzędne w razie potrzeby.

Przykład:

rmdir -v ~/project/code

To usunie podkatalog „code” w „project”, jednocześnie pokazując szczegółowe informacje.

5. touch – Utwórz Nowy Pusty Plik

Polecenie touch jest używane do natychmiastowego utworzenia nowego pustego pliku. Jest to przydatne, gdy potrzebujesz pustego pliku, który później wypełnisz danymi.

Podstawowa składnia polecenia touch to:

touch [options] filename

Kilka przydatnych opcji dla touch to:

  • -c – Nie twórz pliku, jeśli już istnieje. Pozwala to uniknąć przypadkowego nadpisania istniejących plików.
  • -m – Zamiast tworzyć nowy plik, aktualizuj znacznik czasu w istniejącym pliku. Można to wykorzystać do zmiany czasu modyfikacji.

Na przykład:

touch /home/user/newfile.txt

Powyższe polecenie tworzy nowy, pusty plik o nazwie „newfile.txt” w katalogu użytkownika /home/user. Jeśli plik newfile.txt już istnieje, zostaną zaktualizowane czasy dostępu i modyfikacji tego pliku.

6. cp – Kopiowanie Plików i Katalogów

Polecenie cp kopiuje pliki lub katalogi z jednego miejsca do drugiego. Wymaga podania ścieżki źródłowej i miejsca docelowego.

Podstawowa składnia cp to:

cp [opcje] źródło cel

Kilka przydatnych opcji cp:

  • -r – Kopiuj katalogi rekursywnie, schodząc do katalogów podrzędnych, aby skopiować również ich zawartość. Niezbędne podczas kopiowania katalogów.
  • -i – Pytaj przed nadpisaniem jakichkolwiek istniejących plików w miejscu docelowym. Zapobiega przypadkowemu nadpisaniu danych.
  • -v – Wyświetlaj szczegółowe informacje wyjściowe pokazujące szczegóły każdego kopiowanego pliku. Pomocne, aby dokładnie potwierdzić, co zostało skopiowane.

Na przykład:

cp -r /home/user/documents /backups/

To rekurencyjnie skopiuje katalog /home/user/documents oraz wszystkie jego zawartości do katalogu /backups/. Opcja -r jest potrzebna do kopiowania katalogów.

Polecenie cp jest jednym z najczęściej używanych narzędzi do zarządzania plikami, służących do kopiowania plików i katalogów w systemie Linux. Będziesz często korzystać z tego polecenia.

7. mv – Przenieś lub Zmień Nazwę Plików i Katalogów

Polecenie mv służy do przenoszenia plików lub katalogów w inne miejsce lub zmiany ich nazwy. W przeciwieństwie do kopiowania, pliki z lokalizacji źródłowej są usuwane po przeniesieniu do miejsca docelowego.

Możesz również użyć polecenia mv, aby zmienić nazwy plików, ponieważ wystarczy zmienić ścieżki źródłowe i docelowe na starą i nową nazwę.

Składnia mv to:

mv [options] source destination

Przydatne opcje mv:

  • -i – Pytanie przed zastąpieniem jakichkolwiek istniejących plików w lokalizacji docelowej. Zapobiega to przypadkowemu nadpisaniu danych.
  • -v – Generuje szczegółowe informacje wyjściowe pokazujące każdy plik lub katalog w trakcie przenoszenia. Jest to pomocne do potwierdzenia, co dokładnie zostało przeniesione.

Na przykład:

mv ~/folder1 /tmp/folder1

Powyższe przeniesie folder1 z katalogu domowego (~) do katalogu /tmp/. Spójrzmy na kolejny przykład użycia komendy mv do zmiany nazw plików.

mv folder1 folder2

Tutaj, “folder1” jest zmieniany na “folder2.

8. rm – Usuń Pliki i Katalogi

Polecenie rm usuwa pliki i katalogi. Zachowaj ostrożność, ponieważ usunięte pliki i katalogi nie mogą być odzyskane.

Składnia jest następująca:

rm [options] name

Przydatne opcje rm:

  • -r – Rekurencyjne usuwanie katalogów, w tym wszystkich zawartości w nich zawartych. Jest to konieczne podczas usuwania katalogów.
  • -f – Wymuszenie usunięcia i stłumienie wszystkich monitów potwierdzających. Jest to niebezpieczne polecenie, ponieważ usunięte pliki nie mogą być odzyskane!
  • -i – Żądaj potwierdzenia przed usunięciem każdego pliku lub katalogu, co zapewnia ochronę przed przypadkowym usunięciem.

Na przykład:

rm -rf temp

Ta komenda rekursywnie usuwa katalog „temp” oraz wszystkie jego zawartości bez pytania o potwierdzenie (-f nadpisuje potwierdzenia).

Uwaga: Komenda rm trwale usuwa pliki i foldery, dlatego używaj jej z dużą ostrożnością. Jeśli użyjesz jej z uprawnieniami sudo, możesz również całkowicie usunąć katalog główny, co spowoduje, że Linux nie będzie już działał po ponownym uruchomieniu komputera. 

9. find – Wyszukaj pliki w hierarchii katalogów

Polecenie find przeszukuje rekursywnie katalogi w poszukiwaniu plików odpowiadających danym kryteriom.

Podstawowa składnia find to:

find [ścieżka] [kryteria]

Kilka przydatnych opcji kryteriów dla find to:

  • -type f – Wyszukaj tylko normalne pliki, pomijając katalogi.
  • -mtime +30 – Wyszukaj pliki zmodyfikowane ponad 30 dni temu.
  • -user jane – Wyszukaj pliki należące do użytkownika “jane”.

Na przykład:

find . -type f -mtime +30

To znajdzie wszystkie zwykłe pliki starsze niż 30 dni w bieżącym katalogu (oznaczonym kropką).

Polecenie find umożliwia wyszukiwanie plików na podstawie różnych zaawansowanych warunków, takich jak nazwa, rozmiar, uprawnienia, znaczniki czasu, własność i inne.

10. du – Szacowanie Wykorzystania Miejsca przez Pliki

Polecenie du mierzy użycie miejsca na pliki dla danego katalogu. Gdy używane bez opcji, pokazuje użycie dysku dla bieżącego katalogu roboczego.

Składnia dla du to:

du [options] [path]

Przydatne opcje du:

  • -h – Wyświetl rozmiary plików w formacie zrozumiałym dla człowieka, jak K dla Kilobajtów, a nie tylko liczba bajtów. Łatwiejsze do analizy.
  • -s – Pokaż tylko całkowity rozmiar katalogu, zamiast wymieniać każdy podkatalog i plik. Dobrze dla podsumowania.
  • -a – Pokaż rozmiary poszczególnych plików oprócz sum. Pomaga zidentyfikować duże pliki.

Na przykład:

du -sh pictures

To wydrukuje ludzko czytelny rozmiar całkowity dla katalogu „pictures”.

Polecenie du jest przydatne do analizowania użycia dysku dla drzewa katalogów i identyfikowania plików zajmujących nadmierną przestrzeń.

Wyszukiwanie i Filtracja Poleceń w Linuxie

Teraz przeanalizujmy polecenia, które pozwalają przeszukiwać, filtrować i manipulować tekstem bezpośrednio z linii poleceń Linuxa.

11. grep – Wyszukiwanie Tekstu za Pomocą Wzorców

Polecenie grep jest używane do wyszukiwania wzorców tekstowych w plikach lub wynikach. Wyświetla wszystkie linie, które pasują do podanego wyrażenia regularnego. grep jest niezwykle potężne do wyszukiwania, filtrowania i dopasowywania wzorców w systemie Linux.

Oto podstawowa składnia:

grep [opcje] wzorzec [pliki]

Na przykład:

grep -i "error" /var/log/syslog

To przeszukuje plik syslog pod kątem słowa „błąd”, ignorując wielkość liter.

Kilka przydatnych opcji grep:

  • -i – Ignoruj rozróżnienia wielkości liter w wzorach
  • -R – Rekurencyjnie przeszukuj podkatalogi
  • -c – Wydrukuj tylko liczbę pasujących linii
  • -v – Odwróć dopasowanie, wydrukuj linie niepasujące

grep pozwala szybko wyszukiwać pliki i wyniki dla słów kluczowych lub wzorców. Jest nieoceniony podczas analizowania logów, przeszukiwania kodu źródłowego, dopasowywania wyrażeń regularnych oraz ekstrahowania danych.

12. awk – Język Skanowania i Przetwarzania Wzorców

Polecenie awk umożliwia bardziej zaawansowane przetwarzanie tekstu na podstawie określonych wzorców i działań. Działa na zasadzie linia po linii, dzieląc każdą linię na pola.

Składnia awk to:

awk 'pattern { action }' input-file

Na przykład:

awk '/error/ {print $1}' /var/log/syslog

Wydrukuje pierwsze pole każdej linii zawierającej „error.” awk może również korzystać ze zmiennych wbudowanych takich jak NR (liczba rekordów) i NF (liczba pól).

Zaawansowane możliwości awk obejmują:

  • Obliczenia matematyczne na polach
  • Warunki logiczne
  • Wbudowane funkcje do manipulacji ciągami, liczbami i datami
  • Kontrola formatowania wyników

To sprawia, że awk nadaje się do ekstrakcji danych, raportowania i transformacji wyjścia tekstowego. awk jest niezwykle potężny, ponieważ jest niezależnym językiem programowania, co daje dużą kontrolę jako polecenie Linuxa.

13. sed – Stream Editor do filtrowania i przekształcania tekstu

Polecenie sed pozwala na filtrowanie i transformację tekstu. Może wykonywać operacje takie jak wyszukiwanie/zamiana, usuwanie, transpozycja i inne. Jednakże, w przeciwieństwie do awk, sed został zaprojektowany do edycji linii na zasadzie instrukcji dla każdej linii.

Oto podstawowa składnia:

sed options 'commands' input-file

Na przykład:

sed 's/foo/bar/' file.txt

To zastępuje „foo” przez „bar” w pliku file.txt.

Kilka użytecznych poleceń sed:

  • s – Wyszukaj i zamień tekst
  • /pattern/d – Usuń linie pasujące do wzorca
  • 10,20d – Usuń linie od 10 do 20
  • 1,3!d – Usuń wszystko oprócz linii 1-3

sed jest idealny do zadań takich jak masowa zamiana tekstu, selektywne usuwanie linii oraz innych operacji edycji strumienia tekstu.

14. sort – Sortuj Linie Plików Tekstowych

Kiedy pracujesz z dużą ilością tekstu lub danych, a nawet dużymi wynikami z innych poleceń, sortowanie jest świetnym sposobem, aby uporządkować te informacje. Polecenie sort posortuje wiersze pliku tekstowego alfabetycznie lub numerycznie.

Podstawowa składnia sortowania:

sort [opcje] [plik]

Przydatne opcje sortowania:

  • -n – Sortuj numerycznie zamiast alfabetycznie
  • -r – Odwróć kolejność sortowania
  • -k – Sortuj na podstawie określonego pola lub kolumny

Na przykład:

sort -n grades.txt

To numerycznie sortuje zawartość pliku grades.txt. sort jest przydatne do porządkowania zawartości plików dla bardziej czytelnego wyniku lub analizy.

15. uniq – Raportuj lub Pomijaj Powtarzające Się Linie

Polecenie uniq filtruje duplikaty sąsiadujących linii z danych wejściowych. Jest to często używane w połączeniu z sortowaniem.

Podstawowa składnia:

uniq [opcje] [wejście]

Opcje:

  • -c – Oznacz unikalne linie liczbą wystąpień.
  • -d – Pokaż tylko zduplikowane linie, nie unikalne.

Na przykład:

sort data.txt | uniq

To usunie wszystkie zduplikowane linie w data.txt po sortowaniu. uniq daje ci kontrolę nad filtrowaniem powtarzającego się tekstu.

16. diff – Porównaj Pliki Linia po Linii

Polecenie diff porównuje dwa pliki linia po linii i wyświetla różnice. Jest często używane do pokazywania zmian między wersjami plików.

Składnia:

diff [opcje] plik1 plik2

Opcje:

  • -b – Ignoruj zmiany w białych znakach.
  • -B – Pokaż różnice w linii, podświetlając zmiany.
  • -u – Wyświetl różnice z trzema liniami kontekstu.

Na przykład:

diff original.txt updated.txt

To zwróci linie różniące się między original.txt a updated.txt. diff jest nieoceniony do porównywania wersji plików tekstowych i kodu źródłowego.

17. wc – Drukuj liczbę linii, słów i bajtów

Polecenie wc (liczba słów) wyświetla liczbę linii, słów i bajtów w pliku.

Składnia:

wc [opcje] [plik]

Opcje:

  • -l – Wyświetl tylko liczbę linii.
  • -w – Wyświetl tylko liczbę słów.
  • -c – Wyświetl tylko liczbę bajtów.

Na przykład:

wc report.txt

To polecenie wydrukuje liczbę linii, słów i bajtów w pliku report.txt.

Komendy przekierowań w Linuxie

Polecenia przekierowania są używane do kontrolowania źródeł wejścia i wyjścia w Linuxie, pozwalając na wysyłanie i dołączanie strumieni wyjściowych do plików, pobieranie wejścia z plików, łączenie wielu poleceń oraz dzielenie wyjścia na wiele miejsc docelowych.

18. > – Przekierowanie Standardowego Wyjścia

Operator > przekierowanie przekierowuje strumień standardowego wyjścia z polecenia do pliku zamiast drukowania na terminalu. Wszelkie istniejące zawartości pliku zostaną nadpisane.

Na przykład:

ls -l /home > homelist.txt

To wykona ls -l, aby wylistować zawartość katalogu /home.

Następnie, zamiast wyświetlać ten wynik w terminalu, symbol > przechwytuje ten standardowy wynik i zapisuje go do pliku homelist.txt, zastępując wszelkie istniejące zawartości pliku.

Przekierowanie standardowego wyjścia jest pomocne przy zapisywaniu wyników poleceń do plików do przechowywania, debugowania lub łączenia poleceń.

19. >> – Dołącz Standardowe Wyjście

Operator >> dołącza standardowe wyjście z polecenia do pliku bez nadpisywania istniejącej zawartości.

Na przykład:

tail /var/log/syslog >> logfile.txt

To dołączy ostatnie 10 linii pliku logu syslog na końcu pliku logfile.txt. W przeciwieństwie do >, >> dodaje wyjście bez wymazywania obecnej zawartości pliku logfile.txt.

Dodawanie jest pomocne w gromadzeniu wyników poleceń w jednym miejscu, bez utraty istniejących danych.

20. < – Przekieruj Standardowe Wejście

Operator przekierowania < dostarcza zawartość pliku jako standardowe wejście do polecenia, zamiast pobierać dane wejściowe z klawiatury.

Na przykład:

wc -l < myfile.txt

To wysyła zawartość pliku myfile.txt jako dane wejściowe do polecenia wc, które będzie liczyć linie w tym pliku zamiast czekać na dane wejściowe z klawiatury.

Przekierowanie wejścia jest przydatne do przetwarzania wsadowego plików i automatyzacji przepływów pracy.

21. | – Przekazanie Wyniku Do Innego Polecenia

Operator | przesyła wyjście z jednego polecenia jako wejście do innego polecenia, łącząc je ze sobą.

Na przykład:

ls -l | less

To przekazuje wynik polecenia ls -l do komendy less, co umożliwia przewijanie listy plików.

Piping jest powszechnie używane do łączenia poleceń w taki sposób, że wyjście jednego jest wejściem dla innego. To pozwala budować skomplikowane operacje z mniejszych programów jednozadaniowych.

22. tee – Czytanie ze standardowego wejścia i zapisywanie do standardowego wyjścia oraz plików

Polecenie tee dzieli standardowe wejście na dwa strumienie.

Zapisuje dane wejściowe na standardowe wyjście (pokazuje wynik głównego polecenia) jednocześnie zapisując kopię do pliku.

Na przykład:

cat file.txt | tee copy.txt

To wyświetla zawartość pliku file.txt w terminalu, jednocześnie zapisując ją do pliku copy.txt.

tee różni się od przekierowania, gdzie nie widzisz wyniku dopóki nie otworzysz pliku, do którego przekierowano wyjście.

Polecenia Archiwizacji

Polecenia archiwizacyjne pozwalają na pakowanie wielu plików i katalogów do skompresowanych plików archiwum, co ułatwia przenoszenie i przechowywanie. Powszechne formaty archiwów w systemie Linux to .tar, .gz i .zip.

23. tar – Przechowywanie i Wydobywanie Plików z Archiwum

Polecenie tar pomaga pracować z plikami archiwum taśmowego (.tar). Umożliwia grupowanie wielu plików i katalogów w jeden skompresowany plik .tar.

Składnia:

tar [opcje] nazwa_pliku

Przydatne opcje tar:

  • -c – Utwórz nowy plik archiwum .tar.
  • -x – Wyodrębnij pliki z archiwum .tar.
  • -f – Określ nazwę pliku archiwum zamiast stdin/stdout.
  • -v – Szczegółowe informacje wyświetlające zarchiwizowane pliki.
  • -z – Kompresuj lub dekompresuj archiwum za pomocą gzip.

Na przykład:

tar -cvzf images.tar.gz /home/user/images

To tworzy archiwum tar skompresowane gzip’em o nazwie images.tar.gz zawierające folder /home/user/images.

24. gzip – Kompresuj lub Rozszerzaj Pliki

Polecenie gzip kompresuje pliki za pomocą kodowania LZ77, aby zmniejszyć ich rozmiar do przechowywania lub transmisji. Przy użyciu gzip, pracujesz z plikami .gz.

Składnia:

gzip [opcje] nazwa_pliku

Przydatne opcje gzip:

  • -c – Zapisz wynik na standardowe wyjście zamiast do pliku.
  • -d – Dekompresuj plik zamiast kompresować.
  • -r – Rekursywnie kompresuj katalogi.

Na przykład:

gzip -cr documents/

Powyższe polecenie rekurencyjnie kompresuje folder dokumentów i wyprowadza na stdout.

25. gunzip – Dekompresja Plików

Polecenie gunzip jest używane do dekompresji plików .gz.

Składnia:

gunzip filename.gz

Przykład:

gunzip documents.tar.gz

Powyższe polecenie wyodrębni oryginalne, nieskompresowane zawartości pliku documents.tar.gz.

26. zip – Pakowanie i Kompresowanie Plików

Polecenie zip tworzy archiwa .zip zawierające skompresowane zawartości plików.

Składnia:

zip [options] archive.zip filenames

Przydatne opcje zip:

  • -r – Rekurencyjnie kompresuj katalog.
  • -e – Zaszyfruj zawartość za pomocą hasła.

Przykład:

zip -re images.zip pictures

To szyfruje i kompresuje folder ze zdjęciami do pliku images.zip.

27. unzip – Wyodrębnij pliki z archiwów ZIP

Podobnie do gunzip, polecenie unzip wypakowuje i dekompresuje pliki z archiwów .zip.

Składnia:

unzip archive.zip

Przykład:

unzip images.zip

Powyższe polecenie przykładowe wypakowuje wszystkie pliki z images.zip w bieżącym katalogu.

Polecenia Transferu Plików

Komendy transferu plików pozwalają przenosić pliki pomiędzy systemami poprzez sieć. Jest to przydatne do kopiowania plików na zdalne serwery lub pobierania treści z internetu.

28. scp – Bezpieczne Kopiowanie Plików Między Hostami

Polecenie scp (secure copy) kopiuje pliki między hostami za pośrednictwem połączenia SSH. Wszystkie przesyłane dane są szyfrowane dla bezpieczeństwa.

Składnia scp kopiuje pliki ze ścieżki źródłowej do miejsca docelowego zdefiniowanego jako user@host:

scp source user@host:destination

Na przykład:

scp image.jpg user@server:/uploads/

To bezpiecznie kopiuje image.jpg do folderu /uploads na serwerze jako użytkownik.

scp działa jak polecenie cp, ale do transferu plików zdalnych. Wykorzystuje SSH (Secure Shell) do przesyłania danych, zapewniając szyfrowanie, aby żadne wrażliwe dane, takie jak hasła, nie były ujawniane w sieci. Uwierzytelnianie jest zwykle obsługiwane za pomocą kluczy SSH, chociaż mogą być również używane hasła. Pliki można kopiować zarówno do, jak i z zdalnych hostów.

29. rsync – Synchronizacja plików między hostami

Narzędzie rsync synchronizuje pliki między dwoma lokalizacjami, minimalizując transfer danych za pomocą kodowania delta. Dzięki temu szybciej synchronizuje duże drzewa katalogów.

Składnia rsync synchronizuje źródło z miejscem docelowym:

rsync [options] source destination

Na przykład:

rsync -ahv ~/documents user@server:/backups/

Powyższe polecenie przykładowe synchronizuje rekursywnie folder dokumentów do server:/backups/, pokazując szczegółowe, czytelne dla człowieka wyniki.

Przydatne opcje rsync:

  • -a – Tryb archiwizacji synchronizuje rekurencyjnie i zachowuje uprawnienia, czasy, itp.
  • -h – Wyświetlanie w formie czytelnej dla człowieka.
  • -v – Szczegółowe wyświetlanie.

rsync jest idealny do synchronizacji plików i folderów z systemami zdalnymi oraz zachowania decentralizowanych kopii zapasowych i bezpieczeństwa.

30. sftp – Program Bezpiecznego Przesyłania Plików

Program sftp umożliwia interaktywny transfer plików przez SSH, podobnie do zwykłego FTP, ale zaszyfrowany. Może przesyłać pliki do/z zdalnych systemów.

sftp łączy się z hostem, a następnie akceptuje polecenia takie jak:

sftp user@host

get remotefile localfile

put localfile remotefile

To pobiera remotefile z serwera i kopiuje localfile na zdalny host.

sftp posiada interaktywną powłokę do nawigacji po zdalnych systemach plików, transferowania plików i katalogów oraz zarządzania uprawnieniami i właściwościami.

31. wget – Pobieranie plików z sieci

Narzędzie wget pobiera pliki przez połączenia HTTP, HTTPS i FTP. Jest przydatne do pobierania zasobów internetowych bezpośrednio z terminala.

Na przykład:

wget https://example.com/file.iso

To pobiera obraz file.iso z serwera zdalnego.

Przydatne opcje wget:

  • -c – Wznów przerwane pobieranie.
  • -r – Pobieraj rekursywnie.
  • -O – Zapisz do określonej nazwy pliku.

wget jest idealny do skryptowania automatycznych pobierań i tworzenia kopii witryn internetowych.

32. curl – Przesyłanie Danych Z Serwera Lub Do Serwera

Polecenie curl przesyła dane do lub z serwera sieciowego, korzystając z obsługiwanych protokołów. Obejmuje to REST, HTTP, FTP i inne.

Na przykład:

curl -L https://example.com

Powyższe polecenie pobiera dane z adresu URL HTTPS i je wyświetla.

Przydatne opcje curl:

  • -o – Zapisz wynik do pliku.
  • -I – Pokaż tylko nagłówki odpowiedzi.
  • -L – Śledź przekierowania.

curl jest zaprojektowany do programowego przesyłania danych przez sieci.

Polecenia Uprawnień Plików

Komendy uprawnień plików pozwalają modyfikować prawa dostępu dla użytkowników. Obejmuje to ustawianie uprawnień do odczytu/zapisu/wykonywania, zmianę właściciela oraz domyślne tryby plików.

33. chmod – Zmiana trybów plików lub uprawnień dostępu

Polecenie chmod służy do zmiany uprawnień dostępu lub trybów plików i katalogów. Tryby uprawnień określają, kto może czytać, pisać lub wykonywać plik.

Na przykład:

chmod 755 file.txt

Istnieją trzy zestawy uprawnień—właściciel, grupa i publiczne. Uprawnienia są ustawiane przy użyciu numerycznych trybów od 0 do 7:

  • 7 – czytaj, pisz i wykonuj.
  • 6 – czytaj i pisz.
  • 4 – tylko czytaj.
  • 0 – brak uprawnień.

To ustawia uprawnienia właściciela na 7 (rwx), grupy na 5 (r-x) oraz publiczne na 5 (r-x). Możesz również odwoływać się do użytkowników i grup symbolicznie:

chmod g+w file.txt

Składnia g+w dodaje uprawnienia do zapisu grupy do pliku.

Ustawienie odpowiednich uprawnień dla plików i katalogów jest kluczowe dla bezpieczeństwa Linuxa i kontroli dostępu. chmod daje ci elastyczną kontrolę, aby skonfigurować uprawnienia dokładnie według potrzeb.

34. chown – Zmień właściciela pliku i grupę

Polecenie chown zmienia właściciela pliku lub katalogu. Właścicielstwo ma dwa składniki – użytkownika, który jest właścicielem, oraz grupę, do której należy.

Na przykład:

chown john:developers file.txt

Powyższe polecenie przykładowe ustawi użytkownika właściciela na „john” oraz grupę właściciela na „developers”.

Tylko konto superużytkownika Root może używać chown do zmiany właściciela pliku. Jest używane do naprawy problemów z uprawnieniami poprzez modyfikowanie właściciela i grupy według potrzeb.

35. umask – Ustaw Domyślne Uprawnienia Plików

Polecenie umask kontroluje domyślne uprawnienia przyznawane nowo utworzonym plikom. Przyjmuje ono maskę oktalną jako dane wejściowe, która odejmuje od 666 dla plików i 777 dla katalogów.

Na przykład:

umask 007

Nowe pliki będą domyślnie miały uprawnienia 750 zamiast 666, a nowe katalogi 700 zamiast 777.

Ustawienie umask pozwala skonfigurować domyślne uprawnienia do plików zamiast polegać na domyślnych ustawieniach systemowych. Polecenie umask jest przydatne do ograniczania uprawnień do nowych plików bez konieczności ręcznego dodawania ograniczeń przez kogoś.

Komendy Zarządzania Procesami

Te polecenia pozwalają na przeglądanie, monitorowanie i kontrolowanie procesów działających w Twoim systemie Linux. Jest to przydatne do identyfikowania zużycia zasobów oraz zatrzymywania programów, które działają nieprawidłowo.

36. ps – Zgłoś Zrzut Aktualnych Procesów

Polecenie ps wyświetla migawkę aktualnie działających procesów, w tym ich PID, TTY, stat, czas startu, itp.

Na przykład:

ps aux

Ten widok pokazuje każdy proces działający jako wszyscy użytkownicy z dodatkowymi szczegółami takimi jak użycie CPU i pamięci.

Kilka przydatnych opcji ps:

  • aux – Pokaż procesy dla wszystkich użytkowników
  • --forest – Wyświetl drzewo procesów nadrzędnych/podrzędnych

ps pozwala zobaczyć, co obecnie działa na twoim systemie.

37. top – Wyświetl Procesy Linux

Polecenie top pokazuje informacje o procesach w systemie Linux w czasie rzeczywistym, w tym PID, użytkownika, % CPU, użycie pamięci, czas pracy i więcej. W przeciwieństwie do ps, aktualizuje wyświetlanie dynamicznie, aby odzwierciedlać bieżące użycie.

Na przykład:

top -u mysql

Powyższe polecenie monitoruje procesy tylko dla użytkownika “mysql“. Jest to bardzo pomocne w identyfikacji programów intensywnie wykorzystujących zasoby.

38. htop – Interaktywny przegląd procesów

Polecenie htop to interaktywny przegląd procesów zastępujący polecenie top. Wyświetla procesy systemowe wraz z wykresami użycia CPU/pamięci/swap, pozwala na sortowanie według kolumn, zamykanie programów i więcej.

Wystarczy, że wpiszesz htop w linii poleceń, aby zobaczyć swoje procesy.

htop ma rozbudowany interfejs użytkownika z elementami kolorystycznymi, przewijaniem i obsługą myszy dla łatwiejszej nawigacji w porównaniu do top. Doskonałe do badania procesów.

wykres słupkowy pokazujący, że deweloperzy wolą Linuxa (76,9%) w porównaniu do Docker (73,6%) i Kubernetes (71,1%)

39. kill – Wyślij sygnał do procesu

Polecenie kill wysyła sygnał do procesu, aby go zakończyć lub zabić. Sygnały umożliwiają łagodne zamknięcie, jeśli proces je obsługuje.

Na przykład:

kill -15 12345

Powyższe polecenie wysyła sygnał SIGTERM (15) w celu eleganckiego zatrzymania procesu o PID 12345.

40. pkill – Wyślij sygnał do procesu na podstawie nazwy

Polecenie pkill zabija procesy według nazwy zamiast PID. Może to ułatwić sprawę niż szukanie najpierw PID.

Na przykład:

pkill -9 firefox

To zmusza do zatrzymania wszystkich procesów Firefox za pomocą SIGKILL (9). pkill kieruje procesy poprzez dopasowanie nazwy, użytkownika i innych kryteriów zamiast PID.

41. nohup – Uruchom Polecenie Nieczułe na Rozłączenia

Polecenie nohup uruchamia procesy odporne na rozłączenia, więc będą one kontynuować działanie, jeśli się wylogujesz lub zostaniesz rozłączony.

Na przykład:

nohup python script.py &

Powyższe polecenie przykładowe uruchomi script.py w tle, odłączone i odporne na zawieszenia. nohup jest zazwyczaj używany do uruchamiania trwałych demonów i usług w tle.

Komendy Monitorowania Wydajności

Te polecenia dostarczają cenne statystyki wydajności systemu, które pomagają analizować wykorzystanie zasobów, identyfikować wąskie gardła i optymalizować efektywność.

42. vmstat – Raport Statystyk Pamięci Wirtualnej

Polecenie vmstat wyświetla szczegółowe raporty dotyczące pamięci, przestrzeni wymiany, I/O oraz aktywności procesora. Obejmuje to metryki takie jak używana/wolna pamięć, zamiana wejścia/wyjścia, odczytane/zapisane bloki dysku oraz czas procesora spędzony na procesach/bezczynności.

Na przykład:

vmstat 5

Inne przydatne opcje vmstat:

  • -a – Pokaż aktywną i nieaktywną pamięć
  • -s – Wyświetl liczniki zdarzeń i statystyki pamięci
  • -S – Wynik w KB zamiast w blokach
  • 5 – Wynik odświeżany co 5 sekund.

Przykład powyżej wypisuje dane dotyczące pamięci i CPU co 5 sekund, aż do przerwania, co jest przydatne do monitorowania wydajności systemu na żywo.

43. iostat – Raport statystyk CPU i I/O

Polecenie iostat monitoruje i wyświetla wykorzystanie procesora oraz metryki I/O dysku. Obejmuje to obciążenie procesora, IOPS, przepustowość odczytu/zapisu i więcej.

Na przykład:

iostat -d -p sda 5

Kilka opcji iostat:

  • -c – Wyświetl informacje o wykorzystaniu CPU
  • -t – Wydrukuj znacznik czasu dla każdego raportu
  • -x – Pokaż rozszerzone statystyki takie jak czasy obsługi i liczby oczekujących
  • -d – Pokaż szczegółowe statystyki na dysk/partycji zamiast łącznych sum
  • -p – Wyświetl statystyki dla określonych urządzeń dyskowych

To pokazuje szczegółowe statystyki I/O dla każdego urządzenia dla sda co 5 sekund.

iostat pomaga analizować wydajność podsystemu dyskowego i identyfikować wąskie gardła sprzętowe.

44. free – Wyświetl ilość wolnej i używanej pamięci

Polecenie free pokazuje łączną, wykorzystaną i wolną ilość pamięci fizycznej oraz pamięci wymiany w systemie. Daje to przegląd dostępnej pamięci.

Na przykład:

free -h

Kilka opcji dla polecenia free:

  • -b – Wyświetl wyniki w bajtach
  • -k – Pokaż wyniki w KB zamiast domyślnych bajtów
  • -m – Pokaż wyniki w MB zamiast bajtów
  • -h – Drukuj statystyki w formacie czytelnym dla człowieka, takim jak GB, MB zamiast bajtów.

To wyświetla statystyki pamięci w formacie zrozumiałym dla człowieka (GB, MB, itd). Jest przydatne, gdy chcesz szybko uzyskać przegląd pojemności pamięci.

45. df – Raport Użycia Przestrzeni Dyskowej Systemu Plików

Polecenie df wyświetla użycie miejsca na dysku dla systemów plików. Pokazuje nazwę systemu plików, całkowitą/używaną/dostępną przestrzeń oraz pojemność.

Na przykład:

df -h

Powyższe polecenie wyświetli wykorzystanie dysku w formacie czytelnym dla człowieka. Możesz również uruchomić je bez argumentów, aby uzyskać te same dane w rozmiarach bloków.

46. sar – Zbieraj i Raportuj Aktywność Systemową

Narzędzie sar zbiera i rejestruje informacje o aktywności systemu dotyczące CPU, pamięci, I/O, sieci i więcej w czasie. Te dane mogą być analizowane w celu identyfikacji problemów z wydajnością.

Na przykład:

sar -u 5 60

Ta próbka używa CPU co 5 sekundy przez czas 60 próbek.

sar dostarcza szczegółowe historyczne dane o wydajności systemu, których nie można uzyskać w narzędziach czasu rzeczywistego.

Polecenia Zarządzania Użytkownikami

Korzystając z systemów wielu użytkowników, możesz potrzebować poleceń, które pomogą Ci zarządzać użytkownikami i grupami dla kontroli dostępu i uprawnień. Omówmy te polecenia tutaj.

47. useradd – Utwórz Nowego Użytkownika

Polecenie useradd tworzy nowe konto użytkownika oraz katalog domowy. Ustawia nowy UID użytkownika, grupę, Shell oraz inne domyślne wartości.

Na przykład:

useradd -m john

Przydatne opcje useradd:

  • -m – Utwórz katalog domowy użytkownika.
  • -g – Określ grupę podstawową zamiast domyślnej.
  • -s – Ustaw powłokę logowania użytkownika.

Powyższe polecenie utworzy nowego użytkownika, „john,” z wygenerowanym UID i stworzonym folderem domowym w /home/john.

48. usermod – Modyfikuj konto użytkownika

Polecenie usermod modyfikuje ustawienia istniejącego konta użytkownika. Może to zmienić nazwę użytkownika, katalog domowy, Shell, grupę, datę wygaśnięcia itp.

Na przykład:

usermod -aG developers john

Za pomocą tego polecenia dodajesz użytkownika john do dodatkowej grupy—„developers”. Parametr -a dodaje do istniejącej listy grup, do których użytkownik jest dodawany.

49. userdel – Usuń Konto Użytkownika

Polecenie userdel usuwa konto użytkownika, katalog domowy oraz spool poczty.

Na przykład:

userdel -rf john

Przydatne opcje userdel:

  • -r – Usuń katalog domowy użytkownika i skrzynkę pocztową.
  • -f – Wymuś usunięcie nawet jeśli użytkownik jest jeszcze zalogowany.

To wymusza usunięcie użytkownika “john,” usuwając powiązane pliki.

Określenie opcji takich jak -r i -f z userdel zapewnia całkowite usunięcie konta użytkownika, nawet jeśli użytkownik jest zalogowany lub ma aktywne procesy.

50. groupadd – Dodaj Grupę

Polecenie groupadd tworzy nową grupę użytkowników. Grupy reprezentują zespoły lub role dla celów uprawnień.

Na przykład:

groupadd -r sysadmin

Przydatne opcje groupadd:

  • -r – Utwórz grupę systemową używaną do podstawowych funkcji systemowych.
  • -g – Określ GID nowej grupy zamiast używania następnego dostępnego.

Powyższe polecenie tworzy nową grupę “sysadmin” z uprawnieniami systemowymi. Podczas tworzenia nowych grup, -r lub -g pomagają je poprawnie ustawić.

51. passwd – Aktualizacja Tokenów Uwierzytelniających Użytkownika

Polecenie passwd ustawia lub aktualizuje hasło/tokeny uwierzytelniające użytkownika. Pozwala to na zmianę hasła logowania.

Na przykład:

passwd john

To zachęca użytkownika „john” do interaktywnego wprowadzenia nowego hasła. Jeśli zgubiłeś hasło do konta, możesz zalogować się do systemu Linux z uprawnieniami sudo lub su i zmienić hasło, korzystając z tej samej metody.

Komendy sieciowe

Te polecenia są używane do monitorowania połączeń, rozwiązywania problemów z siecią, routingu, wyszukiwań DNS oraz konfiguracji interfejsu.

52. ping – Wyślij żądanie ECHO ICMP do hostów sieciowych

Polecenie ping weryfikuje połączenie z zdalnym hostem poprzez wysyłanie pakietów żądania echo ICMP i nasłuchiwanie odpowiedzi echo.

Na przykład:

ping google.com
PING google.com (142.251.42.78): 56 bajtów danych
64 bajty od 142.251.42.78: icmp_seq=0 ttl=112 time=8.590 ms
64 bajty od 142.251.42.78: icmp_seq=1 ttl=112 time=12.486 ms
64 bajty od 142.251.42.78: icmp_seq=2 ttl=112 time=12.085 ms
64 bajty od 142.251.42.78: icmp_seq=3 ttl=112 time=10.866 ms
--- Statystyki ping dla google.com ---
4 pakiety wysłane, 4 pakiety otrzymane, 0.0% utraty pakietów
czas podróży min/śr/max/odch = 8.590/11.007/12.486/1.518 ms

Przydatne opcje pingu:

  • -c [count] – Ogranicz wysyłane pakiety.
  • -i [interval] – Czekaj interval sekund między pingami.

Za pomocą powyższego polecenia, pingujesz google.com i otrzymujesz statystyki dotyczące czasu podróży wskazujące na łączność i opóźnienia. Ogólnie, ping jest używany do sprawdzenia, czy system, z którym próbujesz się połączyć, jest aktywny i połączony z siecią.

53. ifconfig – Konfiguracja Interfejsów Sieciowych

Polecenie ifconfig wyświetla i konfiguruje ustawienia interfejsu sieciowego, w tym adres IP, maskę sieci, adres rozgłoszeniowy, MTU oraz fizyczny adres MAC.

Na przykład:

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe1e:ef1d  prefixlen 64  scopeid 0x20<link>
ether 08:00:27:1e:ef:1d  txqueuelen 1000  (Ethernet)
RX packets 23955654  bytes 16426961213 (15.3 GiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 12432322  bytes 8710937057 (8.1 GiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Uruchomienie ifconfig bez dodatkowych argumentów dostarczy listę wszystkich dostępnych interfejsów sieciowych do użycia, wraz z IP i dodatkowymi informacjami sieciowymi. ifconfig może być również używany do ustawiania adresów, włączania/wyłączania interfejsów oraz zmiany opcji.

54. netstat – Statystyki sieciowe

Polecenie netstat pokazuje połączenia sieciowe, tabele routingu, statystyki interfejsów, połączenia maskaradowe i członkostwa multicast.

Na przykład:

netstat -pt tcp

To polecenie wyświetli wszystkie aktywne połączenia TCP oraz procesy z nich korzystające.

55. ss – Statystyki Gniazd

Polecenie ss wyświetla statystyki gniazd podobne do netstat. Może pokazać otwarte gniazda TCP i UDP, rozmiary buforów wysyłania/odbierania i więcej.

Na przykład:

ss -t -a

To wyświetla wszystkie otwarte gniazda TCP. Bardziej wydajne niż netstat.

56. traceroute – Śledzenie trasy do hosta

Polecenie traceroute drukuje trasę, jaką pakiety podążają do hosta sieciowego, pokazując każdy przystanek w drodze i czasy tranzytu. Przydatne do debugowania sieci.

Na przykład:

traceroute google.com

To śledzi ścieżkę do osiągnięcia google.com i wyświetla każdy przeskok sieciowy.

57. dig - DNS Lookup

Polecenie dig wykonuje wyszukiwania DNS i zwraca informacje o rekordach DNS dla domeny.

Na przykład:

dig google.com
; <<>> DiG 9.10.6 <<>> google.com
;; global options: +cmd
;; Otrzymano odpowiedź:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60290
;; flagi: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; SEKCJA PSEUDO-OPT:
; EDNS: wersja: 0, flagi:; udp: 1280
;; SEKCJA PYTANIA:
;google.com. IN A
;; SEKCJA ODPOWIEDZI:
google.com. 220 IN A 142.251.42.78
;; Czas zapytania: 6 msec
;; SERWER: 2405:201:2:e17b::c0a8:1d01#53(2405:201:2:e17b::c0a8:1d01)
;; KIEDY: Środa, 15 listopada 01:36:16 IST 2023
;; ROZMIAR WIADOMOŚCI rcvd: 55

To wysyła zapytania do serwerów DNS w celu uzyskania rekordów związanych z google.com i wyświetla szczegóły.

58. nslookup – Interaktywne zapytania do serwerów nazw w Internecie

Polecenie nslookup wysyła interaktywne zapytania do serwerów DNS, aby wykonać wyszukiwanie rozwiązań nazw lub wyświetlić rekordy DNS.

Wchodzi do interaktywnego shell, pozwalając na ręczne wyszukiwanie nazw hostów, odwracanie adresów IP, znajdowanie typów rekordów DNS i więcej.

Na przykład, niektóre typowe zastosowania nslookup. Wpisz nslookup w wierszu poleceń:

nslookup

Następnie ustalimy serwer DNS Google 8.8.8.8 do wyszukiwań.

> server 8.8.8.8

Teraz, zapytajmy o rekord A dla stackoverflow.com, aby znaleźć jego adres IP.

> set type=A
> stackoverflow.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Nieautoryzowana odpowiedź:
Name: stackoverflow.com
Address: 104.18.32.7
Name: stackoverflow.com
Address: 172.64.155.249

Teraz znajdźmy rekordy MX dla github.com, aby zobaczyć jego serwery pocztowe.

> set type=MX
> github.com
Serwer: 8.8.8.8
Adres: 8.8.8.8#53
Odpowiedź nieautoryzowana:
github.com wymiennik pocztowy = 1 aspmx.l.google.com.
github.com wymiennik pocztowy = 5 alt1.aspmx.l.google.com.
github.com wymiennik pocztowy = 5 alt2.aspmx.l.google.com.
github.com wymiennik pocztowy = 10 alt3.aspmx.l.google.com.
github.com wymiennik pocztowy = 10 alt4.aspmx.l.google.com.

Interaktywne zapytania czynią nslookup bardzo przydatnym do eksplorowania DNS i rozwiązywania problemów z rozpoznawaniem nazw.

59. iptables – Filtrowanie Pakietów IPv4 i NAT

Polecenie iptables pozwala na konfigurację reguł zapory sieciowej Linux netfilter w celu filtrowania i przetwarzania pakietów sieciowych. Ustanawia polityki i reguły dotyczące sposobu, w jaki system będzie obsługiwał różne typy połączeń przychodzących i wychodzących oraz ruch sieciowy.

Na przykład:

iptables -A INPUT -s 192.168.1.10 -j DROP

Powyższe polecenie zablokuje wszystkie wejścia z IP 192.168.1.10.

iptables zapewnia potężną kontrolę nad firewallem jądra Linuxa, umożliwiając zarządzanie trasowaniem, NAT, filtrowaniem pakietów i innymi formami kontroli ruchu. Jest kluczowym narzędziem do zabezpieczania serwerów Linux.

60. ip – Zarządzanie Urządzeniami Sieciowymi i Routingiem

Polecenie ip pozwala zarządzać i monitorować różne działania związane z urządzeniami sieciowymi, takie jak przypisywanie adresów IP, konfigurowanie podsieci, wyświetlanie szczegółów połączenia oraz konfiguracja opcji routingu.

Na przykład:

ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:8a:5c:04 brd ff:ff:ff:ff:ff:ff

Powyższe polecenie pokazuje wszystkie interfejsy sieciowe, ich status oraz inne informacje.

To polecenie ma na celu zastąpienie ifconfig bardziej nowoczesnym zarządzaniem siecią Linux. ip może kontrolować urządzenia sieciowe, tablice routingu oraz inne ustawienia stosu sieciowego.

Polecenia Zarządzania Pakietami

Menedżery pakietów umożliwiają łatwą instalację, aktualizację i usuwanie oprogramowania w dystrybucjach Linuxa. Popularne menedżery pakietów to APT, YUM, DNF, Pacman i Zypper.

61. apt – Menedżer Pakietów Debian/Ubuntu

Polecenie apt zarządza pakietami na systemach Debian/Ubuntu przy użyciu repozytorium APT. Umożliwia instalowanie, aktualizowanie i usuwanie pakietów.

Na przykład:

apt update

To polecenie pobiera najnowsze wersje pakietów i metadane z repozytoriów.

apt install nginx

Możesz zainstalować pakiet nginx z skonfigurowanych repozytoriów APT, używając powyższego polecenia.

apt upgrade

A ta komenda aktualizuje pakiety i zależności do nowszych wersji.

APT ułatwia instalację oprogramowania poprzez pobieranie pakietów z repozytoriów.

62. pacman – Menedżer Pakietów Arch Linux

pacman zarządza pakietami w Arch Linux z repozytorium Arch User Repository. Może instalować, aktualizować i usuwać pakiety.

Przykładowo:

pacman -S nmap

To instaluje pakiet nmap z konfigurowanych repozytoriów.

pacman -Syu

To synchronizuje z repozytoriami i aktualizuje wszystkie pakiety.

pacman utrzymuje Arch Linux w aktualności i ułatwia zarządzanie pakietami.

63. dnf – Menadżer Pakietów Fedora

dnf instaluje, aktualizuje i usuwa pakiety w dystrybucjach Fedora Linux, korzystając z pakietów RPM. Zastępuje Yum jako menedżer pakietów nowej generacji.

Na przykład:

dnf install util-linux

To instaluje pakiet util-linux.

dnf upgrade

To aktualizuje wszystkie zainstalowane pakiety do najnowszych wersji.

dnf sprawia, że zarządzanie pakietami Fedora jest szybkie i wydajne.

64. yum – Menedżer Pakietów Red Hat

yum zarządza pakietami w dystrybucjach Linux RHEL i CentOS, używając pakietów RPM. Pobiera z repozytoriów Yum, aby instalować i aktualizować.

Na przykład:

yum update

To aktualizuje wszystkie zainstalowane pakiety do najnowszych wersji.

yum install httpd

Powyższe polecenie instaluje pakiet Apache httpd. yum był głównym menedżerem pakietów do aktualizacji dystrybucji Red Hat.

65. zypper – Menedżer Pakietów OpenSUSE

zypper zarządza pakietami w SUSE/openSUSE Linux. Może dodawać repozytoria, wyszukiwać, instalować i aktualizować pakiety.

Na przykład:

zypper refresh

Komenda odświeżania dla zypper odświeża metadane repozytorium z dodanych repozytoriów.

zypper install python

To instaluje pakiet Pythona z konfigurowanych repozytoriów. zypper ułatwia zarządzanie pakietami w systemach SUSE/openSUSE.

66. flatpak – Menedżer Pakietów Aplikacji Flatpak

Komenda flatpak pomaga zarządzać aplikacjami i środowiskami uruchomieniowymi Flatpak. flatpak umożliwia dystrybucję aplikacji na pulpicie w trybie piaskownicy na różnych dystrybucjach Linuxa.

Na przykład:

flatpak install flathub org.libreoffice.LibreOffice

Na przykład, powyższe polecenie zainstaluje LibreOffice z repozytorium Flathub.

flatpak run org.libreoffice.LibreOffice

A ta uruchamia aplikację LibreOffice Flatpak w trybie piaskownicy. flatpak dostarcza scentralizowane repozytorium aplikacji dla systemów Linux działających na różnych dystrybucjach, więc nie jesteś już ograniczony tylko do pakietów dostępnych w bibliotece pakietów konkretnej dystrybucji.

67. appimage – Menedżer Pakietów Aplikacji AppImage

AppImage to samodzielne aplikacje, które działają na większości dystrybucji Linuxa. Komenda appimage uruchamia istniejące AppImages.

Na przykład:

chmod +x myapp.AppImage
./myapp.AppImage

To umożliwia bezpośrednie uruchamianie pliku binarnego AppImage.

AppImages pozwalają na wdrażanie aplikacji bez instalacji na poziomie systemu. Można je traktować jak małe kontenery, które zawierają wszystkie pliki niezbędne do działania aplikacji bez zbyt wielu zewnętrznych zależności.

68. snap – Menedżer Pakietów Aplikacji Snappy

Polecenie snap zarządza pakietami typu snap—konteneryzowane pakiety oprogramowania. Snaps aktualizują się automatycznie i działają na różnych dystrybucjach Linuxa, podobnie jak Flatpak.

Na przykład:

snap install vlc

To proste polecenie instaluje snap odtwarzacza multimedialnego VLC.

snap run vlc

Po instalacji, możesz użyć snap, aby uruchomić pakiety zainstalowane za pomocą snap, korzystając z powyższego polecenia. Snaps izoluje aplikacje od bazowego systemu dla przenośności i umożliwia czystszą instalację.

Polecenia Informacji Systemowej

Te polecenia pozwalają wyświetlić szczegóły dotyczące sprzętu systemu Linux, jądra, dystrybucji, nazwy hosta, czasu pracy i więcej.

69. uname – Wydrukuj Informacje o Systemie

Polecenie uname drukuje szczegółowe informacje o jądrze systemu Linux, architekturze sprzętowej, nazwie hosta i systemie operacyjnym. Obejmuje to numery wersji i informacje o maszynie.

Na przykład:

uname -a
Linux hostname 5.4.0-48-generic x86_64 GNU/Linux

uname jest przydatne do odpytywania tych podstawowych szczegółów systemowych. Niektóre opcje obejmują:

  • -a – Wydrukuj wszystkie dostępne informacje o systemie
  • -r – Wydrukuj tylko numer wydania jądra

Powyższe polecenie wydrukowało rozszerzone informacje o systemie, w tym nazwę/wersję jądra, architekturę sprzętową, nazwę hosta i system operacyjny.

uname -r

To wydrukuje tylko numer wydania jądra. Polecenie uname pokazuje szczegóły dotyczące podstawowych komponentów systemu Linux.

70. hostname – Pokaż lub ustaw nazwę hosta systemu

Polecenie hostname wyświetla lub ustawia identyfikator nazwy hosta dla Twojego systemu Linux w sieci. Bez argumentów wyświetla bieżącą nazwę hosta. Podanie nazwy zaktualizuje nazwę hosta.

Na przykład:

hostname
linuxserver

To wyświetla linuxserver — skonfigurowaną nazwę hosta systemu.

hostname UbuntuServer

hostnames identyfikują systemy w sieci. hostname pobiera lub konfiguruje nazwę identyfikującą twój system w sieci. Drugie polecenie pomaga zmienić lokalną nazwę hosta na UbuntuServer.

71. uptime – Jak długo system działa

Polecenie uptime pokazuje, jak długo system Linux działa od ostatniego uruchomienia. Wyświetla czas działania i aktualny czas.

Uruchom poniższe polecenie, aby uzyskać dane dotyczące czasu działania systemu:

uptime
23:51:26 up 2 dni, 4:12, 1 użytkownik, średnie obciążenie: 0.00, 0.01, 0.05

To pokazuje czas działania systemu, wskazując jak długo system działa od ostatniego uruchomienia.

72. whoami – Drukuj aktywne ID użytkownika

Polecenie whoami wyświetla efektywną nazwę użytkownika obecnie zalogowanego do systemu. Pokazuje poziom uprawnień, na którym działasz.

Wpisz polecenie w swoim terminalu, aby uzyskać ID:

whoami
john

To wydrukuje skuteczną nazwę użytkownika, jako którą zalogował się i działa obecny użytkownik. Jest to przydatne w skryptach lub diagnostyce do identyfikacji, jako jaki użytkownik są wykonywane działania.

73. id – Drukuj rzeczywiste i skuteczne identyfikatory użytkownika i grupy

Polecenie id wyświetla szczegółowe informacje o użytkowniku i grupie dotyczące efektywnych identyfikatorów i nazw bieżącego użytkownika. Obejmuje to:

  • Rzeczywiste ID użytkownika i nazwa.
  • Skuteczne ID użytkownika i nazwa.
  • Rzeczywiste ID grupy i nazwa.
  • Skuteczne ID grupy i nazwa.

Aby użyć polecenia id, po prostu wpisz: 

id
uid=1000(john) gid=1000(john) groups=1000(john),10(wheel),998(developers)

Polecenie id wyświetla rzeczywiste i skuteczne identyfikatory użytkownika i grupy bieżącego użytkownika. id pokazuje szczegóły użytkownika i grupy przydatne do określania uprawnień dostępu do plików.

74. lscpu – Wyświetl informacje o architekturze CPU

Polecenie lscpu pokazuje szczegółowe informacje o architekturze CPU, w tym:

  • Ilość rdzeni CPU
  • Ilość gniazd
  • Nazwa modelu
  • Rozmiary pamięci podręcznej
  • Częstotliwość CPU
  • Rozmiary adresów

Aby użyć polecenia lscpu, po prostu wpisz: 

lscpu
Architektura:        x86_64
Tryby pracy procesora:      32-bit, 64-bit
Kolejność bajtów:          Little Endian
Procesory CPU:              16
Lista aktywnych procesorów CPU: 0-15

lscpu przedstawia architekturę CPU, taką jak liczba rdzeni, gniazda, nazwa modelu, pamięci podręczne i więcej.

75. lsblk – Lista Urządzeń Blokowych

Polecenie lsblk wyświetla informacje o wszystkich dostępnych urządzeniach blokowych, w tym dyskach lokalnych, partycjach i woluminach logicznych. Wynik zawiera nazwy urządzeń, etykiety, rozmiary i punkty montowania.

lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   1.8T  0 disk
|-sda1    8:1    0   512M  0 part  /boot
|-sda2    8:2    0    16M  0 part
`-sda5    8:5    0   1.8T  0 part
`-lvm1 254:0    0   1.8T  0 lvm   /

lsblk wyświetla wszystkie urządzenia blokowe, w tym dyski, partycje i woluminy logiczne. Daje przegląd urządzeń przechowujących.

76. lsmod – Pokaż Status Modułów w Jądrze Linuxa

Polecenie lsmod wyświetla obecnie załadowane moduły jądra, takie jak sterowniki urządzeń. Obejmuje to Networking, przechowywanie i inne moduły związane z sprzętem, używane przez jądro Linux do komunikacji z urządzeniami wewnętrznymi i zewnętrznymi.

lsmod
Moduł                  Rozmiar  Używany przez
ipv6                  406206  27
evdev                   17700  0
crct10dif_pclmul       16384  1
crc32_pclmul             16384  0
ghash_clmulni_intel    16384  0
aesni_intel           399871  0
aes_x86_64             20274  1 aesni_intel

Jak możesz zauważyć, lista zawiera obecnie załadowane moduły jądra, takie jak sterowniki urządzeń. W tym przypadku, pokazuje użycie modułów sieciowych, wejściowych, kryptograficznych i szyfrujących.

77. dmesg – Drukuj lub kontroluj bufor pierścieniowy jądra

Polecenie dmesg wypisuje komunikaty z bufora pierścieniowego jądra. Obejmuje to istotne zdarzenia systemowe rejestrowane przez jądro podczas uruchamiania i działania.

dmesg | grep -i error
[   12.345678] Błąd odbierania grupowej odpowiedzi odczytu: -110
[   23.456789] tplink_mdio 0000:03:00.0: Bezpośrednie ładowanie oprogramowania układowego dla tplink-mdio/leap_p8_v1_0.bin nie powiodło się z błędem -2
[   40.567890] iwlwifi 0000:09:00.0: Bezpośrednie ładowanie oprogramowania układowego dla iwlwifi-ty-a0-gf-a0-59.ucode nie powiodło się z błędem -2

Wyszukiwanie “error” pokazuje problemy z ładowaniem określonego firmware. To wypisuje buforowane komunikaty dziennika jądra, w tym zdarzenia systemowe takie jak uruchamianie, błędy, ostrzeżenia itp.

Polecenia Administracji Systemem

Komendy administratora systemu pomagają uruchamiać programy jako inni użytkownicy, wyłączać lub restartować system oraz zarządzać systemami inicjacyjnymi i usługami.

78. sudo – Wykonaj Polecenie Jako Inny Użytkownik

Polecenie sudo umożliwia uruchamianie poleceń jako inny użytkownik, zwykle jako superużytkownik. Po wprowadzeniu polecenia sudo zostaniesz poproszony o wpisanie hasła w celu uwierzytelnienia.

To zapewnia podwyższony dostęp do zadań takich jak instalowanie pakietów, edytowanie plików systemowych, administrowanie usługami itp.

Na przykład:

sudo adduser bob
[sudo] password for john:

Użytkownik ‘bob’ został dodany do systemu.

To używa sudo, aby stworzyć nowego użytkownika, ‘bob’. Zwykli użytkownicy zazwyczaj nie mogą dodawać użytkowników bez sudo.

79. su – Zmiana identyfikatora użytkownika lub uzyskanie uprawnień superużytkownika

Polecenie su pozwala na przełączenie się na inne konto użytkownika, w tym superużytkownika. Musisz podać hasło docelowego użytkownika, aby się uwierzytelnić. Umożliwia to bezpośredni dostęp do wykonywania poleceń w środowisku innego użytkownika.

Na przykład:

su bob
Hasło:
bob@linux:~$

Po wprowadzeniu hasła użytkownika bob, to polecenie zmienia bieżącego użytkownika na użytkownika ‘bob’. Wiersz poleceń Shell odzwierciedli nowego użytkownika.

80. shutdown – Wyłączanie lub Restartowanie Linuxa

Polecenie shutdown planuje wyłączenie, zatrzymanie lub restart systemu po określonym czasie lub natychmiast. Jest wymagane do bezpiecznego restartowania lub wyłączania systemów Linux z wieloma użytkownikami.

Na przykład:

shutdown -r now
Broadcast message from root@linux Fri 2023-01-20 18:12:37 CST:
System zostanie teraz zrestartowany!

Ten proceder restartuje system natychmiastowo z ostrzeżeniem dla użytkowników.

81. reboot – Ponowne uruchomienie lub restart systemu

Komenda reboot restartuje system operacyjny Linux, wylogowując wszystkich użytkowników i bezpiecznie restartując system. Synchronizuje dyski i zamyka system poprawnie przed ponownym uruchomieniem.

Na przykład:

reboot
Uruchamianie systemu ponownie.

To natychmiast uruchamia ponownie system operacyjny. reboot to prosta alternatywa dla polecenia shutdown -r.

82. systemctl – Kontroluj systemd System i Menadżera Usług

Polecenie systemctl pozwala na zarządzanie usługami systemd, takimi jak uruchamianie, zatrzymywanie, restartowanie lub przeładowywanie ich. Systemd to nowy system inicjalizacji używany w większości nowoczesnych dystrybucji Linuxa, zastępujący SysV init.

Na przykład:

systemctl start apache2
==== UWIERZYTELNIONO DLA org.freedesktop.systemd1.manage-units ===
Wymagane jest uwierzytelnienie, aby uruchomić 'apache2.service'.
Uwierzytelnianie jako: Nazwa Użytkownika
Hasło:
==== UWIERZYTELNIENIE ZAKOŃCZONE ===

To uruchamia usługę apache2 po uwierzytelnieniu.

83. usługa – Uruchom Skrypt Inicjalizacyjny Systemu V

Polecenie service uruchamia skrypty inicjalizacyjne Systemu V do sterowania usługami. Pozwala to na uruchamianie, zatrzymywanie, ponowne uruchamianie i przeładowywanie usług zarządzanych w ramach tradycyjnego SysV init.

Na przykład:

service iptables start
[ ok ] Uruchamianie iptables (przez systemctl): iptables.service.

Powyższe polecenie uruchamia usługę zapory sieciowej iptables za pomocą jej skryptu inicjalizacyjnego SysV.

Inne polecenia Linux do wypróbowania

  1. mount – Montuj lub „dołącz” dyski do systemu.
  2. umount – Odmontuj lub „usuń” dyski z systemu.
  3. xargs – Tworzy i wykonuje polecenia dostarczone przez standardowe wejście.
  4. alias – Twórz skróty dla długich lub skomplikowanych poleceń.
  5. jobs – Wyświetla programy obecnie działające w tle.
  6. bg – Wznów zatrzymany lub wstrzymany proces w tle.
  7. killall – Zakończ procesy według nazwy programu, a nie PID.
  8. history – Wyświetl wcześniej używane polecenia w bieżącej sesji terminala.
  9. man – Dostęp do podręczników pomocy dla poleceń bezpośrednio w terminalu.
  10. screen – Zarządzaj wieloma sesjami terminala z jednego okna.
  11. ssh – Nawiązuj bezpieczne połączenia szyfrowane z zdalnymi serwerami.
  12. tcpdump – Przechwytuj ruch sieciowy na podstawie określonych kryteriów.
  13. watch – Powtarzaj polecenie w określonych odstępach czasu i wyróżniaj różnice w wyjściu.
  14. tmux – Multiplekser terminala dla trwałych sesji i dzielenia.
  15. nc – Otwórz połączenia TCP lub UDP do testowania i transferu danych.
  16. nmap – Odkrywanie hostów, skanowanie portów, i identyfikacja systemów operacyjnych.
  17. strace – Debuguj procesy przez śledzenie sygnałów i wywołań systemu operacyjnego.

7 kluczowych wskazówek dotyczących używania poleceń Linux

  1. Znaj swoją Shell: Bash, zsh, fish? Różne shelle mają unikalne funkcje. Wybierz ten, który najlepiej odpowiada Twoim potrzebom.
  2. Opanuj podstawowe narzędzia: ls, cat, grep, sed, awk, itd. stanowią rdzeń zestawu narzędzi Linuksa.
  3. Trzymaj się połączeń rurkowych: Unikaj nadmiernego używania tymczasowych plików. Inteligentnie łącz programy.
  4. Sprawdzaj przed nadpisaniem: Zawsze dokładnie sprawdzaj przed nadpisaniem plików za pomocą > i >>.
  5. Śledź swoje procesy pracy: Dokumentuj skomplikowane polecenia i procesy pracy, aby móc je później wykorzystać lub udostępnić.
  6. Twórz własne narzędzia: Pisząc proste skrypty shellowe i aliasy dla często wykonywanych zadań.
  7. Zacznij bez sudo: Początkowo używaj standardowego konta użytkownika, aby zrozumieć uprawnienia.

I pamiętaj, aby ciągle testować nowe komendy na maszynach wirtualnych lub serwerach VPS, aby stały się one dla Ciebie drugą naturą, zanim zaczniesz używać ich na serwerach produkcyjnych.

Słownik DreamHost

Hosting VPS

Wirtualny Serwer Prywatny (VPS) to wirtualna platforma, która przechowuje dane. Wiele firm hostingowych oferuje plany hostingowe VPS, które zapewniają właścicielom stron dedykowaną, prywatną przestrzeń na współdzielonym serwerze.

Czytaj więcej

Lepszy Hosting Linux z DreamHost

Po opanowaniu podstawowych poleceń Linuxa, potrzebujesz również dostawcy hostingu i serwera, który da Ci pełną kontrolę, aby wykorzystać moc i elastyczność Linuxa.

To tutaj DreamHost się wyróżnia.

DreamHost zoptymalizowana infrastruktura Linux jest idealna do uruchamiania Twoich aplikacji, stron i usług:

  • Szybki hosting na nowoczesnych serwerach Linux.
  • Dostęp do Shell SSH dla kontroli z linii poleceń.
  • Możliwość dostosowania wersji PHP, w tym PHP 8.0.
  • Serwery internetowe Apache lub NGINX.
  • Zarządzane bazy danych MySQL, PostgreSQL, Redis.
  • Instalacje aplikacji takich jak WordPress i Drupal za jedno kliknięcie.
  • Przyspieszone magazynowanie NVMe na SSD dla szybkości.
  • Darmowe automatyczne odnawianie certyfikatu SSL Let’s Encrypt.

Eksperci DreamHost mogą pomóc Ci w pełni wykorzystać platformę Linux. Nasze serwery są starannie skonfigurowane pod kątem bezpieczeństwa, wydajności i niezawodności.

Uruchom swój kolejny projekt na platformie hostingowej Linux, której możesz zaufać. Zacznij z solidnym, skalowalnym hostingiem na DreamHost.com.

Otrzymuj treści bezpośrednio do swojej skrzynki odbiorczej

Zapisz się teraz, aby otrzymywać wszystkie najnowsze aktualizacje bezpośrednio do swojej skrzynki odbiorczej.