Modul 1 · 1.4
Prehľad v príkazovom riadku
Modul 1: Váš prvý server · Čas čítania: 11 minút
Cieľ lekcie: Po tejto lekcii sa dokážete zorientovať na Linux serveri: prechádzať priečinkami, čítať a upravovať súbory, zistiť, koľko miesta na disku a pamäte je voľných, a sami si vyhľadať nápovedu k príkazu.
Kľúčové pojmy: shell, prompt, priečinok a cesta, absolútna a relatívna cesta, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, dopĺňanie tabulátorom, uname, df, free, uptime, pipe, grep
Shell a prompt
Po prihlásení komunikujete so shellom: programom, ktorý číta a vykonáva vaše príkazy. Na Debiane a Ubuntu je to zvyčajne bash. Naľavo od kurzora je prompt:
anna@web1:~$
root@web1:~#Prezrádza tri veci: kto ste (anna alebo root), na ktorom serveri (web1) a v ktorom priečinku sa nachádzate (~ je váš domovský priečinok). Dôležitý je posledný znak: $ znamená bežného používateľa, # znamená root. Ak vidíte #, každý príkaz sa vykoná so všetkými právami. Píšte tam pokojne a pozorne.
Priečinky a cesty
Všetko v Linuxe visí na jednom strome, ktorý začína v / (koreňový priečinok, nezamieňajte si ho s používateľom root). S niekoľkými priečinkami sa v tomto kurze stretnete opakovane:
| Priečinok | Čo obsahuje |
|---|---|
/etc | Konfigurácia: SSH (/etc/ssh), webový server (/etc/nginx), používatelia (/etc/passwd) |
/var/log | Logy (popri journale, lekcia 6.2) |
/var/lib | Údaje programov, napríklad databázy a Docker |
/home | Domovské priečinky bežných používateľov, napríklad /home/anna |
/root | Domovský priečinok používateľa root |
/usr | Nainštalované programy a knižnice |
/tmp | Dočasné súbory, priebežne sa mažú |
/srv alebo /var/www | Obvyklé miesto pre webové stránky a služby |
Absolútna cesta začína v /, napríklad /etc/ssh/sshd_config. Relatívna cesta začína tam, kde sa práve nachádzate: ak ste v /etc, potom ssh/sshd_config je ten istý súbor. .. je nadradený priečinok, . aktuálny priečinok.
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 ďalšieho parametra vás vráti do domovského priečinka.
Prezeranie súborov
ls -l ukáže viac než len názvy:
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.pubZľava doprava: práva, počet odkazov, vlastník, skupina, veľkosť v bajtoch, dátum a názov. Všimnite si rozdiel: tajný host key (-rw-------) smie čítať iba root, verejný (-rw-r--r--) ktokoľvek. V lekcii 3.1 sa naučíte tieto práva presne čítať. ls -la zobrazí aj skryté súbory: názvy, ktoré začínajú bodkou, napríklad .ssh.
Na čítanie obsahu:
cat bestand: celý súbor naraz, vhodné pre krátke súbory;less bestand: listovanie šípkami a medzerníkom, hľadanie pomocou/woord, ukončenie klávesomq;head -n 20 bestandatail -n 20 bestand: prvé alebo posledné riadky;tail -fsleduje súbor ďalej, keď pribúdajú riadky.
Úprava súboru v nano
Konfiguráciu upravujete v textovom editore. nano je najjednoduchší:
root@web1:~# nano /etc/hostsV spodnej časti sú klávesové skratky; ^ znamená Ctrl. Uloženie je Ctrl+O a Enter, ukončenie Ctrl+X, hľadanie Ctrl+W. Ak už pracujete s vim, môžete ho používať; vim však pri minimálnej inštalácii nie je vždy k dispozícii v plnej verzii.
Tri návyky, ktoré vám neskôr ušetria veľa trápenia:
- Najprv si urobte kópiu:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. - Otestujte konfiguráciu pred reštartom služby. Mnohé programy na to majú vlastný príkaz:
sshd -t,nginx -t(lekcia 2.2 a 7.2). - Meňte vždy len jednu vec, aby ste vedeli, čo spôsobilo chybu.
V akom stave je váš server?
Niekoľko príkazov, ktoré využijete v každej situácii:
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: ktorý kernel beží.uptime: ako dlho server beží a load average za 1, 5 a 15 minút. Zhruba platí: load, ktorý dlhodobo prevyšuje počet jadier procesora, znamená, že sa čaká.df -h: voľné miesto na disku (-hznamená "human readable", s G a M). Plný disk je jednou z najčastejších príčin, prečo server "len tak" prestane fungovať.free -h: pamäť. Pozerajte sa na stĺpecavailable, niefree: Linux využíva voľnú pamäť ako cache (buff/cache) a vráti ju, keď ju niektorý program potrebuje.
A vaša sieť, z lekcie 1.2: ip -brief address.
Hľadanie nápovedy
Nemusíte si pamätať všetky voľby. Mali by ste však vedieť, kde ich nájdete:
man sshotvorí príručku (manual page) k príkazu. Listuje sa ako vless, hľadá sa pomocou/.man sshd_configopisuje každé nastaviteľné slovo v tomto súbore.ls --helppri väčšine príkazov zobrazí krátky zoznam volieb.- Kláves Tab dopĺňa názvy príkazov a súborov. Dvojité stlačenie Tab zobrazí možnosti. Ušetrí to preklepy v dlhých cestách.
- Šípka nahor vráti predchádzajúce príkazy;
historyzobrazí všetky.
Pri minimálnej inštalácii niekedy príručky chýbajú. Na Debiane a Ubuntu ich nainštalujete príkazom apt install man-db (modul 4).
Pipe a grep
Príkazy môžete spájať pomocou pipe (|): výstup jedného príkazu je vstupom nasledujúceho. grep vyfiltruje riadky, ktoré obsahujú zadané slovo:
anna@web1:~$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
anna@web1:~$ ls -l /etc | lessRiadky, ktoré začínajú znakom #, sú komentáre: nič nerobia a často ukazujú predvolenú hodnotu. V lekcii 2.2 uvidíte, prečo to pri SSH môže byť mätúce.
Úskalia
- Vkladanie bez čítania. Príkazy z internetu urobia presne to, čo v nich je, aj keď je to niečo iné, než sľubuje názov článku. Každý príkaz si pred spustením prečítajte, najmä ak pracujete ako root.
rmnemá kôš. Čo je preč, je preč. Buďte mimoriadne opatrní srm -r(priečinok so všetkým obsahom) a so zástupnými znakmi, napríklad*.- Na veľkých písmenách záleží.
/etc/SSHneexistuje;/etc/ssháno. - Medzery v cestách musia byť v úvodzovkách:
cat "/srv/mijn site/index.html". Lepšie je na serveri v názvoch medzery vôbec nepoužívať.
Zhrnutie
- Prompt prezrádza, kto ste, na ktorom serveri a kde sa nachádzate;
#znamená root. - Konfigurácia je v
/etc, logy v/var/log, údaje programov v/var/lib, domovské priečinky v/home. - Čítajte pomocou
cat,less,headatail; upravujte vnano, až po vytvorení kópie, a pred reštartom otestujte konfiguráciu. df -h,free -h,uptimeaip -brief addressukazujú, v akom stave je váš server.- Nápoveda je v
mana--help; Tab dopĺňa; pomocou|agrepfiltrujete výstup.
Kvíz
Úloha
Úloha O1.4: Spoznajte svoj server. Spustite príkazy z lekcie na svojom serveri a vyplňte: distribúciu a verziu, kernel, voľné miesto na disku, dostupnú pamäť, load, IPv4 a IPv6 a ktoré súbory v /etc/ssh smie čítať iba root. Potom odpovedzte na dve otázky o tom, čo ste videli.
Úloha O1.4: Spoznajte svoj server
Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.
available započítava aj vyrovnávaciu pamäť, ktorú Linux uvoľní. Súbor .pub je verejná časť, ktorú vidí každý klient; súbor bez .pub je tajný (600, root), pretože kto ho má, môže sa vydávať za váš server.
Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.
Ďalšie čítanie
- Zväčšenie diskového priestoru vášho VPS
- SSH prístup a Terminal v DirectAdmin: ktoré balíky ho obsahujú a ako sa prihlásiť
- Debian Reference, kapitola 1 (návod na prácu s príkazovým riadkom): 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
- Prvé príkazy na vašom VPS: prehľad na príkazovom riadku
- VPS: od prvého prihlásenia po bezpečný server 1.4: Konzola: váš VPS v prehliadači
