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, potente y flexible. Sin embargo, su primera incursión en la terminal podría ser potencialmente intimidante, ya que todo lo que recibe es un cursor parpadeante y un mundo infinito de posibilidades. Para ayudarlo con eso, le mostramos algunos consejos y trucos de Bash para trabajar de manera más inteligente, no más difícil, en la terminal.
Encontrar comandos con Apropos
Apropos (app-row-POE) es un comando que le permite encontrar comandos con man
o entradas manuales basadas en su descripción. Si alguna vez ha encontrado una página man de un comando, se parece a esto:
Esa sección de «NOMBRE» en la parte superior es de lo que estoy hablando. Si quisiera encontrar el ping
comando con apropos
escribiría apropos icmp
en mi terminal y presione Enter. Tenga en cuenta que no distingue entre mayúsculas y minúsculas. Esto abre todos los comandos con una entrada de NOMBRE que tiene «ICMP».
Otro gran uso para apropos
está explorando herramientas con las que quizás no esté familiarizado, como selinux
. emitiendo el apropos selinux
El comando le dará una lista de todos los diferentes comandos que puede usar para interactuar con SELinux, lo que lo ayudará a comenzar el camino hacia la implementació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 algo mal o simplemente necesito sustituir una opción en el comando anterior, puedo usar un ^
clave para sacar la palabra que escribí mal, luego otra ^
para poner la palabra o la opción que quería.
Veamos un ejemplo. Digamos que quiero hacer ping a «expertogeek.com» para asegurarme de que tengo conectividad completa a Internet (incluido el DNS). Pero si escribo mal algo, podría obtener algún tipo de error. Entonces, si accidentalmente hago ping a maktecheaser.com (falta la «i»), tendré algunos problemas.
Para sustituir la opción mal escrita, puedo escribir ^maktecheaser.com^expertogeek.com
y el comando se ejecutará como se esperaba. Este es un ejemplo simple, pero supongamos que ejecuta un comando largo con muchas opciones o desvía la salida o los errores de su comando. Poder sustituir >
por >>
en un comando complejo es un salvavidas.
Otro ejemplo es con systemd y el systemctl
dominio. A menudo emitiré múltiples systemctl
subcomandos, como iniciar, detener, habilitar o deshabilitar un servicio. Puedo 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) desplegará el comando anterior en su totalidad. Puede que no parezca útil, pero si piensa en todas las veces que escribe un comando que debe ejecutarse con privilegios de superusuario, comenzará a comprender dónde es útil.
Un gran ejemplo son los scripts de instalación. Digamos que ejecuta un script de instalación con «./SCRIPT-NAME.sh», y dice que debe ejecutarlo con privilegios de superusuario. Sólo tipo sudo !!
, ingresa tu contraseña y listo. Ahorra mucho tiempo, y una vez que obtenga esa secuencia en su memoria muscular, podrá hacerlo más rápido que cuando lo estaba haciendo mal.
Pasar argumentos de comandos anteriores
Usando !$
podemos pasar el último argumento de un comando al comando actual y, con algunas ligeras variaciones, podemos pasar cualquiera de los argumentos a nuestro 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 que sea ejecutable, por lo que puedo cambiar los permisos octales a 755. Para hacer eso, podría usar el chmod 755 !$
dominio. Luego, para extraer el nombre del script nuevamente, podría usar ./!:2
para bajar el segundo argumento.
Algunos otros ejemplos:
!^ - first argument !* - all arguments !:2-$ - second through last arguments !:2-4 - second through fourth arguments
Puede sustituir sus números para obtener los argumentos que desee. Bash mantendrá cerca de 100 argumentos disponibles con este método, y puede trabajar fácilmente y rápidamente en algunas tareas menores como esta.
Espero que haya disfrutado de estos consejos y trucos de Bash para ayudarlo a trabajar de manera más inteligente en la terminal. También debe aprender acerca de las variables de Bash y los caracteres especiales.