4 hyödyllistä vinkkiä mkdir-, tar- ja kill-komentoihin Linuxissa


Jatkamme tehtävän suorittamista tavanomaisesti, kunnes ymmärrämme, että se voidaan tehdä paljon paremmin toisella tavalla. Jatkaksemme Linux-vinkki- ja temppusarjaamme, olen täällä alla olevien neljän vinkin kanssa, jotka auttavat sinua monin tavoin. Nyt sitä mennään!

1. Sinun pitäisi luoda pitkä/monimutkainen hakemistopuu, joka on samanlainen kuin alla on annettu. Mikä on tehokkain tapa saavuttaa tämä?

Hakemistopuurakenne saavutettava alla ehdotetulla tavalla.

cd /home/$USER/Desktop
mkdir tecmint
mkdir tecmint/etc
mkdir tecmint/lib
mkdir tecmint/usr
mkdir tecmint/bin
mkdir tecmint/tmp
mkdir tecmint/opt
mkdir tecmint/var
mkdir tecmint/etc/x1
mkdir tecmint/usr/x2
mkdir tecmint/usr/x3
mkdir tecmint/tmp/Y1
mkdir tecmint/tmp/Y2
mkdir tecmint/tmp/Y3
mkdir tecmint/tmp/Y3/z

Yllä oleva skenaario voidaan yksinkertaisesti saavuttaa suorittamalla alla oleva 1-liner-komento.

mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

Vahvistaaksesi voit käyttää puu-komentoa. Jos et ole asennettu, voit apt tai yum paketin tree.

tree tecmint

Voimme luoda minkä tahansa monimutkaisen hakemistopuurakenteen yllä olevalla tavalla. Huomaa, että se ei ole muuta kuin normaali komento, vaan se käyttää {}-komentoa hakemistohierarkian luomiseen. Tämä voi osoittautua erittäin hyödylliseksi, jos sitä käytetään komentotulkkikomentosarjan sisältä tarvittaessa ja yleensä.

2. Luo tiedosto (sanotaan testi) työpöydällesi (/home/$USER/Desktop) ja täytä se alla olevalla sisällöllä.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Mitä tavallinen käyttäjä tekisi tässä tilanteessa?

a. Hän luo tiedoston ensin mieluiten kosketuskomennolla seuraavasti:

touch /home/$USER/Desktop/test

b. Hän avaa tiedoston tekstieditorilla, joka voi olla nano, vim tai mikä tahansa muu editori.

nano /home/$USER/Desktop/test

c. Hän sijoittaa sitten yllä olevan tekstin tähän tiedostoon, tallentaa ja poistuu.

Joten riippumatta hänen käyttämänsä ajasta, hän tarvitsee vähintään 3 vaihetta yllä olevan skenaarion toteuttamiseksi.

Mitä älykäs kokenut Linux-käyttäjä tekee? Hän kirjoittaa vain alla olevan tekstin yhdellä kertaa terminaaliin ja kaikki on valmis. Hänen ei tarvitse tehdä jokaista toimintaa erikseen.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

Voit käyttää cat-komentoa tarkistaaksesi, onko tiedoston ja sen sisällön luominen onnistunut vai ei.

cat /home/avi/Desktop/test

3. Käsittelemme arkistoja (erityisesti TAR-palloja) hyvin usein Linuxissa. Monissa tapauksissa meidän on käytettävä tätä TAR-palloa jossain muussa paikassa kuin Lataukset-kansiossa. Mitä teemme tässä skenaariossa?

Teemme tavallisesti kaksi asiaa tässä skenaariossa.

a. Kopioi/siirrä tervapallo ja pura se määränpäähän seuraavasti:

cp firefox-37.0.2.tar.bz2 /opt/
or
mv firefox-37.0.2.tar.bz2 /opt/

b. cd /opt/-hakemistoon.

cd /opt/

c. Pura Tarball.

tar -jxvf firefox-37.0.2.tar.bz2 

Voimme tehdä tämän toisinkin päin.

Puramme Tarballin missä se on ja kopioimme/siirämme puretun arkiston haluttuun kohteeseen seuraavasti:

tar -jxvf firefox-37.0.2.tar.bz2 
cp -R firefox/  /opt/
or
mv firefox/ /opt/

Kummassakin tapauksessa työn suorittaminen kestää kaksi tai vaihetta. Ammattilainen voi suorittaa tämän tehtävän yhdessä vaiheessa seuraavasti:

tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

Vaihtoehto -C saa tar purkaa määritetyn kansion arkiston (tässä /opt/).

Ei, kyse ei ole vaihtoehdosta (-C), vaan tottumuksista. Ota tapa käyttää vaihtoehtoa -C tervan kanssa. Se helpottaa elämääsi. Älä tästä lähtien siirrä arkistoa tai kopioi/siirrä purettua tiedostoa, vaan jätä TAR-pallo Lataukset-kansioon ja pura se haluamaasi paikkaan.

4. Kuinka tapamme prosessin perinteisellä tavalla?

Yleisimmällä tavalla luettelemme ensin kaikki prosessit komennolla ps -A ja yhdistämme sen komennolla grep löytääksemme prosessin/palvelun (kuten apache2 >), yksinkertaisesti näin:

ps -A | grep -i apache2
Näytelähtö
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

Yllä oleva tulos näyttää kaikki tällä hetkellä käynnissä olevat apache2-prosessit PID-tunnisteineen. Voit sitten käyttää näitä PID:itä tappaaksesi apache2:n seuraavan komennon avulla.

kill 1006 2702 2703 2704 2705 2706 2707

ja tarkista sitten, onko jokin apache2-niminen prosessi/palvelu käynnissä vai ei, kuten:

ps -A | grep -i apache2

Voimme kuitenkin tehdä sen ymmärrettävämmässä muodossa käyttämällä apuohjelmia, kuten pgrep ja pkill. Saatat löytää oleellista tietoa prosessista vain käyttämällä pgrep-komentoa. Oletetaan, että sinun on löydettävä apache2:n prosessitiedot. Voit tehdä tämän seuraavasti:

pgrep apache2
Näytelähtö
15396
15400
15401
15402
15403
15404
15405

Voit myös listata prosessin nimen pid:n kanssa suorittamalla.

pgrep -l apache2
Näytelähtö
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Prosessin lopettaminen pkillillä on hyvin yksinkertaista. Kirjoitat vain tappavan resurssin nimen ja olet valmis. Olen kirjoittanut artikkelin pkillistä, johon voit viitata täällä: https://linux-console.net/how-to-kill-a-process-in-linux/.

Voit lopettaa prosessin (esim. apache2) pkillillä:

pkill apache2

Voit tarkistaa, onko apache2 tapettu vai ei, suorittamalla alla oleva komento.

pgrep -l apache2

Se palauttaa kehotteen eikä tulosta mitään tarkoittaa, että prosessia ei ole käynnissä nimellä apache2.

Siinä kaikki toistaiseksi, minulta. Kaikki edellä mainitut kohdat eivät riitä, mutta auttavat varmasti. Tarkoituksenamme ei ole ainoastaan tuottaa opetusohjelmia, joiden avulla opit joka kerta jotain uutta, vaan haluamme myös näyttää "Kuinka olla tuottavampi samassa kehyksessä". Anna meille arvokasta palautetta alla olevissa kommenteissa. Pidä yhteyttä. Jatka kommentoimista.