4 consejos útiles sobre los comandos mkdir, tar y kill en Linux


Seguimos cumpliendo una tarea de manera convencional hasta que llegamos a saber que se puede hacer de una manera mucho mejor al revés. Como continuación de nuestra serie de trucos y consejos de Linux, estoy aquí con los cuatro consejos que se muestran a continuación que le ayudarán de muchas maneras. ¡Aquí vamos!

Estructura de árbol de directorios para lograr como se sugiere a continuación.

$ 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

El escenario anterior se puede lograr simplemente ejecutando el siguiente comando de 1 línea.

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

Para verificar, puede usar el comando tree. Si no está instalado, puede adaptar o yum el paquete "árbol".

$ tree tecmint

Podemos crear una estructura de árbol de directorios de cualquier complejidad utilizando la forma anterior. Tenga en cuenta que no es más que un comando normal, pero utiliza {} para crear una jerarquía de directorios. Esto puede resultar muy útil si se usa desde el interior de un script de shell cuando sea necesario y en general.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

¿Qué haría un usuario normal en este escenario?

una. Primero creará el archivo, preferiblemente usando el comando táctil, como:

$ touch /home/$USER/Desktop/test

B. Utilizará un editor de texto para abrir el archivo, que puede ser nano, vim o cualquier otro editor.

$ nano /home/$USER/Desktop/test

C. Luego colocará el texto anterior en este archivo, guardará y saldrá.

Por lo tanto, independientemente del tiempo que tome, necesita al menos 3 pasos para ejecutar el escenario anterior.

¿Qué hará un experto en Linux inteligente? Simplemente escribirá el texto a continuación de una sola vez en la terminal y listo. No necesita realizar cada acción por separado.

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

Puede utilizar el comando "cat" para comprobar si el archivo y su contenido se crearon correctamente o no.

$ cat /home/avi/Desktop/test

Normalmente hacemos dos cosas en este escenario.

una. Copie/mueva la bola de alquitrán y extráigala en el destino, como:

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

B. cd al directorio/opt /.

$ cd /opt/

C. Extrae el Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Podemos hacer esto al revés.

Extraeremos el Tarball donde está y copiaremos/moveremos el archivo extraído al destino requerido como:

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

En cualquier caso, el trabajo requiere dos o pasos para completarse. El profesional puede completar esta tarea en un solo paso como:

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

La opción -C hace que tar extraiga el archivo en la carpeta especificada (aquí/opt /).

No, no se trata de una opción (-C) sino de hábitos. Adquiera el hábito de utilizar la opción -C con alquitrán. Facilitará tu vida. A partir de ahora, no mueva el archivo ni copie/mueva el archivo extraído, simplemente deje el TAR-ball en la carpeta Descargas y extráigalo en cualquier lugar que desee.

En la forma más general, primero enumeramos todo el proceso usando el comando ps -A y lo canalizamos con grep para encontrar un proceso/servicio (digamos apache2), simplemente como:

$ 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 salida anterior muestra todos los procesos de apache2 que se ejecutan actualmente con sus PID, luego puede usar estos PID para matar apache2 con la ayuda del siguiente comando.

# kill 1006 2702 2703 2704 2705 2706 2707

y luego verifique si algún proceso/servicio con el nombre "apache2" se está ejecutando o no, como:

$ ps -A | grep -i apache2

Sin embargo, podemos hacerlo en un formato más comprensible utilizando utilidades como pgrep y pkill. Puede encontrar información relevante sobre un proceso simplemente usando pgrep. Digamos que tiene que encontrar la información del proceso para apache2, simplemente puede hacer:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

También puede listar el nombre del proceso contra pid ejecutando.

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

Matar un proceso usando pkill es muy simple. Simplemente escriba el nombre del recurso para matar y listo. He escrito una publicación sobre pkill que tal vez desee consultar aquí: https://www.tecmint.com/how-to-kill-a-process-in-linux/.

Para matar un proceso (digamos apache2) usando pkill, todo lo que necesita hacer es:

# pkill apache2

Puede verificar si apache2 ha sido eliminado o no ejecutando el siguiente comando.

$ pgrep -l apache2

Devuelve el indicador y no imprime nada, lo que significa que no se está ejecutando ningún proceso con el nombre de apache2.

Eso es todo por ahora, de mi parte. Todos los puntos discutidos anteriormente no son suficientes, pero seguramente ayudarán. No solo queremos producir tutoriales para que aprenda algo nuevo cada vez, sino que también queremos mostrar "Cómo ser más productivo en el mismo marco". Envíenos sus valiosos comentarios en los comentarios a continuación. Mantente conectado. Sigue comentando.