1 modulis · 1.4
Apsižvalgymas komandų eilutėje
1 modulis: Jūsų pirmasis serveris · Skaitymo laikas: 11 min.
Mokymosi tikslas: Po šios pamokos galėsite orientuotis Linux serveryje: vaikščioti po aplankus, skaityti ir redaguoti failus, matyti, kiek laisvos disko vietos ir atminties yra, ir patys susirasti pagalbą apie komandą.
Pagrindinės sąvokos: apvalkalas (shell), raginimas (prompt), aplankas ir kelias, absoliutus ir santykinis kelias, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, automatinis papildymas klavišu Tab, uname, df, free, uptime, konvejeris (pipe), grep
Apvalkalas ir raginimas
Prisijungę Jūs bendraujate su apvalkalu (shell): programa, kuri skaito ir vykdo Jūsų komandas. Debian ir Ubuntu sistemose tai dažniausiai yra bash. Kairėje nuo žymeklio matomas raginimas (prompt):
anna@web1:~$
root@web1:~#Jis parodo tris dalykus: kas Jūs esate (anna arba root), kuriame serveryje (web1) ir kuriame aplanke esate (~ yra Jūsų namų aplankas). Paskutinis ženklas svarbus: $ reiškia įprastą naudotoją, # reiškia root. Jei matote #, kiekviena komanda vykdoma su visomis teisėmis. Tad rašykite neskubėdami.
Aplankai ir keliai
Viskas Linux sistemoje kabo ant vieno medžio, kuris prasideda nuo / (šakninis aplankas, nepainiokite su naudotoju root). Kai kuriuos aplankus šiame kurse sutiksite nuolat:
| Aplankas | Kas jame yra |
|---|---|
/etc | Konfigūracija: SSH (/etc/ssh), žiniatinklio serveris (/etc/nginx), naudotojai (/etc/passwd) |
/var/log | Žurnalų failai (be journal, pamoka 6.2) |
/var/lib | Programų duomenys, pavyzdžiui, duomenų bazės ir Docker |
/home | Įprastų naudotojų namų aplankai, pavyzdžiui, /home/anna |
/root | Naudotojo root namų aplankas |
/usr | Įdiegtos programos ir bibliotekos |
/tmp | Laikini failai, jie išvalomi |
/srv arba /var/www | Įprasta vieta svetainėms ir paslaugoms |
Absoliutus kelias prasideda nuo /, pavyzdžiui, /etc/ssh/sshd_config. Santykinis kelias prasideda ten, kur esate dabar: jei esate /etc, tai ssh/sshd_config yra tas pats failas. .. yra aukštesnis aplankas, . yra dabartinis aplankas.
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 be jokio argumento grąžina Jus į namų aplanką.
Failų peržiūra
ls -l parodo daugiau nei vien pavadinimus:
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.pubIš kairės į dešinę: teisės, nuorodų skaičius, savininkas, grupė, dydis baitais, data ir pavadinimas. Atkreipkite dėmesį į skirtumą: slaptąjį serverio raktą (-rw-------) gali skaityti tik root, viešąjį (-rw-r--r--) gali skaityti visi. Pamokoje 3.1 išmoksite tiksliai skaityti šias teises. ls -la rodo ir paslėptus failus: pavadinimus, prasidedančius tašku, pavyzdžiui, .ssh.
Turiniui skaityti:
cat bestand: visas failas iš karto, patogu trumpiems failams;less bestand: vartymas rodyklėmis ir tarpo klavišu, paieška su/woord, išėjimas suq;head -n 20 bestandirtail -n 20 bestand: pirmosios arba paskutinės eilutės;tail -ftoliau stebi, kai atsiranda naujų eilučių.
Failo redagavimas su nano
Konfigūraciją keičiate teksto redaktoriumi. nano yra paprasčiausias:
root@web1:~# nano /etc/hostsApačioje matomi spartieji klavišai; ^ reiškia Ctrl. Išsaugoti: Ctrl+O ir Enter, išeiti: Ctrl+X, ieškoti: Ctrl+W. Jei jau dirbate su vim, galite juo naudotis; minimalioje sistemoje vim ne visada būna visiškai paruoštas.
Trys įpročiai, kurie vėliau apsaugos nuo daugybės bėdų:
- Pirmiausia pasidarykite kopiją:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. - Patikrinkite konfigūraciją prieš paleisdami paslaugą iš naujo. Daugelis programų tam turi savo komandą:
sshd -t,nginx -t(pamokos 2.2 ir 7.2). - Keiskite po vieną dalyką, kad žinotumėte, kas sukėlė klaidą.
Kokia Jūsų serverio būklė?
Kelios komandos, kurias naudosite bet kokioje situacijoje:
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: koks branduolys (kernel) veikia.uptime: kiek laiko serveris jau veikia ir apkrovos vidurkis (load average) per 1, 5 ir 15 minučių. Apytiksliai: jei apkrova ilgą laiką viršija procesoriaus branduolių skaičių, vadinasi, procesai laukia eilėje.df -h: laisva disko vieta (-hreiškia „human readable“, su G ir M). Pilnas diskas yra viena dažniausių priežasčių, kodėl serveris „be priežasties“ nustoja veikti.free -h: atmintis. Žiūrėkite į stulpelįavailable, nefree: Linux naudoja laisvą atmintį kaip podėlį (buff/cache) ir ją atiduoda, kai jos prireikia programai.
O tinklą, kaip pamokoje 1.2: ip -brief address.
Pagalbos paieška
Jums nereikia įsiminti visų parinkčių. Tačiau reikia žinoti, kur jas rasti:
man sshatveria komandos vadovą (manual page). Vartoma kaip suless, ieškoma su/.man sshd_configaprašo kiekvieną to failo nustatymą.ls --helpdaugumai komandų pateikia trumpą parinkčių sąrašą.- Tab klavišas papildo komandų ir failų pavadinimus. Dukart paspaudus Tab, parodomos galimybės. Tai padeda išvengti rašybos klaidų ilguose keliuose.
- Rodyklė aukštyn grąžina ankstesnes komandas;
historyparodo jas visas.
Minimalioje sistemoje vadovų kartais nėra. Debian ir Ubuntu sistemose juos įdiegsite su apt install man-db (modulis 4).
Konvejeriai ir grep
Komandas galite sujungti konvejeriu (pipe, |): vienos komandos išvestis tampa kitos įvestimi. grep atrenka eilutes, kuriose yra tam tikras žodis:
anna@web1:~$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
anna@web1:~$ ls -l /etc | lessEilutės, prasidedančios #, yra komentarai: jos nieko nedaro ir dažnai rodo numatytąją reikšmę. Pamokoje 2.2 pamatysite, kodėl su SSH tai gali klaidinti.
Spąstai
- Įklijavimas neperskaičius. Komandos iš interneto daro būtent tai, kas parašyta, net jei tai skiriasi nuo to, ką žada straipsnio pavadinimas. Perskaitykite kiekvieną komandą prieš ją vykdydami, ypač jei esate root.
rmneturi šiukšlinės. Kas ištrinta, to nebėra. Būkite ypač atsargūs surm -r(aplankas su visu turiniu) ir su pakaitos simboliais, tokiais kaip*.- Didžiosios raidės svarbios.
/etc/SSHneegzistuoja;/etc/sshegzistuoja. - Tarpai keliuose turi būti kabutėse:
cat "/srv/mijn site/index.html". Dar geriau: serveryje pavadinimuose tarpų nenaudokite.
Santrauka
- Raginimas parodo, kas Jūs esate, kuriame serveryje ir kur;
#reiškia root. - Konfigūracija yra
/etc, žurnalai/var/log, programų duomenys/var/lib, namų aplankai/home. - Skaitykite su
cat,less,headirtail; redaguokite sunano, pasidarę kopiją, ir patikrinkite konfigūraciją prieš paleisdami iš naujo. df -h,free -h,uptimeirip -brief addressparodo, kokia Jūsų serverio būklė.- Pagalba yra
manir--help; Tab papildo; su|irgrepfiltruojate išvestį.
Testas (quiz)
Užduotis
Užduotis O1.4: Susipažinimas su serveriu. Įvykdykite šios pamokos komandas savo serveryje ir užpildykite: distribuciją ir versiją, branduolį, laisvą disko vietą, prieinamą atmintį, apkrovą, IPv4 ir IPv6 bei kuriuos /etc/ssh failus gali skaityti tik root. Po to atsakykite į du klausimus apie tai, ką pamatėte.
Užduotis O1.4: Susipažinimas su serveriu
Šią užduotį atliekate patys; niekas jos netikrina. Pažymėkite, ką atlikote, ir pažymėkite užduotį kaip atliktą.
available taip pat įskaičiuoja podėlio (cache) atmintį, kurią Linux atlaisvina. Failas .pub yra viešoji dalis, kurią mato kiekvienas klientas; failas be .pub yra slaptas (600, root), nes tas, kas jį turi, gali apsimesti Jūsų serveriu.
Jūsų pažymėti varneliai ir pastabos lieka tik šioje naršyklėje; niekur jų nesiunčiame. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotį atlikote.
Skaitykite daugiau
- Jūsų VPS disko vietos padidinimas
- SSH prieiga ir Terminal DirectAdmin aplinkoje: kuriuose paketuose ji galima ir kaip prisijungti
- Debian žinynas, 1 skyrius (komandų eilutės vadovas): 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
- Pirmosios komandos Jūsų VPS: apsižvalgymas komandinėje eilutėje
- VPS: nuo pirmojo prisijungimo iki saugaus serverio 1.4: Konsolė: Jūsų VPS naršyklėje
