Una vez acostumbrado a trabajar en el terminal, me resulta muy difícil volver al entorno gráfico. El poder del terminal desde el punto de vista de la productividad es impresionante. Sin embargo, hay tareas que me resultan tediosas. Una de estas tareas es la de desplazarme entre directorios. Tanto hacia adelante, profundizando en directorios, como hacia atrás. Pero probablemente, es volviendo hacia atrás, es decir, saliendo de la profundidad de mi bosque de directorios, lo que mas tedioso me resulta. Sobre todo cuando quieres ir a un directorio concreto que está en mitad de la ruta. Sin embargo, hay una herramienta que podemos utilizar para facilitarnos la marcha atrás en el terminal. Se trata de bd, y nos permite ir a un directorio padre en bash.
bd ó la marcha atrás en el terminal
bd es una herramienta que nos permite hacer la marcha atrás en el terminal. Es decir, nos permite desplazarnos rápidamente a un punto de la ruta en la que nos encontramos. Podemos ir a un determinado directorio padre, sin tener que escribir cd ../../../../../../
. Solo tendremos que escribir bd directorio
.
Uso y funcionamiento
El uso de esta herramienta es realmente muy sencillo. Por ejemplo, imagina que estás en el directorio,
/home/pepe/documentos/archivos/primera-semana/cuarto-dia/quinta-hora/enviados/hogar/habitacion1/muebles/
Si tienes que ir a tu directorio home
con solo hacer cd
ya estarías. Incluso si tienes que ir a documentos
podrías hacerlo en dos paso, primero cd
y segundo cd documentos
. Pero, ¿que pasa cuando quieres ir a mitad de la ruta. Por ejemplo si quieres ir a quinta-hora
. Ahí tienes que utilizar o cd ../../../../../
o hacerlo al revés…. de inicio a quinta-hora
. No se exactamente que es mas tedioso. En el primero de los casos tienes que ir contando cuantos directorios tienes que ir hacia arriba, y en el segundo de los casos tienes que escribirlo, aunque tienes la ayuda del autocompletado.
Sin embargo, gracias a bd
simplemente tienes que escribir bd quinta-hora
. Realmente tampoco tienes que escribirlo todo, ya que también tiene autocompletado. De esta forma, con escribir unas pocas letras ya lo tendrías resuelto. En cuatro golpes de tecla estarías en el directorio padre que buscabas. Esto es lo que se yo llamaría una marcha de atrás en el terminal efectiva.
Otros usos
Puedes utilizar bd
con comillas invertidas. El uso sería algo como `bd <letras>`
. Esto nos dará como resultado la ruta a ese directorio. Así, en el caso del ejemplo anterior, si ejecutamos,
echo `bd quinta`
Nos arrojará el siguiente resultado
/home/pepe/documentos/archivos/primera-semana/cuarto-dia/quinta-hora
Como ya te puedes imaginar, esto se puede utilizar con cualquier otra herramienta que puedas utilizar en el terminal, ls
, ln
, echo
, zip
, tar
, etc…
Algunos ejemplos,
- Puedes utilizarlo para listar el contenido de un directorio padre, sin tener que hacer marcha atrás en el terminal. Así en el ejemplo que nos ocupa si ejecutamos la orden,
ls `bd q`
Sería equivalente a ejecutar
ls /home/pepe/documentos/archivos/primera-semana/cuarto-dia/quinta-hora
- De la misma manera que hemos visto en el punto anterior, también podemos ejecutar un determinado archivo que se encuentra en un directorio padre de la ruta en la que nos encontramos. Todo ello de nuevo sin necesidad de utilizar la marcha atrás en el terminal. Así, para el caso del ejemplo que nos ocupa, si ejecutamos la orden,
`bd q`/build.sh
Sería equivalente a ejecutar la orden,
/home/pepe/documentos/archivos/primera-semana/cuarto-dia/quinta-hora/build.sh
- Por supuesto también podemos movernos de forma transversal entre directorios. Es decir, podemos subir dentro del árbol de directorio y posteriormente desplazarnos a otra rama. Aprovechando nuestro ejemplo, podemos ejecutar la orden,
cd `bd q`/recibidos
lo que sería equivalente a…. ufff, menuda pereza…. Lo deje en tus manos, yo ya he convertido a bd
en una herramienta imprescindible….
Instalación
Si utilizas Ubuntu , a partir de la versión 17.10, o derivados, instalar bd
en tu equipo es tan sencillo como hacer clic en bd. También puedes instalarlo ejecutando las siguientes ordenes,.
sudo apt install bd
Además tienes que añadir un alias para que funcione correctamente y como esperas. Para ello ejecuta la siguiente orden en un terminal,
echo 'alias bd=". bd -si"' >> ~/.bashrc
Ahora ejecuta source ~/.bashrc
para poder empezar a sacar todo el provecho a esta productiva herramienta.
En el caso de que no utilices Ubuntu o derivado, o que esta herramienta no esté disponible en los repositorios oficiales, puedes instalarla fácilmente ejecutando las siguientes órdenes,
sudo wget -O /usr/local/bin/bd https://raw.github.com/vigneshwaranr/bd/master/bd sudo chmod +rx /usr/local/bin/bd echo 'alias bd=". bd -si"' >> ~/.bashrc source ~/.bashrc # Lo siguiente es para tener disponible el autocompletado sudo wget -O /etc/bash_completion.d/bd https://raw.github.com/vigneshwaranr/bd/master/bash_completion.d/bd source /etc/bash_completion.d/bd
Indicar que existen herramientas similares para otros intérpretes de comandos que no sean bash
, como por ejemplo,
- Tarrasch/zsh-bd – bd para zsh
- 0rax/fish-bd – bd para fish shell
- rvraghav93/win-bd – bd para Windows.
- peterwvj/eshell-up – bd para eshell.
Conclusión
Esta es una de esas herramientas de las que podrías prescindir sin problemas, y tu trabajo en el terminal tampoco se vería perjudicado. Sin embargo, una vez te acostumbras a su uso, se convierte en una herramienta a la que le sacas muy buen provecho. Eso de no tener que ir contado directorios padre a la hora de desplazarte, es toda una ayuda. O evitar tener que ir hacia adelante y hacia atrás para llegar a tu directorio objetivo.
Se trata de una herramienta que tienes que probar, simplemente por el gusto de probarla. Seguro que la disfrutas…
Más información,