Przydatne komendy z Linuxa – Top 10

przydatne komendy w systemie debian linux

Debian to obecnie jedne z najbardziej popularnych distro jeśli chodzi o system Linux Komendy. Potrzebne nam nieraz do pracy komendy z Linuxa wcale nie są trudne. Często jednak zainstalowanie czy używanie Linuxa zniechęca nowych adeptów, głównie z uwagi na konieczność wykonywania podstawowych komend administracyjnych. Oczywiście dostępnych jest wiele znakomitych nakładek graficznych takich jak np. KDE czy Gnome.

Komendy z Linuxa przydatne dla każdego

Oprócz nakładek GUI warto jednak posiadać podstawowe umiejętności pracy w konsoli. Dlaczego? Otóż może nam się to przydać do sprawnej i szybkiej administracji, oraz pracy zdalnej. Dzięki połączeniu SSH możemy połączyć się ze swoim komputerem (lub innym serwerem) i zdalnie zarządzać systemem.

Komendy z Linuxa – Top 10 przydatnych dla każdego komend

01. top

Przydatne komendy z Linuxa - Top 10
top w systemie Debian

top pozwala nam podejrzeć aktualną zajętość systemu poprzez procesy, wykorzystanie pamięci wirtualnej oraz CPU. Możemy sprawdzić takie wartości jak dostępna pamięć RAM, który użytkownik generuje obciążenie maszyny, lub jaki proces zabiera najwięcej zasobów.

02. ls

Czyli po prostu directory listing. Używając dodatkowo parametru

ls -la

Otrzymamy kompletny widok wraz z rozmiarem plików, daty utworzenia, właścicielem i prawami chmod.

drwxr-xr-x 12 serwer111686 serwer111686 4096 Oct 12 11:44 public_html -rw-r--r-- 1 serwer111686 serwer111686 7254 Sep 21 14:05 queue.log -rw-r--r-- 1 serwer111686 serwer111686 87 Sep 25 16:58 screen.php -rw-r--r-- 1 serwer111686 serwer111686 66 Sep 15 13:28 .selected_editor drwxr-xr-x 2 serwer111686 serwer111686 4096 Oct 12 18:18 tmp -rw-r--r-- 1 serwer111686 serwer111686 180 Sep 15 10:44 .wget-hsts -rw-r--r-- 1 serwer111686 serwer111686 661 Oct 3 19:03 wget-log -rw-r--r-- 1 serwer111686 serwer111686 665 Oct 3 19:06 wget-log.1 -rw-r--r-- 1 serwer111686 serwer111686 665 Oct 3 19:07 wget-log.2 -rw-r--r-- 1 serwer111686 serwer111686 1024 Oct 3 19:05 .wget-log.swp
Code language: CSS (css)

03. apt-get – komendy z Linuxa do pobierania pakietów

apt-get to debianowa wersja instalatora pakietów. Dzięki niemu możemy dodawać do naszego systemu nowe programy i komendy. Oczywiście istnieje kilka innych sposobów na dodanie programu do Debiana, ale ten wydaje się najbardziej popularny i łatwy w użyciu.

Podstawowa składnia to

apt-get install nazwa_pakietu
Code language: JavaScript (javascript)

System samodzielnie odszuka konkretny pakiet i wykona instalację. Podobnie, aby usunąć wybrany pakiet, korzystamy z komendy

apt-get remove nazwa_pakietu
Code language: JavaScript (javascript)

04. screen

GNU screen pozwala nam na uruchomienie procesu w tle. Dzięki temu, nawet gdy wylogujemy się z maszyny pozostawione zadanie zostanie aktywne. Może być to przydatne w przypadku komend, które wykonują się bardzo długo, a my nie mamy pewności, czy nasze połączenie SSH utrzyma się. Screen wykorzystywany jest również np. przez boty IRC oraz serwery gier. Przykład zastosowania:

screen -S nazwaSesji top -d -r

Dodatek opcji -d -r (detach, reattach) powoduje, że sesja startuje od razu jako detached (odłożona – nie musimy już być aktywni w konsoli z tym procesem). Aby z powrotem wrócić w konsoli do kontroli nad daną sesją wpisujemy

screen -r

otrzymamy listę wszystkich aktualnie zdetachowanych procesów. Gdy znamy PID lub nazwę sesji

screen -r nazwaSesji lub screen -r PID

05. zip/unzip Linux komendy do pakowania plików

Przydatne podczas pakowania i rozpakowania plików lub całych folderów. W przypadku pakowania:

zip Nazwa.zip Plik.jpg
Code language: CSS (css)

Jeżeli chcemy spakować cały folder:

