4 hyödyllistä vinkkiä mkdir, tar and kill -komennoista Linuxissa


Jatkamme tehtävän suorittamista tavanomaisesti, kunnes saamme tietää, että se voidaan tehdä paljon paremmin toisella tavalla. Jatkamalla Linux-vinkkejä ja temppusarjaa, olen täällä alla olevien neljän vinkin kanssa, jotka auttavat sinua monin tavoin. Nyt sitä mennään!

Hakemistopuun rakenne saavutetaan kuten alla ehdotetaan.

$ 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 saavuttaa yksinkertaisesti suorittamalla alla oleva 1-linjainen komento.

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

Vahvistaaksesi, että voit käyttää puukomentoa. Jos sitä ei ole asennettu, saatat löytää paketin ”puu”.

$ tree tecmint

Voimme luoda minkä tahansa monimutkaisuuden hakemistopuun rakenteen yllä olevalla tavalla. Huomaa, että se ei ole mitään muuta kuin normaali komento, mutta se käyttää {} -ohjelmaa hakemistojen hierarkian luomiseen. Tämä voi osoittautua erittäin hyödylliseksi, jos sitä käytetään shell-komentosarjan sisältä tarvittaessa ja yleensä.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

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

a. Hän luo tiedoston ensin, mieluiten kosketuskomennolla, kuten:

$ touch /home/$USER/Desktop/test

b. Hän käyttää tekstieditoria tiedoston avaamiseen, joka voi olla nano, vim tai jokin muu editori.

$ nano /home/$USER/Desktop/test

c. Sitten hän sijoittaa yllä olevan tiedoston tähän tiedostoon, tallentaa ja poistua.

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

Mitä fiksu kokenut Linux-er tekee? Hän kirjoittaa vain alla olevan tekstin kertaluonteiseen päätteeseen ja kaikki valmis. Hänen ei tarvitse tehdä kutakin toimintaa erikseen.

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

Voit käyttää kissa-komentoa tarkistaaksesi, onko tiedosto ja sen sisältö luotu onnistuneesti.

$ cat /home/avi/Desktop/test

Teemme normaalisti 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/hakemisto.

$ cd /opt/

c. Pura Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Voimme tehdä sen päinvastoin.

Pura Tarball missä se on ja Kopioi/Siirrä purettu arkisto vaadittuun kohteeseen seuraavasti:

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

Kummassakin tapauksessa työ vie kaksi tai vaihetta loppuun. 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 tervan purkamaan arkiston määritetyssä kansiossa (here/opt /).

Ei, kyse ei ole vaihtoehdosta (-C), vaan tavoista. Tee tapa käyttää vaihtoehtoa -C tervalla. Se helpottaa elämääsi. Älä siirrä arkistoa äläkä kopioi/siirrä purettua tiedostoa, vaan jätä TAR-pallo Lataukset-kansioon ja pura se mihin tahansa.

Yleisimmällä tavalla luetellaan ensin kaikki prosessit komennolla ps -A ja siirretään se grep: llä prosessin/palvelun (sanotaan apache2) löytämiseksi yksinkertaisesti seuraavasti:

$ ps -A | grep -i apache2
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 lähtö näyttää kaikki käynnissä olevat apache2-prosessit PID-tunnuksillaan. Voit sitten käyttää näitä PID: itä tappamaan apache2 seuraavan komennon avulla.

# kill 1006 2702 2703 2704 2705 2706 2707

ja tarkista sitten, onko jokin prosessi/palvelu nimeltä 'apache2' 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ää asiaankuuluvia tietoja prosessista vain käyttämällä pgrepiä. Oletetaan, että sinun on löydettävä apache2: n prosessitiedot, voit yksinkertaisesti tehdä:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

Voit myös listata prosessin nimen pid ajamalla.

$ pgrep -l apache2
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

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

Jos haluat tappaa prosessin (sanoa apache2) pkill-toiminnolla, sinun tarvitsee vain:

# pkill apache2

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

$ pgrep -l apache2

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

Se on kaikki nyt, minulta. Kaikki edellä mainitut kohdat eivät riitä, mutta varmasti auttavat. Tarkoituksemme ei ole vain tuottaa opetusohjelmia, jotta saisit aina oppimaan jotain uutta, vaan haluamme myös näyttää "Kuinka olla tuottavampi samassa kehyksessä". Anna meille arvokasta palautettasi alla olevissa kommenteissa. Pysy yhteydessä. Jatka kommentoimista.