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

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.
Odpowiedz