4 nyttige tips om mkdir, tar og drep kommandoer i Linux


Vi fortsetter å utføre en oppgave konvensjonelt inntil vi finner ut at den kan gjøres på en mye bedre måte den andre veien. I fortsettelsen av Linux Tips and Trick Series, er jeg her med de fire tipsene nedenfor som vil hjelpe deg på mange måter. Her går vi!

Katalogtrestruktur for å oppnå som foreslått nedenfor.

$ 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

Scenariet ovenfor kan enkelt oppnås ved å kjøre kommandoen under 1-linje.

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

For å bekrefte kan du bruke trekommando. Hvis den ikke er installert, kan du apt eller yum pakken 'tree'.

$ tree tecmint

Vi kan lage katalogtrestruktur av enhver kompleksitet ved å bruke metoden ovenfor. Legg merke til at det ikke er noe annet enn en vanlig kommando, men den bruker {} for å lage hierarki av kataloger. Dette kan vise seg å være svært nyttig hvis det brukes fra innsiden av et shell-skript når det kreves og generelt.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Hva ville en vanlig bruker gjort i dette scenariet?

en. Han vil opprette filen først, fortrinnsvis ved å bruke berøringskommando, som:

$ touch /home/$USER/Desktop/test

b. Han vil bruke en tekstredigerer for å åpne filen, som kan være nano, vim eller en annen editor.

$ nano /home/$USER/Desktop/test

c. Han vil deretter plassere teksten ovenfor i denne filen, lagre og avslutte.

Så uavhengig av tiden han/henne tar, trenger han minst 3 trinn for å utføre scenariet ovenfor.

Hva en smart erfaren Linux-er vil gjøre? Han vil bare skrive inn teksten nedenfor på én gang på terminalen og alt er gjort. Han trenger ikke gjøre hver handling separat.

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

Du kan bruke 'cat'-kommandoen for å sjekke om filen og dens innhold ble opprettet eller ikke.

$ cat /home/avi/Desktop/test

Vi gjør vanligvis to ting i dette scenariet.

en. Kopier/flytt tjærekulen og trekk den ut på destinasjonen, som:

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

b. cd til /opt/-katalogen.

$ cd /opt/

c. Trekk ut Tarballen.

# tar -jxvf firefox-37.0.2.tar.bz2 

Vi kan gjøre dette omvendt.

Vi vil trekke ut Tarballen der den er og kopiere/flytte det utpakkede arkivet til ønsket destinasjon som:

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

I begge tilfeller tar arbeidet to eller trinn å fullføre. Fagpersonen kan fullføre denne oppgaven i ett trinn som:

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

Alternativet -C gjør at tar trekker ut arkivet i den angitte mappen (her /opt/).

Nei, det handler ikke om et alternativ (-C), men det handler om vaner. Gjør det til en vane å bruke alternativ -C med tjære. Det vil lette livet ditt. Fra nå, ikke flytt arkivet eller kopier/flytt den utpakkede filen, bare la TAR-ballen ligge i nedlastingsmappen og pakk den ut hvor som helst du vil.

På den mest generelle måten viser vi først all prosessen ved å bruke kommandoen ps -A og pipeline den med grep for å finne en prosess/tjeneste (si apache2), ganske enkelt som:

$ 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

Ovennevnte utdata viser alle apache2-prosesser som kjører med PID-ene deres, du kan deretter bruke disse PID-ene til å drepe apache2 ved hjelp av følgende kommando.

# kill 1006 2702 2703 2704 2705 2706 2707

og krysssjekk om noen prosess/tjeneste med navnet 'apache2' kjører eller ikke, som:

$ ps -A | grep -i apache2

Imidlertid kan vi gjøre det i et mer forståelig format ved å bruke verktøy som pgrep og pkill. Du kan finne relevant informasjon om en prosess bare ved å bruke pgrep. Si at du må finne prosessinformasjonen for apache2, du kan ganske enkelt gjøre:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

Du kan også liste prosessnavn mot pid ved å kjøre.

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

Å drepe en prosess ved å bruke pkill er veldig enkelt. Du skriver bare inn navnet på ressursen som skal drepes, og du er ferdig. Jeg har skrevet et innlegg om pkill som du kanskje vil referere her: https://linux-console.net/how-to-kill-a-process-in-linux/.

For å drepe en prosess (si apache2) ved å bruke pkill, er alt du trenger å gjøre:

# pkill apache2

Du kan bekrefte om apache2 har blitt drept eller ikke ved å kjøre kommandoen nedenfor.

$ pgrep -l apache2

Den returnerer ledeteksten og skriver ut ingenting betyr at det ikke er noen prosess som kjører med navnet apache2.

Det var alt for nå, fra meg. Alle de ovenfor diskuterte punktene er ikke nok, men vil helt sikkert hjelpe. Vi mener ikke bare å produsere opplæringsprogrammer for å få deg til å lære noe nytt hver gang, men ønsker også å vise Hvordan bli mer produktiv i samme ramme. Gi oss din verdifulle tilbakemelding i kommentarene nedenfor. Hold kontakten. Fortsett å kommentere.