¿cuanta gente a visto el blog?

Creando comandos personalizados en Bash


Como desarrollador o administrador de sistemas, es posible que debas pasar mucho tiempo en tu terminal. Siempre busco formas de optimizar tareas repetitivas. Una forma de hacerlo es escribir scripts cortos en Bash o crear comandos personalizados, también conocidos como alias. Por ejemplo, en lugar de escribir un comando muy largo cada vez, podrías crear un atajo para él.

Ejemplo

Comencemos con el siguiente escenario: como administrador de sistemas, es probable que debas verificar las conexiones a tu servidor web con frecuencia, así que usaré el comando netstat como ejemplo.

Lo que suelo hacer cuando accedo a un servidor que tiene problemas con las conexiones a los puertos 80 o 443 es verificar si hay servicios escuchando en esos puertos y el número de conexiones a los mismos. El siguiente comando netstat nos mostraría cuántas conexiones TCP en los puertos 80 y 443 tenemos actualmente:

netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l

Este comando es bastante largo, por lo que escribirlo cada vez podría consumir tiempo, especialmente si deseas obtener esa información rápidamente.

Para evitarlo, podemos crear un alias. Así, en lugar de escribir todo el comando, solo tendríamos que escribir un comando corto. Por ejemplo, supongamos que queremos poder escribir conn (abreviatura de "conexiones") y obtener la misma información. Todo lo que necesitamos hacer en este caso es ejecutar el siguiente comando:

alias conn="netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"

De esta manera, estamos creando un alias llamado conn, que sería esencialmente un "acceso directo" para nuestro largo comando netstat. Ahora, si solo ejecutas:

conn

Obtendrás la misma salida que el largo comando netstat. Puedes ser aún más creativo y agregar mensajes informativos como este:

alias conn="echo 'Total de conexiones en los puertos 80 y 443:' ; netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"

Ahora, si ejecutas conn, obtendrás la siguiente salida:

Total de conexiones en los puertos 80 y 443: 12

Si cierras sesión y vuelves a iniciar, tu alias se perderá. En el siguiente paso, verás cómo hacer que esto sea persistente.

Haciendo el cambio persistente

Para hacer que el cambio sea persistente, necesitamos agregar el comando alias en nuestro archivo de perfil de shell. Por defecto, en Ubuntu, esto sería en el archivo ~/.bashrc. En otros sistemas operativos, esto podría ser ~/.bash_profile. Abre el archivo con tu editor de texto favorito:

nano ~/.bashrc

Ve al final y agrega lo siguiente:

alias conn="echo 'Total de conexiones en los puertos 80 y 443:' ; netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"

Guarda y cierra el archivo. De esta manera, incluso si cierras sesión y vuelves a iniciar, tu cambio persistirá y podrás ejecutar tu comando personalizado en Bash.

Listando todos los alias disponibles

Para listar todos los alias disponibles para tu shell actual, solo necesitas ejecutar el siguiente comando:

alias

Esto sería útil en caso de que veas algún comportamiento extraño con algunos comandos.

Conclusión

Esta es una forma de crear comandos personalizados en Bash o alias de Bash. Por supuesto, también podrías escribir un script de Bash y agregarlo en tu carpeta /usr/bin, pero esto no funcionaría si no tienes acceso de root o sudo, mientras que con los alias puedes hacerlo sin necesidad de acceso de root.

No hay comentarios.:

Publicar un comentario