Podstawowe komendy w systemach Linux

Zacznij przygodę z administracją


img

Dowiesz się: Jak zalogować i poruszać się po serwerze. Jak wykonać operacje na plikach, katalogach i użytkownikach. Aktualizacje systemu, instalacje oprogramowania i monitoring usług serwera Linux.

Dla systemu operacyjnego: Linux Debian RHEL

Logowanie

Aby zalogować się na serwer linux (np. VPS) należy zaopatrzyć się w klienta SSH. Osobiście preferuję PuTTy.

Wpisujemy IP serwera:

I klikamy na przycisk Open znajdujący się w dolnej części programu.
Po uruchomieniu wyświetli nam się prośba o podanie loginu. Standardowo po instalacji serwera dostajemy konto root (super użytkownika). Wpisujemy w polu login as: root i klikamy enter. Następnie wpisujemy hasło.
Uwaga: hasło nie wyświetla się w programie. Jest to spowodowane kwestiami bezpieczeństwa.

Po zalogowaniu jesteśmy już w „systemie” i możemy korzystać z naszego serwera.

Poruszanie się po katalogach

podstawowe komendy do poruszania się w systemie:

cd /home – (/home – katalog) komenda ta służy do „wejścia” do danego katalogu. W tym przykładzie do katalogu /home.
cd .. – cofamy się o jeden katalog.
pwd – zwraca katalog, w którym obecnie się znajdujemy
dir – wyświetla nam zawartość katalogu
ls – j.w

 

root@srv1 ~]# cd /home
[root@srv1 home]# cd ..
[root@srv1 /]# pwd
/
[root@srv1 /]# dir        
[root@srv1 /]# ls

Tworzenie, edycja i kasowanie plików / folderów

mkdir nazwa – tworzymy katalog.
rm nazwa – usuwamy plik.
rm -rf nazwa lub rmdir– usuwamy katalog.
cp nazwa nowy-plik – kopiujemy plik.
mv nazwa nowy-folder – przenosimy plik (może również służyć do zmiany nazwy).
touch – tworzymy nowy plik tekstowy.

 

[root@srv1 /]# cd /root
[root@srv1 ~]# pwd
/root
[root@srv1 ~]# mkdir temp
[root@srv1 ~]# cd temp/
[root@srv1 temp]# touch plik.txt
[root@srv1 temp]# ls
plik.txt
[root@srv1 temp]# mv plik.txt rzeczy.txt
[root@srv1 temp]# ls
rzeczy.txt
[root@srv1 temp]#

Prawa do plików

chmod xxx plik (xxx – cyfry) – zmiana praw do plików/katalogów (przykłady na końcu artykułu).
chown user plik – zmiana właściciela pliku / katalogu
chgrp grupa plik – zmiana grupy pliku / katalogu

Ciekawostki:
chmod 777 * – *-zastępuje nazwę pliku. Oznacza że komenda zostanie użyta dla wszystkich plików w danym katalogu.
Chmod 777 *plik – komenda ta zastosuje się dla wszystkich plików / katalogów, których nazwa kończy się na „plik”. Początkowy człon nazwy może być dowolny. Można również stosować to do formatów plików. Np. *.zip, *.sql, *.rar.
Chown test katalog -R – komenda ta zmieni właściciela katalogu „katalog” wraz z jego zawartością na użytkownika test.

 

[root@srv1 temp]# ls -la
total 4
drwxr-xr-x   2 root root   23 Jun  6 15:51 .
dr-xr-x---. 16 root root 4096 Jun  6 15:50 ..
-rw-r--r--   1 root root    0 Jun  6 15:50 rzeczy.txt
[root@srv1 temp]# chmod 600 rzeczy.txt
[root@srv1 temp]# ls -la
total 4
drwxr-xr-x   2 root root   23 Jun  6 15:51 .
dr-xr-x---. 16 root root 4096 Jun  6 15:50 ..
-rw-------   1 root root    0 Jun  6 15:50 rzeczy.txt

Tworzenie, edycja, kasowanie użytkowników

