Fasd: una herramienta de línea de comandos que ofrece acceso rápido a archivos y directorios


Fasd (pronunciado como "rápido") es un refuerzo de la productividad de la línea de comandos, un script de shell POSIX autónomo que permite un acceso rápido y más eficiente a archivos y directorios.

Está inspirado en herramientas como autojump, y el nombre fasd se creó a partir de los alias sugeridos predeterminados:

  • f (archivos)
  • a (archivos/directorios)
  • s (mostrar/buscar/seleccionar)
  • d (directorios)

Se ha probado en los siguientes shells: bash, zsh, mksh, pdksh, dash, busybox ash, FreeBSD 9/bin/sh y OpenBSD/bin/sh. Realiza un seguimiento de los archivos y directorios a los que ha accedido, para que pueda hacer referencia a ellos rápidamente en la línea de comandos.

En este artículo, mostraremos cómo instalar y usar fasd con algunos ejemplos en Linux.

Fasd simplemente clasifica los archivos y directorios por "frecuencia" (la palabra fue inventada por primera vez por Mozilla y utilizada en Firefox, obtenga más información aquí) una combinación de las palabras "frecuencia" y "actualidad".

Si usa principalmente el shell a través de la terminal para navegar e iniciar aplicaciones, fasd puede permitirle hacerlo de manera más eficiente. Le ayuda a abrir archivos independientemente del directorio en el que se encuentre.

Con simples cadenas de teclas, fasd puede encontrar un archivo o directorio "reciente" y abrirlo con el comando que especifique.

Cómo instalar y usar Fasd en sistemas Linux

Fasd se puede instalar usando PPA en Ubuntu y sus derivados.

$ sudo add-apt-repository ppa:aacebedo/fasd
$ sudo apt-get update
$ sudo apt-get install fasd

En otras distribuciones de Linux, puede instalarlo desde la fuente como se muestra.

$ git clone https://github.com/clvv/fasd.git
$ cd fasd/
$ sudo make install

Una vez que haya instalado Fasd, agregue la siguiente línea a su ~/.bashrc para habilitarlo:

eval "$(fasd --init auto)"

Luego, obtenga el archivo de esta manera.

$ source ~/.bashrc

Fasd se envía con los siguientes alias predeterminados útiles:

alias a='fasd -a'        # any
alias s='fasd -si'       # show / search / select
alias d='fasd -d'        # directory
alias f='fasd -f'        # file
alias sd='fasd -sid'     # interactive directory selection
alias sf='fasd -sif'     # interactive file selection
alias z='fasd_cd -d'     # cd, same functionality as j in autojump
alias zz='fasd_cd -d -i' # cd with interactive selection

Veamos algunos ejemplos de uso; el siguiente ejemplo enumerará todos los archivos y directorios "recientes":

$ a

Para buscar rápidamente un archivo o directorio al que accedió anteriormente, use el alias s:

$ s

Para ver todos los archivos con los que trabajó anteriormente que tienen las letras "vim", puede usar el alias f de la siguiente manera:

$ f vim

Para cd rápida e interactivamente en un directorio previamente accedido usando el alias zz . Simplemente seleccione el número de directorio del primer campo (1-24 en la captura de pantalla a continuación):

$ zz

Puede agregar sus propios alias en ~/.bashrc para utilizar completamente el poder de fasd como en los ejemplos siguientes:

alias v='f -e vim'   # quick opening files with vim
alias m='f -e vlc'   # quick opening files with vlc player

Luego ejecute el siguiente comando para obtener el archivo:

$ source  ~/.bashrc

Para abrir un archivo rápidamente llamado test.sh en vim, debe escribir:

$ v test.sh

Cubriremos un ejemplo más en el que puede usar alias de Fasd con otros comandos:

$ f test
$ cp  `f test` ~/Desktop
$ ls -l ~/Desktop/test.sh

Para los usuarios de bash, llame a _fasd_bash_hook_cmd_complete para que la finalización funcione. Por ejemplo:

_fasd_bash_hook_cmd_complete  v  m  j  o

Para obtener más información, escriba:

$ man fasd

Para obtener personalizaciones adicionales y ejemplos de uso, consulte el repositorio Fasd Github: https://github.com/clvv/fasd/

¡Eso es todo! En este artículo, le mostramos cómo instalar y usar fasd en Linux. Comparta con nosotros información sobre herramientas similares con las que se haya encontrado, junto con cualquier otra idea a través de la sección de comentarios a continuación.