1. modulis · 1.4
Orientēšanās komandrindā
1. modulis: Jūsu pirmais serveris · Lasīšanas laiks: 11 min.
Mācīšanās mērķis: Pēc šīs nodarbības Jūs spēsiet orientēties Linux serverī: pārvietoties pa mapēm, lasīt un rediģēt failus, redzēt, cik daudz diska vietas un atmiņas ir brīvs, un paši atrast palīdzību par komandu.
Pamatjēdzieni: čaula (shell), uzvedne (prompt), mape un ceļš, absolūtais un relatīvais ceļš, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, Tab papildināšana, uname, df, free, uptime, konveijers (pipe), grep
Čaula un uzvedne
Pēc pieteikšanās Jūs sazināties ar čaulu (shell): programmu, kas nolasa un izpilda Jūsu komandas. Debian un Ubuntu sistēmās tā parasti ir bash. Pa kreisi no kursora redzama uzvedne (prompt):
anna@web1:~$
root@web1:~#Tā pasaka trīs lietas: kas Jūs esat (anna vai root), kurā serverī (web1) un kurā mapē Jūs atrodaties (~ ir Jūsu mājas mape). Svarīga ir pēdējā zīme: $ nozīmē parastu lietotāju, # nozīmē root. Ja redzat #, katra komanda tiek izpildīta ar visām tiesībām. Tad rakstiet nesteidzoties.
Mapes un ceļi
Linux sistēmā viss atrodas vienā kokā, kas sākas ar / (saknes mape, ko nevajag jaukt ar lietotāju root). Dažas mapes šajā kursā sastapsiet atkal un atkal:
| Mape | Kas tajā atrodas |
|---|---|
/etc | Konfigurācija: SSH (/etc/ssh), tīmekļa serveris (/etc/nginx), lietotāji (/etc/passwd) |
/var/log | Žurnālfaili (līdzās žurnālam journal, nodarbība 6.2) |
/var/lib | Programmu dati, piemēram, datubāzes un Docker |
/home | Parasto lietotāju mājas mapes, piemēram, /home/anna |
/root | Lietotāja root mājas mape |
/usr | Instalētās programmas un bibliotēkas |
/tmp | Pagaidu faili, tiek regulāri iztīrīti |
/srv vai /var/www | Ierasta vieta vietnēm un pakalpojumiem |
Absolūtais ceļš sākas ar /, piemēram, /etc/ssh/sshd_config. Relatīvais ceļš sākas tur, kur Jūs pašlaik atrodaties: ja esat mapē /etc, tad ssh/sshd_config ir tas pats fails. .. ir mape virs pašreizējās, . ir pašreizējā mape.
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 nekā aiz tās aizved Jūs atpakaļ uz Jūsu mājas mapi.
Failu apskate
ls -l parāda vairāk nekā tikai nosaukumus:
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.pubNo kreisās uz labo: tiesības, saišu skaits, īpašnieks, grupa, izmērs baitos, datums un nosaukums. Ievērojiet atšķirību: slepeno resursdatora atslēgu (-rw-------) drīkst lasīt tikai root, publisko (-rw-r--r--) ikviens. Nodarbībā 3.1 Jūs iemācīsieties šīs tiesības precīzi nolasīt. ls -la parāda arī slēptos failus: nosaukumus, kas sākas ar punktu, piemēram, .ssh.
Lai lasītu saturu:
cat bestand: viss fails uzreiz, ērti īsiem failiem;less bestand: pārlūkošana ar bultiņām un atstarpes taustiņu, meklēšana ar/woord, iziešana arq;head -n 20 bestanduntail -n 20 bestand: pirmās vai pēdējās rindas;tail -fturpina sekot līdzi, kad pievienojas jaunas rindas.
Faila rediģēšana ar nano
Konfigurāciju maina teksta redaktorā. nano ir visvienkāršākais:
root@web1:~# nano /etc/hostsApakšā redzami īsinājumtaustiņi; ^ nozīmē Ctrl. Saglabāšana ir Ctrl+O un Enter, iziešana Ctrl+X, meklēšana Ctrl+W. Ja jau strādājat ar vim, varat izmantot to; minimālā instalācijā vim ne vienmēr ir pilnībā pieejams.
Trīs ieradumi, kas vēlāk ietaupa daudz nepatikšanu:
- Vispirms izveidojiet kopiju:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. - Pārbaudiet konfigurāciju, pirms restartējat pakalpojumu. Daudzām programmām tam ir sava komanda:
sshd -t,nginx -t(nodarbība 2.2 un 7.2). - Mainiet vienu lietu vienlaikus, lai zinātu, kas izraisīja kļūdu.
Kāds ir Jūsu servera stāvoklis?
Dažas komandas, kuras izmantosiet jebkurā situācijā:
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: kurš kodols (kernel) darbojas.uptime: cik ilgi serveris jau darbojas un vidējā slodze (load average) par 1, 5 un 15 minūtēm. Aptuveni: ja slodze ilgstoši pārsniedz procesora kodolu skaitu, procesiem nākas gaidīt.df -h: brīvā diska vieta (-hnozīmē "human readable", ar G un M). Pilns disks ir viens no biežākajiem iemesliem, kāpēc serveris "pēkšņi" pārstāj darboties.free -h: atmiņa. Skatieties kolonnuavailable, nevisfree: Linux izmanto brīvo atmiņu kā kešatmiņu (buff/cache) un atdod to, kad programmai tā ir vajadzīga.
Un Jūsu tīkls no nodarbības 1.2: ip -brief address.
Palīdzības atrašana
Jums nav jāatceras visas opcijas. Taču jāzina, kur tās atrast:
man sshatver komandas rokasgrāmatu (manual page). Pārlūkošana kā arless, meklēšana ar/.man sshd_configapraksta katru iestatāmo vārdu šajā failā.ls --helplielākajai daļai komandu parāda īsu opciju sarakstu.- Tab taustiņš papildina komandu un failu nosaukumus. Divreiz nospiežot Tab, tiek parādītas iespējas. Tas novērš drukas kļūdas garos ceļos.
- Bultiņa uz augšu atsauc iepriekšējās komandas;
historyparāda tās visas.
Minimālā instalācijā rokasgrāmatas dažkārt trūkst. Debian un Ubuntu sistēmās tās var instalēt ar apt install man-db (modulis 4).
Konveijeri un grep
Komandas var savienot ar konveijeru (pipe, |): vienas komandas izvade kļūst par nākamās ievadi. grep atlasa rindas, kurās ir kāds vārds:
anna@web1:~$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
anna@web1:~$ ls -l /etc | lessRindas, kas sākas ar #, ir komentāri: tās neko nedara un bieži parāda noklusējuma vērtību. Nodarbībā 2.2 redzēsiet, kāpēc tas SSH gadījumā var mulsināt.
Slazdi
- Ielīmēšana bez izlasīšanas. Komandas no interneta dara tieši to, kas tajās rakstīts, arī tad, ja tas atšķiras no tā, ko sola raksta virsraksts. Izlasiet katru komandu, pirms to izpildāt, un it īpaši tad, ja strādājat kā root.
rmnav atkritnes. Izdzēsts ir izdzēsts. Esiet īpaši uzmanīgi arrm -r(mape ar visu tās saturu) un ar aizstājējzīmēm, piemēram,*.- Lielajiem burtiem ir nozīme.
/etc/SSHneeksistē;/etc/sshgan. - Atstarpes ceļos jāliek pēdiņās:
cat "/srv/mijn site/index.html". Vēl labāk: serverī neizmantojiet atstarpes nosaukumos.
Kopsavilkums
- Uzvedne pasaka, kas Jūs esat, kurā serverī un kur;
#nozīmē root. - Konfigurācija atrodas
/etc, žurnāli/var/log, programmu dati/var/lib, mājas mapes/home. - Lasiet ar
cat,less,headuntail; rediģējiet arnanopēc kopijas izveides un pārbaudiet konfigurāciju pirms restartēšanas. df -h,free -h,uptimeunip -brief addressparāda, kāds ir Jūsu servera stāvoklis.- Palīdzība atrodama
manun--help; Tab papildina; ar|ungrepJūs filtrējat izvadi.
Tests (quiz)
Uzdevums
Uzdevums O1.4: Iepazīstiet savu serveri. Izpildiet nodarbības komandas savā serverī un aizpildiet: distribūcija un versija, kodols, brīvā diska vieta, pieejamā atmiņa, slodze, IPv4 un IPv6, kā arī kurus failus mapē /etc/ssh var lasīt tikai root. Pēc tam atbildiet uz diviem jautājumiem par redzēto.
Uzdevums O1.4: Iepazīstiet savu serveri
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
available ieskaita arī kešatmiņu, ko Linux atbrīvo. Fails .pub ir publiskā daļa, ko redz katrs klients; fails bez .pub ir slepens (600, root), jo tas, kuram tas ir, var uzdoties par Jūsu serveri.
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Vairāk lasīt
- Jūsu VPS diska vietas palielināšana
- SSH piekļuve un Terminal DirectAdmin vidē: kurās paketēs tie pieejami un kā Jūs varat pieteikties
- Debian rokasgrāmata, 1. nodaļa (komandrindas pamācība): 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
- Pirmās komandas Jūsu VPS: iepazīšanās ar komandrindu
- VPS: no pirmās pieteikšanās līdz drošam serverim 1.4: Konsole: Jūsu VPS pārlūkprogrammā