adduser nazwa – tworzenie użytkownika.
useradd nazwa – tworzenie użytkownika.
userdel nazwa – kasowanie użytkownika.
passwd nazwa – zmiana hasła użytkownika.
groupadd nazwa – tworzenie grupy dla użytkowników.
groupdel nazwa – kasowanie grupy dla użytkowników.
who – sprawdzamy kto jest zalogowany
whoami – sprawdzamy na jakie konto jesteśmy zalogowani
su nazwa-usera – zmiana użytkownika
logout – wylogowujemy się

Inne komendy:
shutdown – wyłączanie systemu
reboot – restart systemu

Aktualizacja systemu

Debian / Ubuntu
apt-get update
apt-get upgrade
lub
sudo apt-get update
sudo apt-get upgrade

*sudo jest to komenda pozwalająca wykonać zadanie z uprawnieniami root

CentOS
yum update

 

[root@srv1 temp]# yum update
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: centos.slaskdatacenter.com
 * epel: ftp.icm.edu.pl
 * extras: centos.slaskdatacenter.com
 * rpmforge: ftp.nluug.nl
 * updates: ftp.icm.edu.pl
4 packages excluded due to repository priority protections
No packages marked for update
[root@srv1 temp]#

Instalacja programów

Instalacja programów Debian/Ubuntu:

apt-get install nazwa-programu
sudo apt-get install nazwa-programu

Instalacja programów CentOS:

yum install nazwa-programu

Kasowanie programów Debian/Ubuntu:

apt-get remove nazwa-programu
sudo apt-get remove nazwa-programu

Kasowanie programów CentOS:
yum remove nazwa-programu

Podstawowe monitorowanie pracy serwera

(lista programów i komend. Niektóre mogą wymagać instalacji)

top – program który pokaże nam zużycie procesora, pamięci ram oraz ilość procesów. Można również wyśledzić który proces pochłania nam najwięcej zasobów.

htop – nakładka graficzna na program top. Znacznie wygodniejszy w korzystaniu od programu top.

df -h – komenda ta pokaże nam ilość użytego/wolnego miejsca na dyskach.

du -h /katalog – komenda podsumuje nam ile zajmuje dany katalog

vmstat – użycie pamięci, iowait, cpu

vnstat – program do monitorowania ruchu sieciowego

 

[root@srv1 /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   41G  3.8G   37G  10% /
devtmpfs                  24G     0   24G   0% /dev
tmpfs                     24G     0   24G   0% /dev/shm
tmpfs                     24G  289M   24G   2% /run
tmpfs                     24G     0   24G   0% /sys/fs/cgroup
/dev/md0                 202G  1.9G  190G   1% /home
/dev/sde1                497M  251M  246M  51% /boot
tmpfs                    4.7G     0  4.7G   0% /run/user/1000
tmpfs                    4.7G     0  4.7G   0% /run/user/0
[root@srv1 /]#

 

Diagnostyka

ping – program, którym testujemy czas odpowiedzi serwera. Pozwala zdiagnozować problemy z hostami, czasem odpowiedzi czy nawet statusem serwera.
traceroute – tym programem testujemy „ścieżkę” do serwera. Pozwoli zdiagnozować problemy „na trasie” do serwera.
mtr – jest to program bardzo podobny do traceroute / tracert. Program cechuje się tym że pokazuje prócz ścieżki do serwera ilość pakietów oraz gdzie są wytracane (czy po drodze czy na serwerze końcowym)
whois – aplikacja ta pozwala nam uzyskać informacje m.in. O serwerach DNS domeny, firmie która jest zarejestrowana oraz o firmie która jest właścicielem danego adresu IP.

 

[root@srv1 /]# ping google.com
PING google.com (172.217.20.206) 56(84) bytes of data.
64 bytes from waw02s08-in-f206.1e100.net (172.217.20.206): icmp_seq=1 ttl=56 time=23.8 ms
64 bytes from waw02s08-in-f206.1e100.net (172.217.20.206): icmp_seq=2 ttl=56 time=22.7 ms
64 bytes from waw02s08-in-f206.1e100.net (172.217.20.206): icmp_seq=3 ttl=56 time=25.2 ms
64 bytes from waw02s08-in-f206.1e100.net (172.217.20.206): icmp_seq=4 ttl=56 time=22.8 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3016ms
rtt min/avg/max/mdev = 22.722/23.688/25.246/1.021 ms
[root@srv1 /]#

 


Czytaj kolejne poradniki