From 8921415eaecebd30ec6a610cd987e8e8ca6c428f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Tue, 19 Jun 2018 10:34:51 +0300 Subject: [PATCH] =?UTF-8?q?Veel=20sed=20k=C3=A4su=20n=C3=A4idiseid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nipid.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/nipid.md b/nipid.md index 740148d..da6ad95 100644 --- a/nipid.md +++ b/nipid.md @@ -10,6 +10,7 @@ Kiirklahvid: * Ctrl-Vasak, Ctrl-Parem - Sõna kaupa navigeerimine käsus * Home, End - Käsu algusess või lõppu navigeerimine + # Käskude taustal käitamine Käsu taustale panemiseks saab vajutada Ctrl-Z ning seejärel anda käsk @@ -19,10 +20,13 @@ bg ``` Käsu taustal käima panemiseks võib käsu lõppu panna & sümboli, -tulemuste ja veateadete salvestamiseks tuleks stdout ja stderr ümber suunata: +tulemuste ja veateadete salvestamiseks tuleks stdout ja stderr ümber suunata. +Lisaks terminali kinni pannes saadetakse kõigile protsessidele SIGHUP signaal +mis ütleb et programmid peaks end sulgema, selleks et seda ei juhtuks peaks +käsu algusesse lisama ka ```nohup```. Kõige komplektsem näide käsu taustal käima panemiseks oleks siis järgnev: ```bash -käsk > /tmp/tulemused 2>/tmp/veateated & +nohup käsk > /tmp/tulemused 2>/tmp/veateated & ``` See väljastab käivitatud protsessi identifikaatori (PID), @@ -60,6 +64,31 @@ Käsk jääb ootama sisendit standardsisendist, st klaviatuur antud juhul. Kopeeri lõik soovitud failist ning aseta PuTTY puhul parema hiireklõpsuga. Vajuta Ctrl-D et lõpetada asetamine. Ctrl-D tähendab käsureal EOF-i (end of file). + +# Screen ja analoogid + +Teine variant käske taustal käitada on teha seda terminali multiplekseri abil +nagu nt screen: + +``` +screen # Avab uue käsurea sessiooni mis jääb taustale käima ka siis + # kui terminal suletakse või SSH ühendus serverisse katkeb +``` + +Screenist lahti haakimiseks tuleb vajutada esmalt Ctrl-A ning seejärel D. +Screeni klahvikombinatsioonid on dokumenteeritud [siin](http://www.pixelbeat.org/lkdb/screen.html) + +Screeni sees käiva käsu külge haakimiseks: + +```bash +screen -r # haagi külge kui ükski muu terminal pole külge haakinud +screen -r -d # haagi lahti teised terminalid +screen -r -x # jäta teised terminalid külge haagituna +``` + +Kui taustal käib mitu screeni sessiooni siis ```-r``` tahab lisaks saada vastava sessiooni protsessi identifikaatorit. + + # Copy-paste EOF markeriga Käivita käsk: @@ -80,6 +109,7 @@ cat << \EOF > failinimi Aseta sisu, kirjuta EOF ning vajuta Enter + # Failide loomine käsuga Juhendite kirjutamisel tuleb abiks kui terve käsk koos sisuga on kopeeritav: @@ -89,3 +119,42 @@ cat << \EOF > failinimi See on faili sisu EOF ``` + + +# Faili sisu muutmine + +Järgnev käsk muudab failis /etc/nsswitch.conf rea mille algus on ```passwd: ``` +reaks ```passwd: compat winbind``` lisades eelmisele reale +kommentaari koos kuupäeva ja vana väärtusega: + +```bash +sed /etc/nsswitch.conf -e "s/^\(passwd: .*\)/# $(date): \1\npasswd: compat winbind\n/" -i +``` + +Järgnev käsk muudab failis /etc/ssh/sshd_config +```PermitRootLogin``` valiku rea alati ```PermitRootLogin yes``` suguseks, +ka siis kui see rida on välja kommenteeritud. +Extended regexiga (-r) saab kasutada küsimärki regexis, +aga backref on ka natuke teistmoodi kirjutatud: + +```bash +sed -r /etc/ssh/sshd_config -e "s/^ *(#? *PermitRootLogin .*)/# $(date): \\1\nPermitRootLogin yes/" -I +``` + +Rekursiivselt vaheta failides ```kati``` välja ```mati``` vastu, +siinkohal ```kati``` on regulaaravaldis: + +```bash +find /tee/kaustani -type f -exec sed -i -e 's/kati/mati/' {} \; +``` + +# Failiõiguste korrastamine + +Eeldusel et kodukataloogi pole ühtegi skripti salvestatud mille execute bit peaks püsti jääma, +saab kodukataloogi failiõigused järgnevalt nulli lasta: + +```bash +find /home/lauri -type f -exec chown lauri:lauri {} \; +find /home/lauri -type f -exec chmod 600 {} \; +find /home/lauri -type d -exec chmod 700 {} \; +```