fbpx

Komendy i Linux to nierozłączna para. Praca z Linuxem w trybie graficznym to w zasadzie żadna przyjemność. Prawdziwa siła drzemie w korzystaniu z terminala, ponieważ pozwala nam na wykorzystywanie w pełni jego potencjału. W rezultacie mamy szybkie wykonanie komendy oraz wygodę. W wielu sytuacjach możemy przekazać wynik na wyjściu i przekazać na wejściu do dalszej analizy z wykorzystaniem innej komendę. Tryb graficzny nie umożliwia nam tego. Zestaw poniższych komend przyda się szczególnie początkującym użytkownikom Linuxa. Poznanie komend zawartych w tym wpisie pozwoli na swobodniejsze poruszanie się po nim.

Komendy podzieliłem na sekcje, mówiące konkretnie jakiego obszaru dotyczą.
Miłego korzystania 🙂

System

Komendy wyświetlające informacje powiązane z pracą systemu.
1. uname : Wyświetlanie informacji o systemie. Korzystając z przełącznika -a zobaczysz wszystkie informacje o systemie, z opcją -r wersja kernela.
2. cat /etc/redhat_release : Wersja RedHata lub Centos'a(w tej sytuacji wersja systemu znajduje się w tym samym miejscu).
3. uptime : Jak długo pracuje nasz system.
4. hostname : Nazwę maszyny/hosta
5. date : Wyświetlanie daty oraz godziny. W tym miejscu możesz określić, które informacje chcesz wyświetlić, np. 'date +%T' wyświetli godzinę w formacie HH/MM/SS
6. w : Sprawdź kto jest aktualnie zalogowany i z czego korzysta.
7. whoami : Wyświetla nazwę zalogowanego użytkownika
8. reboot : Wiadomo :) ...ale spokojnie zadziała tylko przy użytkowniku root, lub zmianie na sudo.
9. shutdown : Wiadomo :) z użyciem tej komendy również możemy uruchomić ponownie system z przełącznikiem -r lub po prostu wyłączyć -P

Sprzętowe

Z użyciem tych komend możesz podglądać oraz zarządzać sprzętem w kontekście maszyny opartej na Linuxie.
10. dmesg : Polecenie do wyświetlające bufor warstwy jądra. Przełącznikiem -u możesz zobaczyć komunikaty z poziomu użytkownika.
11. cat /proc/cpuinfo : Wyświetla informacje dotyczące procesorów w systemie
12. cat /proc/meminfo : Wyświetla informacje dotyczące pamięci RAM/Swap.
13. lshw : Wyświetla informacje o sprzętowej konfiguracji. Zalecam uruchamianie jako użytkownik z podwyższonymi uprawnieniami, w innej sytuacji wyświetli okrojone informacje.
14. lsblk : Wyświetla informacje o urządzeniach blokowych powiązanych z maszyną.
15. free -m : Klasyczna komenda do sprawdzania używanej oraz wolnej pamięci operacyjnej. Przełącznik -m dla MB.
16. badblocks -s /dev/sda : Narzędzie do testowania uszkodzonych bloków na dysku. W tej sytuacji na partycji /dev/sda, przełącznik -s pokazuje progres skanowania w procentach. Po resztę zachęcam do przeczytania w man badblocks

Statystyki systemowe

Zestaw komend do wyświetlania różnego typu statystyk w systemie.
17. mpstat 1 : Dostarcza informacji o wykorzystaniu poszczególnych procesorów w systemie. Cyfra 1 oznacza interwał wyrażony w sekundach.
18. vmstat 2 : Wyświetla informacje o wykorzystaniu pamięci wirtualnej. Interwał 2 sekundy.
19. iostat 2 : Wyświetla statystyki I/O. Interwał 2 sekundy.
20. tail -n 500 /var/log/messages : Wyświetla ostatnie 500 linii(w tym przypadku) logów dotyczących kernel/syslog
21. tcpdump -i eth1 : Przechwytuje cały przepływ pakietów na interfejsie eth1. Żeby sprawdzić nazwę interfejsu możesz ją sprawdzić, np. z użyciem ifconfig. Z przełącznikiem -w mamy możliwość zrzutu do pliku.
tcpdump -i eth0 'port 80' : Monitorowanie ruchu na interfejsie, ale z dodatkowym filtrem na port 80.
22. free -m : Prezentuje informacje dotyczące pamięci RAM oraz SWAP.
23. watch df -h : Komenda watch przydaje się, kiedy chcemy widzieć zmianę danych tu i teraz bez pętli albo skryptu z użyciem bash'a. W tym przykładzie zajętość poszczególnego systemu plików. Domyślny interwał 2s.

Użytkownik

