Modul 1 · 1.4
Snalaženje u naredbenom retku
Modul 1: Vaš prvi poslužitelj · Vrijeme čitanja: 11 minuta
Cilj učenja: Nakon ove lekcije snaći ćete se na Linux poslužitelju: kretat ćete se kroz mape, čitati i uređivati datoteke, vidjeti koliko je diska i memorije slobodno te sami potražiti pomoć za neku naredbu.
Ključni pojmovi: shell, prompt, mapa i putanja, apsolutna i relativna putanja, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, dopunjavanje tipkom Tab, uname, df, free, uptime, pipe, grep
Shell i prompt
Nakon prijave razgovarate sa shellom: programom koji čita i izvršava Vaše naredbe. Na Debianu i Ubuntuu to je obično bash. Lijevo od kursora nalazi se prompt:
anna@web1:~$
root@web1:~#On Vam govori tri stvari: tko ste (anna ili root), na kojem ste poslužitelju (web1) i u kojoj se mapi nalazite (~ je Vaša vlastita početna mapa). Posljednji znak je važan: $ znači običnog korisnika, # znači root. Vidite li #, svaka se naredba izvršava sa svim ovlastima. Tada tipkajte polako i pažljivo.
Mape i putanje
Sve na Linuxu visi na jednom stablu koje počinje od / (korijenska mapa, ne treba je miješati s korisnikom root). Nekoliko mapa susretat ćete kroz cijeli tečaj:
| Mapa | Što sadrži |
|---|---|
/etc | Konfiguracija: SSH (/etc/ssh), web-poslužitelj (/etc/nginx), korisnici (/etc/passwd) |
/var/log | Datoteke zapisa (uz journal, lekcija 6.2) |
/var/lib | Podaci programa, primjerice baze podataka i Docker |
/home | Početne mape običnih korisnika, kao što je /home/anna |
/root | Početna mapa korisnika root |
/usr | Instalirani programi i biblioteke |
/tmp | Privremene datoteke, redovito se čisti |
/srv ili /var/www | Uobičajeno mjesto za web-stranice i usluge |
Apsolutna putanja počinje od /, primjerice /etc/ssh/sshd_config. Relativna putanja počinje ondje gdje se trenutačno nalazite: ako ste u /etc, onda je ssh/sshd_config ista datoteka. .. je mapa iznad, . trenutačna mapa.
anna@web1:~$ pwd
/home/anna
anna@web1:~$ cd /etc/ssh
anna@web1:/etc/ssh$ ls
moduli ssh_config ssh_config.d sshd_config sshd_config.d ssh_host_ed25519_key ssh_host_ed25519_key.pub ...
anna@web1:/etc/ssh$ cd ..
anna@web1:/etc$ cd
anna@web1:~$cd bez ičega iza vraća Vas u Vašu početnu mapu.
Pregled datoteka
ls -l prikazuje više od samih naziva:
anna@web1:/etc/ssh$ ls -l sshd_config ssh_host_ed25519_key ssh_host_ed25519_key.pub
-rw-r--r-- 1 root root 3248 Aug 12 10:01 sshd_config
-rw------- 1 root root 399 Nov 2 14:20 ssh_host_ed25519_key
-rw-r--r-- 1 root root 91 Nov 2 14:20 ssh_host_ed25519_key.pubS lijeva na desno: prava pristupa, broj poveznica, vlasnik, grupa, veličina u bajtovima, datum i naziv. Uočite razliku: tajni host key (-rw-------) smije čitati samo root, a javni (-rw-r--r--) svatko. U lekciji 3.1 naučit ćete točno čitati ta prava. ls -la prikazuje i skrivene datoteke: nazive koji počinju točkom, kao što je .ssh.
Za čitanje sadržaja:
cat bestand: cijela datoteka odjednom, praktično za kratke datoteke;less bestand: listanje strelicama i razmaknicom, pretraživanje s/woord, izlaz sq;head -n 20 bestanditail -n 20 bestand: prvi ili posljednji redci;tail -fnastavlja pratiti datoteku dok se dodaju novi redci.
Uređivanje datoteke u nanou
Konfiguraciju mijenjate u uređivaču teksta. nano je najjednostavniji:
root@web1:~# nano /etc/hostsNa dnu su prikazani tipkovnički prečaci; ^ znači Ctrl. Spremanje je Ctrl+O i Enter, izlaz Ctrl+X, pretraživanje Ctrl+W. Ako već radite s vim, slobodno ga koristite; vim na minimalnoj instalaciji nije uvijek potpuno spreman.
Tri navike koje će Vam kasnije uštedjeti mnogo muke:
- Najprije napravite kopiju:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. - Testirajte konfiguraciju prije nego što ponovno pokrenete uslugu. Mnogi programi za to imaju vlastitu naredbu:
sshd -t,nginx -t(lekcije 2.2 i 7.2). - Mijenjajte jednu stvar odjednom, kako biste znali što je uzrokovalo pogrešku.
Kakvo je stanje Vašeg poslužitelja?
Nekoliko naredbi koje ćete koristiti u svakoj situaciji:
anna@web1:~$ uname -a
Linux web1 6.12.0-... #1 SMP ... x86_64 GNU/Linux
anna@web1:~$ uptime
10:12:44 up 3 days, 2:10, 1 user, load average: 0.08, 0.05, 0.01
anna@web1:~$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 40G 3.1G 35G 9% /
anna@web1:~$ free -h
total used free shared buff/cache available
Mem: 3.8Gi 412Mi 2.9Gi 1.0Mi 720Mi 3.4Gi
Swap: 0B 0B 0Buname -a: koja jezgra (kernel) radi.uptime: koliko dugo poslužitelj već radi i load average za posljednjih 1, 5 i 15 minuta. Okvirno: opterećenje koje dulje vrijeme premašuje broj procesorskih jezgri znači da procesi čekaju.df -h: slobodan prostor na disku (-hznači "human readable", s G i M). Pun disk jedan je od najčešćih razloga zbog kojih poslužitelj "tek tako" prestane raditi.free -h: memorija. Gledajte stupacavailable, a nefree: Linux slobodnu memoriju koristi kao predmemoriju (buff/cache) i vraća je kad je nekom programu potrebna.
A Vaša mreža, iz lekcije 1.2: ip -brief address.
Pronalaženje pomoći
Ne morate pamtiti sve opcije. Ali morate znati gdje se nalaze:
man sshotvara priručnik (manual page) za naredbu. Listate kao uless, pretražujete s/.man sshd_configopisuje svaku postavku koju možete zadati u toj datoteci.ls --helpkod većine naredbi daje kratak popis opcija.- Tipka Tab dopunjava nazive naredbi i datoteka. Dvostruki Tab prikazuje mogućnosti. Tako izbjegavate tipfelere u dugim putanjama.
- Strelica prema gore vraća prethodne naredbe;
historyprikazuje sve.
Na minimalnoj instalaciji priručnici ponekad nedostaju. Na Debianu i Ubuntuu instalirate ih s apt install man-db (modul 4).
Pipe i grep
Naredbe možete povezati pipeom (|): izlaz jedne naredbe postaje ulaz sljedeće. grep filtrira retke koji sadrže određenu riječ:
anna@web1:~$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
anna@web1:~$ ls -l /etc | lessRedci koji počinju s # su komentari: ne rade ništa i često prikazuju zadanu vrijednost. U lekciji 2.2 vidjet ćete zašto to kod SSH-a može zbuniti.
Zamke
- Lijepljenje bez čitanja. Naredbe s interneta rade točno ono što piše, čak i ako je to nešto drugo od onoga što obećava naslov članka. Pročitajte svaku naredbu prije nego što je izvršite, a pogotovo ako ste root.
rmnema koš za smeće. Obrisano je obrisano. Budite posebno oprezni srm -r(mapa sa svim sadržajem) i sa zamjenskim znakovima kao što je*.- Velika i mala slova su važna.
/etc/SSHne postoji;/etc/sshpostoji. - Razmaci u putanjama moraju biti u navodnicima:
cat "/srv/mijn site/index.html". Još bolje: na poslužitelju ne koristite razmake u nazivima.
Sažetak
- Prompt govori tko ste, na kojem ste poslužitelju i gdje se nalazite;
#znači root. - Konfiguracija je u
/etc, zapisi u/var/log, podaci programa u/var/lib, početne mape u/home. - Čitajte s
cat,less,headitail; uređujte snano, nakon izrade kopije, i testirajte konfiguraciju prije ponovnog pokretanja. df -h,free -h,uptimeiip -brief addresspokazuju kakvo je stanje Vašeg poslužitelja.- Pomoć je u
mani--help; Tab dopunjava; s|igrepfiltrirate izlaz.
Kviz
Zadatak
Zadatak O1.4: Upoznajte svoj poslužitelj. Izvršite naredbe iz lekcije na svojem poslužitelju i upišite: distribuciju i verziju, jezgru (kernel), slobodan prostor na disku, dostupnu memoriju, opterećenje (load), IPv4 i IPv6 te koje datoteke u /etc/ssh može čitati samo root. Zatim odgovorite na dva pitanja o onome što ste vidjeli.
Zadatak O1.4: Upoznajte svoj poslužitelj
Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.
available uključuje i predmemoriju koju Linux oslobađa. Datoteka .pub javni je dio koji vidi svaki klijent; datoteka bez .pub je tajna (600, root), jer se onaj tko je posjeduje može predstavljati kao Vaš poslužitelj.
Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.
Dodatno štivo
- Povećanje diskovnog prostora Vašeg VPS-a
- SSH pristup i Terminal u DirectAdminu: koji paketi i kako se prijaviti
- Debian referenca, poglavlje 1 (priručnik za naredbeni redak): https://www.debian.org/doc/manuals/debian-reference/ch01.en.html
- Filesystem Hierarchy Standard 3.0: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
- Prve naredbe na Vašem VPS-u: upoznavanje s naredbenim retkom
- VPS: od prve prijave do sigurnog poslužitelja 1.4: Konzola: Vaš VPS u pregledniku
