4 consells útils sobre les ordres mkdir, tar i kill a Linux


Seguim realitzant una tasca de manera convencional fins que sabem que es pot fer d'una manera molt millor d'una altra manera. Com a continuació de la nostra sèrie de trucs i consells de Linux, estic aquí amb els quatre consells següents que us ajudaran de moltes maneres. Aqui venim!

Estructura d'arbre de directoris a assolir tal com es suggereix a continuació.

$ 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

L'escenari anterior es pot aconseguir simplement executant l'ordre d'1 línia a continuació.

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

Per verificar, podeu utilitzar l'ordre de l'arbre. Si no s'instal·la, podeu apt o yum el paquet 'arbre'.

$ tree tecmint

Podem crear una estructura d'arbre de directoris de qualsevol complexitat utilitzant la forma anterior. Tingueu en compte que no és altra cosa que una ordre normal, sinó que utilitza {} per crear jerarquia de directoris. Això pot resultar molt útil si s'utilitza des de dins d'un script d'intèrpret d'ordres quan sigui necessari i en general.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Què faria un usuari normal en aquest escenari?

a. Primer crearà el fitxer, preferiblement mitjançant l'ordre tàctil, com:

$ touch /home/$USER/Desktop/test

b. Utilitzarà un editor de text per obrir el fitxer, que pot ser nano, vim o qualsevol altre editor.

$ nano /home/$USER/Desktop/test

c. A continuació, col·locarà el text anterior en aquest fitxer, desarà i sortirà.

Així, independentment del temps que triga, necessita almenys 3 passos per executar l'escenari anterior.

Què farà un Linux experimentat intel·ligent? Només escriurà el text següent d'una sola vegada al terminal i tot està fet. No cal que faci cada acció per separat.

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

Podeu utilitzar l'ordre cat per comprovar si el fitxer i el seu contingut s'han creat correctament o no.

$ cat /home/avi/Desktop/test

Normalment fem dues coses en aquest escenari.

a. Copieu/Mou la bola de quitrà i extreu-la a la destinació, com:

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

b. cd al directori /opt/.

$ cd /opt/

c. Extraieu el Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Ho podem fer al revés.

Extraurem el Tarball on es troba i Copiarà/Mourà l'arxiu extret a la destinació requerida com:

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

En qualsevol cas, l'obra s'està fent dos o passos per completar. El professional pot completar aquesta tasca en un sol pas com:

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

L'opció -C fa que tar extreu l'arxiu a la carpeta especificada (aquí /opt/).

No, no es tracta d'una opció (-C) sinó d'hàbits. Preneu l'hàbit d'utilitzar l'opció -C amb quitrà. Et facilitarà la vida. A partir d'ara no moveu l'arxiu ni copieu/mogueu el fitxer extret, només deixeu la bola TAR a la carpeta Descàrregues i extreu-la allà on vulgueu.

De la manera més general, primer enumerem tots els processos utilitzant l'ordre ps -A i el canalitzem amb grep per trobar un procés/servei (per exemple, apache2), simplement com:

$ 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

La sortida anterior mostra tots els processos apache2 que s'executen actualment amb els seus PID, llavors podeu utilitzar aquests PID per matar apache2 amb l'ajuda de la següent comanda.

# kill 1006 2702 2703 2704 2705 2706 2707

i després comproveu si algun procés/servei amb el nom apache2 s'està executant o no, com:

$ ps -A | grep -i apache2

Tanmateix, ho podem fer en un format més entenedor mitjançant utilitats com pgrep i pkill. Podeu trobar informació rellevant sobre un procés només amb pgrep. Suposem que heu de trobar la informació del procés per a apache2, simplement podeu fer:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

També podeu llistar el nom del procés contra pid executant-lo.

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

Matar un procés amb pkill és molt senzill. Només heu d'escriure el nom del recurs a matar i ja heu acabat. He escrit una publicació sobre pkill que us agradaria consultar aquí: https://linux-console.net/how-to-kill-a-process-in-linux/.

Per matar un procés (per exemple, apache2) amb pkill, tot el que heu de fer és:

# pkill apache2

Podeu verificar si apache2 s'ha matat o no executant l'ordre següent.

$ pgrep -l apache2

Retorna l'indicador i no imprimeix res significa que no hi ha cap procés en execució amb el nom d'apache2.

Això és tot per ara, per part meva. Tot el punt comentat anteriorment no és suficient, però segur que ajudarà. No només volem produir tutorials per fer-te aprendre alguna cosa nova cada vegada, sinó que també volem mostrar Com ser més productiu en el mateix marc. Proporcioneu-nos els vostres valuosos comentaris als comentaris a continuació. Mantingues connectat. Segueix comentant.