Lista komend do zarządzania użytkownikiem w systemie.
24. id : Informacje o aktualnie zalogowanym użytkowniku oraz grupie.
25. last : Pokazuje listę ostatnio zalogowanych użytkowników. Przełącznik -a umożliwi dodanie nazwy hosta do ostatniej kolumny.
26. who : Zobaczysz kto aktualnie jest zalogowany.
27. groupadd lokalna : Dodanie grupy o nazwie "lokalna"
28. useradd -c "Janusz Nosacz" -g lokalna -m janusz : Dodawanie użytkownika "janusz" i dodanie do grupy "lokalna"
29. userdel janusz : Usuwanie użytkownika "janusz"
30. adduser janusz : Dodawanie użytkownika "janusz"
31. usermod : Modyfikacja danych o użytkowniku. M.in. data wygaśnięcia konta, grupa, hasło, uid, odblokowanie konta
32. passwd janusz : Zmiana hasła dla użytkownika "janusz"

Pliki

Komendy pozwalające na operowanie na plikach i katalogach.
33. ls -la : Standardowa komenda do wyświetlania zawartości katalogu. W przełączniku zawarte jest również wyświetlanie ukrytych plików.
34. pwd : Wskazuje aktualny katalog, w którym znajdujemy się.
35. mkdir katalog1 : Tworzenie katalogu.
36. rm plik1 : Usuwanie pliku.
rm -r katalog1 : Usuwanie katalogu z jego zawartością czyli rekursywnie. Polecam jeszcze opcję -f jeżeli będą problemy z usuwaniem.
37. cp plik1 plik2 : Kopiowanie plików z pliku1 do pliku2. Jeżeli plik nie istnieje, utworzy nowy.
cp -r dir1 dir2 : Kopiowanie katalogu z jego zwartością do katalog2. Jeżeli katalog nie istnieje, utworzy nowy.
38. mv file1 file2 : Przenoszenie pliku lub zmiana nazwy.
39. ln -s /sciezka/do/pliku link_symboliczny : Tworzy link symboliczny do pliku.
40. touch plik1 : Tworzy pusty plik o nazwie "plik1"
41. cat plik1 : Wyświetla zawartość pliku w oknie terminala.
42. head plik1 : Wyświetla 10 pierwszych linii z pliku.
43. tail plik1 : Wyświetla 10 ostatnich linii z pliku.
44. gpg -c plik1 : Szyfrowanie pliku
gpg plik1.gpg : Deszyfrowanie pliku
45. cksum plik1 : Sprawdzanie sumy kontrolnej pliku.
46. diff plik1 plik2 : Różnice w zawartości plików plik1 i plik2.
47. sort : Sortowanie plików w kolejności alfabetycznej.
48. wc : Zlicza liczbę słów lub wierszy.
49. dir : Wyświetla zawartość katalogu.

Procesy

Komendy pozwalające na podglądanie i zarządzanie procesami.
50. ps : Wyświetla listę aktywnych procesów.
ps aux | grep 'ssh' : Wyświetla wszystkie powiązania z procesem ssh.
51. top : Wyświetla wszystkie działające procesy, zużycie procesora oraz pamięci.
52. kill pid : Zabija proces. Gdzie pid oznacza numer procesu, np. kill 2938
53. killall proc : Zabija wszystkie procesy o nazwie proc.

Uprawnienia plików/katalogów

Komendy odpowiadające za nadawanie uprawnień oraz zmianę właściciela pliku/katalogu.
54. chmod 777 plik1 : Zmienia uprawnienia na rwx dla właściciela pliku, grupy i innych.
55. chmod 755 plik1 : Zmienia uprawnienia na rwx dla właściciela oraz rx dla grupy i innych.
56. chown marcin plik1 : Zmienia właściciela pliku.
57. chown marcin:grupa_nowa plik1 : Zmienia właściciela i grupę dla pliku.
58. chown marcin:grupa_nowa katalog : Zmienia właściciela i grupę dla katalogu.
59. chgrp grupa_nowa plik1 : Zmienia właściciela w ramach grupy na grupa_nowa dla pliku.

Sieciowe

Komendy umożliwiające edycję oraz podgląd ustawień sieciowych.
60. ifconfig -a : Wyświetla listę interfejsów sieciowych.
61. ifconfig eth0 : Wyświetla szczegóły dla interfejsu eth0 wraz z jego adresem IP.
62. ip addr show : Wyświetla wszystkie interfejsy sieciowe oraz adresy IP.
63. ip address add 192.168.0.1 dev eth0 : Ustawienie adresu IP dla interfejsu eth0.
64. ethtool eth0 : Narzędzie do wyświetlania statusu interfejsu sieciowego.
65. ping host : Narzędzie ping służące do wysyłania żądania echo do docelowego hosta. Klasyczne narzędzie do sprawdzenia czy dany serwer jest osiągalny.
66. host google.com : DNS lookup dla domeny. W tej sytuacji google.com.
67. wget odnosnik : Pobieranie pliku z sieci.
68. netstat -tupl : Wyświetla listę wszystkich nasłuchujących portów.
69. nslookup www.google.pl : Translacja domeny na adres IP.

