4 Gagnlegar ráðleggingar um mkdir, tar og drepa skipanir í Linux


Við höldum áfram að vinna verkefni á hefðbundinn hátt þar til við komumst að því að það er hægt að gera það á mun betri hátt á hinn veginn. Í framhaldi af Linux ábendingum og brellur röðinni okkar er ég hér með fjögur ráð hér að neðan sem munu hjálpa þér á margan hátt. Hérna förum við!

Uppbygging möpputrés til að ná eins og lagt er til hér að neðan.

$ 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

Ofangreind atburðarás er einfaldlega hægt að ná með því að keyra neðan 1-lína skipunina.

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

Til að staðfesta geturðu notað tréskipunina. Ef það er ekki uppsett geturðu lagað eða yumað pakkann „tré“.

$ tree tecmint

Við getum búið til skráartré uppbyggingu af hvaða flóknu sem er með því að nota ofangreinda leið. Taktu eftir því að það er ekkert annað en venjuleg skipun en hún notar {} til að búa til stigveldi möppum. Þetta getur reynst mjög gagnlegt ef það er notað innan úr skeljaskriftu þegar þess er krafist og almennt.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Hvað myndi venjulegur notandi gera í þessari atburðarás?

a. Hann mun fyrst búa til skrána, helst með snertiskipun, sem:

$ touch /home/$USER/Desktop/test

b. Hann mun nota textaritil til að opna skrána, sem getur verið nano, vim eða einhver annar ritstjóri.

$ nano /home/$USER/Desktop/test

c. Hann mun síðan setja ofangreindan texta inn í þessa skrá, vista og hætta.

Svo burtséð frá tíma sem hann/hún tekur, þarf hann að minnsta kosti 3 skref til að framkvæma ofangreinda atburðarás.

Hvað mun snjall reyndur Linux-er gera? Hann mun bara slá inn textann hér að neðan í einu lagi á flugstöðinni og allt er búið. Hann þarf ekki að gera hverja aðgerð fyrir sig.

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

Þú getur notað „cat“ skipunina til að athuga hvort skráin og innihald hennar hafi verið búið til með góðum árangri eða ekki.

$ cat /home/avi/Desktop/test

Við gerum venjulega tvennt í þessari atburðarás.

a. Afritaðu/hreyfðu tjörukúluna og dragðu hana út á áfangastað, eins og:

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

b. cd í /opt/ möppu.

$ cd /opt/

c. Dragðu út Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Við getum gert þetta á hinn veginn.

Við munum draga út Tarball þar sem hann er og afrita/færa útdráttarsafnið á nauðsynlegan áfangastað sem:

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

Í báðum tilvikum tekur verkið tvö eða skref til að ljúka. Fagmaðurinn getur klárað þetta verkefni í einu skrefi sem:

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

Valkosturinn -C gerir tar til að draga út skjalasafnið í tilgreindri möppu (hér /opt/).

Nei þetta snýst ekki um valkost (-C) heldur um vana. Gerðu það að venju að nota valkost -C með tjöru. Það mun auðvelda líf þitt. Héðan í frá skaltu ekki færa skjalasafnið eða afrita/færa útdráttarskrána, skildu bara TAR-kúluna eftir í niðurhalsmöppunni og dragðu hana út hvar sem þú vilt.

Í flestum almennum hætti listum við fyrst allt ferlið með því að nota skipunina ps -A og sendum það með grep til að finna ferli/þjónustu (segjum apache2), einfaldlega eins og:

$ 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

Ofangreind framleiðsla sýnir öll apache2 ferla sem eru í gangi með PID þeirra, þú getur síðan notað þessi PID til að drepa apache2 með hjálp eftirfarandi skipunar.

# kill 1006 2702 2703 2704 2705 2706 2707

og athugaðu síðan hvort einhver aðferð/þjónusta með nafninu 'apache2' sé í gangi eða ekki, eins og:

$ ps -A | grep -i apache2

Hins vegar getum við gert það á skiljanlegra sniði með því að nota tól eins og pgrep og pkill. Þú gætir fundið viðeigandi upplýsingar um ferli bara með því að nota pgrep. Segðu að þú þurfir að finna vinnsluupplýsingarnar fyrir apache2, þú gætir einfaldlega gert:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

Þú getur líka skráð ferli nafn á móti pid með því að keyra.

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

Að drepa ferli með því að nota pkill er mjög einfalt. Þú slærð bara inn nafn auðlindarinnar til að drepa og þú ert búinn. Ég hef skrifað færslu um pkill sem þú gætir viljað vísa hér: https://linux-console.net/how-to-kill-a-process-in-linux/.

Til að drepa ferli (segjum apache2) með pkill þarftu bara að:

# pkill apache2

Þú getur staðfest hvort apache2 hafi verið drepinn eða ekki með því að keyra skipunina hér að neðan.

$ pgrep -l apache2

Það skilar kvaðningu og prentar ekkert þýðir að ekkert ferli er í gangi undir nafninu apache2.

Þetta er allt í bili, frá mér. Allt ofangreint atriði er ekki nóg en mun örugglega hjálpa. Við ætlum ekki aðeins að búa til kennsluefni til að láta þig læra eitthvað nýtt í hvert skipti heldur viljum við líka sýna „Hvernig á að vera afkastameiri í sama ramma“. Gefðu okkur verðmæta endurgjöf þína í athugasemdunum hér að neðan. Haltu sambandi. Haltu áfram að kommenta.