zip -r Nazwa.zip /sciezkadofolderu/*

Rozpakowanie pliku jest dość proste, przechodzimy do folderu w którym znajduje się archiwum (np. poleceniem cd /sciezka/) i wpisujemy

unzip NazwaArchiwum.zip
Code language: CSS (css)

Wszystkie pliki zostaną wypakowane do bieżącego folderu. Jeżeli chcemy wypakować do innego folderu:

unzip archiwum.zip -d nowyfolder
Code language: CSS (css)

06. man – Linux komendy do instrukcji programów

Jest to dość banalne, bo po prostu wyświetla dokumentację dla danej komendy, jednak bardzo przydatne, gdy zapomnimy o składni wywołania lub dostępnych parametrach.

man screen SCREEN(1) General Commands Manual SCREEN(1) NAME screen - screen manager with VT100/ANSI terminal emulation SYNOPSIS screen [ -options ] [ cmd [ args ] ] screen -r [[pid.]tty[.host]] screen -r sessionowner/[[pid.]tty[.host]]
Code language: JavaScript (javascript)

07. pico Linux komendy edycja tekstu

pico i nano to podstawowe, proste w użyciu edytory tekstu w systemach unix. Możemy dzięki nim w prosty sposób wyszukać dany ciąg, zastąpić lub po prostu edytować plik.

pico nazwapliku.txt
Code language: CSS (css)

08. mkdir

Tworzy nowy folder. Wywołanie:

mkdir nazwafolderu Usage: mkdir [OPTION]... DIRECTORY... Create the DIRECTORY(ies), if they do not already exist. Mandatory arguments to long options are mandatory for short options too. -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z set SELinux security context of each created directory to the default type --context[=CTX] like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX --help display this help and exit --version output version information and exit
Code language: PHP (php)

09. crontab

crontab (zwany popularnie jako cron) pozwala na planowe uruchamianie konkretnych zadań w wyznaczonym czasie, w sposób powtarzalny, lub jednorazowy. Aby dodać nowe zadanie do crona, musimy edytować plik crontab. Najprościej zrobimy to poleceniem

crontab -e

W domyślnym edytorze, który mamy zdefiniowany w systemie otworzy nam się plik zadań crontab. Jego struktura wygląda następująco:

# To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
Code language: PHP (php)

Jak widzimy każde zadanie dodajemy w nowym wierszu. Wiersze zaczynające się od # to komentarze – nie są brane pod uwagę podczas pracy crona.

Pierwsze pole to minuta, drugie: godzina, trzecie: dzień, czwarte: miesiąc, piąte: dzień tygodnia, następnie występuje komenda do wykonania. Przykład zastosowania crona do uruchomienia skryptu php co 2 godziny:

1 * * * * /usr/local/lib/php /www/skrypty/cron.php
Code language: JavaScript (javascript)

W tym przypadku zadanie wykona się w pierwszej minucie każdej godziny. Gdybyśmy chcieli na przykład uruchomić skrypt co 15 minut, ale tylko w godzinach od 18 do 22:

*/15 18-22 * * * /usr/local/lib/php /www/skrypty/cron.php
Code language: JavaScript (javascript)

Warto również dodać, że zadania crona są logowane, a rezultat wykonania trafia do plików. Jeśli nie chcemy tego, wystarczy, że na końcu każdego zadania dodamy

<strong>> /dev/null 2>&1</strong>
Code language: HTML, XML (xml)

10. ps, ps -x

ps -x

Wyświetla listę aktualnie uruchomionych procesów. Podobnie jak w systemie Windows mamy Task Managera, to tutaj możemy podejrzeć uruchomione zadania stosując komendę ps.

11. pwd – aktualny katalog roboczy

Komenda pwd pozwoli nam uzyskać informacje na temat tego, w jakim aktualnie katalogu się znajdujemy

pwd # My result: /home/droidmag/Documents/linux-commands
Code language: PHP (php)

12. cp – kopiowanie plików i folderów

Za pomocą polecenia cp łatwo skopiujemy pliki z jednego miejsca na inne. Polecenie kopiuje pliki oraz całe katalogi. Jako pierwszy parametr podajemy plik źródłowy, a jako drugi – plik docelowy.

cp file_to_copy.txt new_file.txt
Code language: CSS (css)

Aby skopiować cały folder, stosujemy znacznik -r

cp -r dir_to_copy/ new_copy_dir/

Linux komendy przydatne podczas pracy

I tak oto dotarliśmy do końca. Oczywiście przydatnych komend jest znacznie znacznie więcej, zachęcam do przejrzenia manuala we własnym zakresie.


Programista, admin, czasami kucharz.