Consejos y trucos de Bash para trabajar de manera más inteligente en la terminal

Consejos y trucos de Bash

Como usuarios de Linux, es un momento especial cuando abrimos por primera vez una terminal y comenzamos a trabajar en el sistema de la manera más eficiente, poderosa y flexible. Sin embargo, tu primera incursión en la terminal podría ser intimidante, ya que todo lo que te recibe es un cursor parpadeante y un mundo interminable de posibilidades. Para ayudar con eso, te mostramos algunos consejos y trucos de Bash para trabajar de manera más inteligente, no más dura, en la terminal.

También lee: Comandos básicos de Bash para principiantes de Linux

Encontrando comandos con Apropos

Apropos (app-row-POE) es un comando que te permite encontrar comandos con man o entradas manuales basadas en su descripción. Si alguna vez has encontrado una página de manual de un comando, se ve un poco así:

Consejos y trucos de Bash Man

Esa sección “NOMBRE” en la parte superior es de lo que estoy hablando. Si quisiera encontrar el comando ping con apropos, escribiría apropos icmp en mi terminal y presionaría Enter. Ten en cuenta que no es sensible a mayúsculas. Esto muestra todos los comandos con una entrada de NOMBRE que tiene “ICMP” en ella.

Consejos y trucos de Bash Apropos

Otro gran uso para apropos es explorar herramientas que puede que no conozcas, como selinux. Emitir el comando apropos selinux te dará una lista de todos los diferentes comandos que puedes usar para interactuar con SELinux, comenzando así el camino hacia la aplicación eficiente.

Sustituyendo en el comando anterior

Algo que me ha ahorrado mucho tiempo en la terminal es descubrir cómo sustituir algo en el comando anterior. Si escribo mal algo o solo necesito sustituir una opción en el comando anterior, puedo usar una tecla ^ para recuperar la palabra que escribí mal, y luego otra ^ para poner la palabra u opción que quería.

Veamos un ejemplo. Supongamos que quiero hacer ping a “maketecheasier.com” para asegurarme de que tengo conectividad completa a Internet (incluyendo DNS). Pero si escribo mal algo, podría obtener algún tipo de error. Así que si accidentalmente hago ping a maktecheaser.com (falta la “i”), tendré algunos problemas.

Para sustituir la opción mal escrita, puedo escribir ^maktecheaser.com^maketecheasier.com, y el comando se ejecutará como se esperaba. Este es un ejemplo simple, pero supongamos que ejecutas un comando largo con muchas opciones o rediriges incorrectamente la salida o errores de tu comando. Poder sustituir > por >> en un comando complejo es un salvavidas.

Consejos y trucos de Bash Ejemplo de Ping

Otro ejemplo es con systemd y el comando systemctl. A menudo emito múltiples subcomandos diferentes de systemctl, como iniciar, detener, habilitar o deshabilitar un servicio. Puedo simplemente sustituirlos con ^start^enable, lo que me ahorrará tiempo.

!!

Este es uno que es realmente útil en un escenario específico que me sucede mucho. !! (bang-bang) recuperará el comando anterior en su totalidad. Puede que no parezca útil, pero si piensas en todas las veces que escribes un comando que necesita ser ejecutado con privilegios de superusuario, comenzarás a entender dónde es útil.

Un gran ejemplo son los scripts de instalación. Supongamos que ejecutas un script de instalación con “./NOMBRE-SCRIPT.sh”, y dice que necesitas ejecutarlo con privilegios de superusuario. Solo escribe sudo !!, ingresa tu contraseña, y estarás listo para comenzar. Ahorra mucho tiempo, y una vez que tengas esa secuencia en tu memoria muscular, podrás hacerlo más rápido que cuando lo hacías mal.

Consejos y trucos de Bash Bang Bang

Pasando argumentos de comandos anteriores

Usando !$, podemos pasar el último argumento de un comando al comando actual, y con algunas variaciones ligeras, podemos pasar cualquiera de los argumentos al comando actual.

Veamos algunos ejemplos. Si estoy editando un script, puedo usar el comando nano samplescript.sh. Una vez que termine con ese script, quiero hacerlo ejecutable, así que puedo cambiar los permisos octales a 755. Para hacer eso, podría usar el comando chmod 755 !$. Luego, para recuperar el nombre del script nuevamente, podría usar ./!:2 para recuperar el segundo argumento.

Consejos y trucos de Bash Argumentos

Algunos otros ejemplos:

!^ - primer argumento  
!* - todos los argumentos  
!:2-$ - segundo hasta el último argumento  
!:2-4 - segundo hasta el cuarto argumento

Puedes sustituir tus números para recuperar cualquier argumento que desees. Bash mantendrá cerca de 100 argumentos disponibles con este método, y puedes trabajar rápidamente a través de algunas tareas triviales como esta.

Espero que hayas disfrutado de estos consejos y trucos de Bash para ayudarte a trabajar de manera más inteligente en la terminal. También deberías aprender sobre variables de Bash y caracteres especiales.