Búsqueda de sitios web

Algunos comandos básicos de Linux que he usado durante mi viaje a Linux – Parte 3


Como uso Linux todos los días, tengo que lidiar con cosas nuevas y por eso aprendo nuevos comandos. Estoy seguro de que si echó un vistazo a las dos partes anteriores, sabrá el propósito de canalizar la salida de un comando como entrada para otro.

Consulte los siguientes enlaces para leer nuestras partes anteriores.

  • Algunos comandos básicos de Linux que he usado durante mi viaje a Linux – Parte 1
  • Algunos comandos básicos de Linux que he usado durante mi viaje a Linux – Parte 2

Hay ocasiones en las que necesita encontrar un proceso en ejecución en su máquina.

¿Te gusta saber cómo hacerlo? Ok, abre una nueva terminal.

Encuentra un proceso en ejecución

Ya sabes cómo enumerar procesos en tu máquina Linux. En caso de que no sepa nada al respecto, simplemente ejecute el siguiente comando en su consola y vea qué sucede.

ps aux

Pero el comando anterior no es útil cuando busca un proceso específico y no la lista completa. Entonces el comando grep resulta útil en este caso. Puede enviar la salida del comando ps aux al comando grep y buscar un proceso como se muestra en el siguiente ejemplo.

ps aux | grep ipython

El shell de ipython aún no se está ejecutando en mi máquina, por lo que el comando anterior solo proporciona el siguiente resultado en mi consola.

oltjano 8698 0.0 0.0 13600 944 pts/4 S+ 13:49 0:00 grep --color=auto ipython

Y si ejecuto ipython y hago ps aux | grep ipython nuevamente, obtengo un resultado diferente que me dice que ipython se está ejecutando actualmente.

Ejecutando ipython con el siguiente comando.

ipython

Luego ejecute ps aux | grep ipython.

ps aux | grep ipython

El siguiente resultado se muestra en mi consola cuando ejecuto el comando anterior.

oltjano 8709 6.0 0.4 149684 18592 pts/0 Sl+ 13:53 0:00 /usr/bin/python /usr/local/bin/ipython
 oltjano 8712 0.0 0.0 13600 944 pts/4 S+ 13:54 0:00 grep --color=auto ipython

Como puede ver en el resultado anterior, estoy ejecutando ipython ubicado en /usr/local/bin con la identificación del proceso 8709. También hay un truco sencillo que quiero compartir con ustedes. Para dejar de seleccionar el grep real, utilice la siguiente sintaxis.

ps aux | grep '[i]python'

[i] es el truco utilizado en el comando anterior. Al ejecutar el comando anterior cuando ipython se está ejecutando, solo se obtiene el siguiente resultado, que es diferente del producido por  ps aux | grep ipython.

oltjano 8709 6.0 0.4 149684 18592 pts/0 Sl+ 13:53 0:00 /usr/bin/python /usr/local/bin/ipython

Como pueden ver en el resultado anterior, ya no elegimos el grep en sí. ¡Menos resultados, menos cosas que ver, mejores resultados!

Ahora, ¿le gustaría saber cómo elimino un proceso en ejecución por su identificación?

Matar un proceso en ejecución por pid

Puede finalizar fácilmente un proceso en ejecución si conoce su pid  utilizando el comando kill como se muestra en el siguiente ejemplo. Nada difícil aquí, pero es útil saber cómo hacerlo.

kill 8709

Después de ejecutar el comando anterior, ya no verá el proceso en ejecución, que en mi caso es ipython. Va a ser terminado. El comando kill 8709 es bueno, pero me gustaría mostrarles un comando más útil. De hecho, algunos comandos se agrupan mediante tuberías.

El siguiente comando extrae la identificación del proceso de un proceso y lo elimina automáticamente.

kill $(ps aux | grep '[i]python' | awk '{print $2}')

La siguiente es una explicación de las partes que tienen lugar en el comando anterior.

Primero se ejecuta el comando ps. Enumera todos los procesos en ejecución. La salida del comando ps se canaliza con el | al comando grep. Como ya sabemos, el comando grep filtra la salida según la cadena de búsqueda. En este caso estoy buscando ipython.

