Como usuarios de Linux, es un momento especial cuando abrimos una terminal por primera vez y comenzamos a trabajar en el sistema de la manera más eficiente, poderosa y flexible. Sin embargo, su primera incursión en la terminal podría ser potencialmente intimidante, ya que todo lo que le saluda es un cursor parpadeante y un mundo infinito de posibilidades. Para ayudar 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 de manual de un comando, se verá algo así:
Esa sección «NOMBRE» en la parte superior es de lo que estoy hablando. Si quisiera encontrar el ping
comando con apropos
Yo escribiría apropos icmp
en mi terminal y presione Enter. Tenga en cuenta que no distingue entre mayúsculas y minúsculas. Esto saca todos los comandos con una entrada de NOMBRE que tiene «ICMP» en él.
Otro gran uso para apropos
está explorando herramientas con las que quizás no esté familiarizado, como selinux
. Emitiendo el apropos selinux
command le dará una lista de todos los diferentes comandos que puede usar para interactuar con SELinux, lo que lo ayudará a comenzar en el camino hacia la aplicación eficiente.
Sustituyendo en el comando anterior
Algo que me ha ahorrado un montón de tiempo en la terminal es averiguar cómo sustituir algo en el comando anterior. Si escribo mal algo o simplemente necesito sustituir una opción en el comando anterior, puedo usar un ^
clave para extraer la palabra que escribí mal, luego otra ^
para poner la palabra u opción que quisiera.
Veamos un ejemplo. Digamos que quiero hacer ping a “maketecheasier.com” para asegurarme de tener una conectividad completa a Internet (incluido el DNS). Pero si escribo mal algo, podría tener 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^maketecheasier.com
y el comando se ejecutará como se esperaba. Este es un ejemplo simple, pero digamos que ejecuta un comando largo con muchas opciones o dirige mal la salida o los errores de su comando. Poder sustituir >
para >>
en un comando complejo es un salvavidas.
Otro ejemplo es con systemd y el systemctl
mando. A menudo emitiré varios systemctl
subcomandos, 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 pasa mucho. !!
(bang-bang) desplegará el comando anterior por completo. 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 es instalar scripts. Digamos que ejecuta un script de instalación con «./SCRIPT-NAME.sh», y dice que necesita ejecutarlo con privilegios de superusuario. Sólo tipo sudo !!
, ingrese su contraseña y estará listo para las carreras. Ahorra mucho tiempo, y una vez que tenga esa secuencia en su memoria muscular, podrá hacerlo más rápido que cuando lo estaba haciendo mal.
Pasar argumentos de comandos anteriores
Utilizando !$
, 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 guión, puedo usar el comando nano samplescript.sh
. Una vez que termine con ese script, quiero hacerlo ejecutable, por lo que puedo cambiar los permisos octales a 755. Para hacer eso, podría usar el chmod 755 !$
mando. Luego, para volver a extraer el nombre del script, podría usar ./!:2
para derribar 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 extraer los argumentos que desee. Bash mantendrá cerca de 100 argumentos disponibles con este método, y puede trabajar rápidamente en algunas tareas menores como esta.
Espero que hayas disfrutado de estos consejos y trucos de Bash para ayudarte a trabajar de forma más inteligente en la terminal. También debe aprender sobre las variables de Bash y los caracteres especiales.