Archiwa i kompresja plików

Komendy wykorzystywane do kompresji i dekompresji plików.
70. tar cf archiwum1.tar home : Tworzy archiwum tar o nazwie archiwum1 zawierające katalog home/
tar xf archiwum1.tar : Wypakowanie plików z archiwum1
tar czf archiwum1.tar.gz katalog : Tworzy archiwum tar z kompresją gzip
71. gzip plik1 : Kompresja pliku i zmiana jego nazwy na plik1.gz
72. bzip2 -z plik1 : Kompresja pliku i zmiana nazwy na plik1.bz2
bzip2 -d plik1.bz2 : Dekompresja pliku plik1.bz2

Instalacja pakietów

Zarządzanie pakietami w systemie Linux.
73. rpm -i nazwa_pakietu.rpm : Instalacja pakietu rpm
rpm -e nazwa_pakietu : Usuwanie pakietu
74. make : narzędzie do budowania i utrzymania grup programów z plików źródłowych.

Wyszukiwanie plików/katalogów

Komendy te są wykorzystywane do wyszukiwania plików i wzorców.
75. grep moj_wzorzec pliki1 : Wyszukiwanie po moj_wzorzec w pliki1
grep -r moj_wzorzec katalog1 : Wyszukiwanie rekursywne dla moj_wzorzec w katalog1.
76. find /home/marcin -name 'plik*' : Wyszukiwanie plików o nazwie rozpoczynającej się "plik" w katalogu /home/marcin
find /home -size +1000k : Znajdź pliki większe niż 1000k w katalogu /home

Protokół SSH/Telnet

Komendy do łączenia się na inny host.
77. ssh marian@maszyna1 : Połączenie w oparciu o protokół SSH na użytkownika marian do maszyna1.
ssh -p port $ janusz@maszyna2 : Połączenie po SSH ze wskazaniem konkretnego portu.
78. telnet maszyna1 : Połączenie z użyciem narzędzia telnet.

Inny komendy w Linuxie – Jak wykonać zdalnie komendę po SSH?

Komendy w Linuxie - Lista 85

Transfer plików poprzez terminal

Komendy pozwalające na kopiowanie plików z jednego systemu do drugiego.
79. scp plik1.txt maszyna1:/tmp : Bezpieczne kopiowanie plik1.txt do zdalnego hosta maszyna1 do katalogu /tmp
scp uzytkownik@maszyna1:/www/*.pdf /www/tmp : Kopiowanie wszystkich plików *.pdf ze zdalnego hosta do obecnej maszyny do katalogu /www/tmp
scp -r uzytkownik@maszyn1:/www /www/tmp : Kopiowanie wszystkich plików i folderów(rekursywnie) ze zdalnego serwera do obecnej maszyny do katalogu /www/tmp
80. rsync -a /home/apps /backup/ : Synchronizacja między źródłem a miejscem docelowym.
rsync -avz /home/apps $ uzytkownik@192.168.0.12:/backup : Synchronizacja plików/katalogów pomiędzy lokalnym i zdalnym hostem z włączoną kompresją.

Informacje powiązane z dyskami/partycjami

Komendy do uzyskiwania informacji powiązanych z dyskami.
81. df -h : Pokazuje wolną przestrzeń w zamontowanych systemach plików.
82. fdisk -l : Pokazuje partycje dysków wraz z ich rozmiarem oraz typem.
83. du -ah : Pokazuje zajętość katalogu, w którym obecnie znajdujemy się w czytelny sposób.
du -sh : Pokazuje sumaryczną zajętość katalogu, w którym obecnie znajdujemy się.
84. findmnt : Wyświetla wszystkie zamontowane systemy plików w systemie.
85. mount sciezka/do/urzadzenia1 punkt_montowania : Zamontowanie urządzenia pod ścieżką sciezka/do/urzadzenia1 pod punkt_montowania.

Komendy przedstawione powyżej mogą być świetnym elementem uzupełnienia wiedzy dla tych, którzy pracują na co dzień z systemem Linux. Zachęcam również do zmiany przełączników/parametrów celem poznania innych opcji.

Chcesz poćwiczyć na swoim środowisku Linuxa? Skorzystaj z Centos’a – do pobrania tutaj.