Luego, la salida de grep se pasa como entrada al comando awk que proporciona el segundo archivo de cada línea. El segundo presentado en este caso es el pid.

oltjano 8709 6.0 0.4 149684 18592 pts/0 Sl+ 13:53 0:00 /usr/bin/python /usr/local/bin/ipython

En el resultado anterior podemos ver que el primer campo es oltjano y el segundo campo es 8709, que es el pid del proceso en ejecución. Luego usamos el comando kill para finalizar el proceso o los procesos si hay más de un pid.

¡Fresco! No tuvimos que escribir manualmente el pid del proceso para finalizarlo.

Es hora de recibir otros comandos. Ahora ya sabe cómo seleccionar un proceso en ejecución específico actual y cómo eliminarlo utilizando la identificación del proceso, el pid.

El comando alquitrán

El comando tar se utiliza para almacenar y extraer archivos de un archivo de cinta o disco. Probablemente haya visto algunos archivos que terminan en .tar; necesita utilizar la utilidad tar para obtener su contenido.

Por ejemplo, el siguiente comando se puede utilizar para extraer el contenido del archivo example.tar de forma detallada.

tar xvf example.tar

Permítanme explicarles las opciones que se utilizan en el comando anterior. La opción v utilizada aquí significa salida detallada, lo cual es muy útil si desea saber qué sucede mientras extrae los archivos del archivo. La opción f significa archivo y la opción x significa extraer, que en otras palabras significa obtener los archivos del archivo.

También puede ver los archivos de un archivo existente sin extraerlos.

 tar tvf example.tar

¿Qué tal crear un nuevo archivo tar? Para crear un nuevo archivo tar, necesita usar opciones diferentes a las que usó cuando hizo una extracción.

Primero necesita un directorio con archivos. Este es el directorio que utilizará para crear un archivo tar.

tar cvf example.tar example/

La opción c significa crear un archivo. La opción v es para salida detallada y la opción f es para archivo. Fácil, ¿no? Solo recuerda que cuando quieras crear un nuevo archivo debes usar la opción c.

Reducir el tamaño de los archivos con gzip

La utilidad gzip es muy útil cuando deseas reducir el tamaño de los archivos, especialmente si planeas compartirlos a través de la red.

La siguiente es una breve descripción de la herramienta gzip extraída de la página del manual.

Gzip reduce el tamaño de los archivos nombrados utilizando la codificación Lempel-Ziv (LZ77). Siempre que sea posible, cada archivo se reemplaza por uno con la extensión .gz, manteniendo los mismos modos de propiedad, tiempos de acceso y modificación. (La extensión predeterminada es -gz para VMS, z para MSDOS, OS/2 FAT, Windows NT FAT y Atari.) Si no se especifica ningún archivo, o si el nombre de un archivo es "-", la entrada estándar se comprime a la salida estándar. Gzip sólo intentará comprimir archivos normales. En particular, ignorará los enlaces simbólicos.

Ahora dejemos de aprender teoría y les mostremos cómo usar la utilidad gzip. El siguiente comando se puede utilizar para crear un archivo .gz comprimido.

gzip test.txt

Puedes descomprimir fácilmente el archivo usando la misma utilidad, gzip. Para descomprimir un archivo *.gz utilice la siguiente sintaxis.

gzip -d test.txt.gz

Como puede ver, tenemos la opción -d presente en el comando anterior al descomprimir un archivo *.gz. Esta opción significa descomprimir o descomprimir.

Suficiente por hoy, apaga tu computadora

Me gusta hacer todo desde la línea de comandos cuando sea posible, así que ¿por qué no apagar el sistema desde la consola? ¿Cuál es el comando? ¿Quieren hacer lo mismo o tal vez usar este comando en un futuro próximo?

En caso de que quieras apagarlo inmediatamente, ejecuta el siguiente comando.

shutdown -h now

¿Quieres cerrar después de un tiempo? Luego use la siguiente sintaxis.

shutdown -h + 13

El comando anterior hará que el sistema se apague después de 13 minutos.

Conclusión

Hemos explorado muchos comandos útiles hasta ahora. Hay muchos más esperándolos, pero hasta entonces asegúrese de practicar lo que ha aprendido hasta ahora.