Puede o no sorprenderte el saber que con la Shell de BASH tiene una gran cantidad de teclas rápidas que pueden hacer tu vida, en la linea de comando, mucho mas fácil. Esta habilidad de editar el comando usando teclas rápidas que te da la biblioteca de GNU Readline. Esta biblioteca es usada en muchos otras aplicaciones de *nix a demás de BASH así que aprenderlas no solo te permitirá navegar entre los comandos de bash a una velocidad absurda pero también podrás reutilizarlo en otras aplicaciones que usan esta biblioteca que dependen de Readline. Este artículo no es para hablar de readline pero puedo comentarte que que es usado por muchos editores como Emacs así como configurarse en vim, sin embargo prefiero que aprendas el comportamiento predeterminado de muchas aplicaciones (encuentro que esto hace mi vida mucho mas fácil a diferencia de constantemente tener que configurar aplicaciones). Si estas familiarizado con emacs entonces muchos de estas teclas rápidas no serán nuevas para tí, pero lo serán para el resto de los terrícolas: :).

Comandos de edición

  • Ctrl + a – te envía al inicio de la línea de comando
  • Ctrl + e – te envía al final de la línea de comando
  • Ctrl + k – elimina todo a partir del cursor hasta el final de la linea de comando
  • Ctrl + u – elimina todo a partir del cursor hasta el inicio de la linea de comando
  • Ctrl + w – elimina desde el cursor al inicio de la palabra (i.e. borra la palabra anterior)
  • Ctrl + y – pega la palabra o texto que cortaste usando la tecla rápida para borar (tal como la anterior) después del cursor
  • Ctrl + xx – muevete entre el inicio de la linea de comando y la posición actual del cursor (y de regreso)
  • Alt + b – muevete una palabra anterior (o ve al inicio de la palabra donde el cursor estaba en ese momento)
  • Alt + f – mueve hacia adelante una palabra (o ve al final de la palabra del lugar donde el cursor)
  • Alt + d – borra al final de la palabra empezando por el cursor (la palabra completa si el cursor esta al inicio de la palabra)
  • Alt + c – capitaliza al final de la palabra empezando del cursor (la palabra completa si el cursor esta al final de la palabra)
  • Alt + u – convierte en mayúsculas del cursor al final de la palabra
  • Alt + l – convierte en minúsculas del cursor al final de la palabra
  • Alt + t – cambia la palabra actual con previas
  • Ctrl + f – mueve un carácter haca adelante
  • Ctrl + b – mueve haca atrás un carácter
  • Ctrl + d – borra un carácter bajo del cursor
  • Ctrl + h – borra un carácter antes del cursor
  • Ctrl + t – cambia el carácter bajo del cursor con uno previo

Comandos para el histórico

  • Ctrl + r – busca el histórico consecutivamente
  • Ctrl + g – sal del modo de búsqueda del histórico
  • Ctrl + p – previos comandos en el histórico (i.e. avanza en el histórico de comandos)
  • Ctrl + n – siguiente comando en el histórico (i.e. avanza en el histórico de comandos)
  • Alt + . – usa la última palabra del comando anterior

Command de contról

  • Ctrl + l – limpia la pantalla
  • Ctrl + s – para la salida a la pantalla (para largos comandos verbosos)
  • Ctrl + q – permite dar salida a la pantalla (si es previamente usado en los comandos arriba)
  • Ctrl + c – finaliza los comandos
  • Ctrl + z – suspende o para los comandos

Comandos de Bash Bang (!)

Bash también tiene algunas funcionalidades hábiles que usan el ! (bang) para permitir hacer algunas cosas curiosas con los comandos de bash.

  • !! – ejecuta el último comando
  • !blah – ejecuta la mayoría de los recientes comandos que incian con ‘blah’ (e.g. !ls)
  • !blah:p – imprime el comando que se ejecutará con !blah correrá (también agregarlo como su último comando en el historial de comandos)
  • !$ – la última palabra en los comandos previos (igual que Alt + .)
  • !$:p – imprime la palabra que !$ reemplazará
  • !* – el último comando excepto por la última palabra (e.g. si escribes ‘find some_file.txt /‘, entonces !* te dará ‘find some_file.txt‘)
  • !*:p – imprime lo que !* sustituirá

Hay mas de una cosa útil que puedes hacer. Esto requiere usar: ^^ ‘comando’. Si escribes un comando y lo ejecutas, puedes correr el mismo comando pero reemplazar una pieza del texxto por otra pieza del texto usando ^^ e.g.:

 

$ ls -al

total 12
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
-rwxr-xr-x 1 Administrator None 1150 Jul 21 23:34 .bash_profile
-rwxr-xr-x 1 Administrator None 3116 Jul 21 23:34 .bashrc
drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
-rwxr-xr-x 1 Administrator None 1461 Jul 21 23:34 .inputrc

$ ^-al^-lash
ls -lash
total 12K

0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .

0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
4.0K -rwxr-xr-x 1 Administrator None 1.2K Jul 21 23:34 .bash_profile
4.0K -rwxr-xr-x 1 Administrator None 3.1K Jul 21 23:34 .bashrc
0 drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
4.0K -rwxr-xr-x 1 Administrator None 1.5K Jul 21 23:34 .inputrc

Aquí, el comando era ^-al^-lash el cual reemplazó –al con –lash  en nuestro previo comando ls y lo corrió de nuevo con el comando.

Hay más, mucho más que puedes hacer al usar las teclas rápidas con bash. Cuando se trata de usar teclas rápidas con bash. pero, las teclas rápidas son las más comunes que te harán hacer 90% de las formas de la cuales puedes producir en bash. Si crees que me he olvidad de algunas esenciales, deja tu comentario y prometo responderte con más tips y opiniones en lo que se refiere al desarrollo de software.

1 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 5 (1 votes, average: 5.00 out of 5)
You need to be a registered member to rate this.
(107 total tokens earned)
Loading...

Responses