Fd un gran reemplazo para find en Linux

Sin duda en el mundo de la tecnología la innovación esta siempre presente, cada día existen nuevas herramientas o productos que dejan obsoletos a sus predecesores. Respecto a esto hoy os voy a hablar de fd, un reemplazo de búsqueda sencillo, que busca ser más rápido y eficiente que su predecesor, find.

Hay que tener en cuenta que find es muy antiguo, de hecho, es anterior al nacimiento de GNU/Linux, ya que originalmente proviene del mundo UNIX, aunque más adelante se adaptó dentro del proyecto GNU.

Magnifying glass icons, PD-self, Self-published work

Imagen de Wikimedia

¿Cómo funciona fd?

Busca ser una alternativa simple, rápida y fácil de usar. Si bien no busca reflejar todas las potentes funciones de find, la mayoría de ellas o por lo menos las más utilizadas sí.

Tiene como características principales en que busca utilizar sintaxis simplificada, una salida de terminal coloreada y ser rápido. Las búsquedas no distinguen entre mayúsculas y minúsculas de forma predeterminada. Ignora los directorios y archivos ocultos, por defecto y permite utilizar expresiones regulares, entre otras funcionalidades.

Trabajando con fd

Aunque la herramienta se llama fd, cuando la buscamos en los repositorios nos aparecerá como fd-find, y cuando la queramos utilizar debemos llamar a fdfind. Aunque sino nos gusta este nombre siempre podemos añadir algún nuevo alias al sistema. Esto es debido a que, por lo menos en Debian, en este sistema ya existe un binario llamado fd.

sudo apt install fd-find

Esto es en el caso de sistemas basados en Debian, que utilizan paquetería DEB; en el caso de sistemas basados en Red Hat, con paquetería RPM:

# En versiones actuales de Centos, Fedora o RHEL
sudo dnf install fd-find
# En versiones antiguas
sudo yum install fd-find
# En SUSE u Opensuse
sudo zypper install fd-find

En LMDE, esto es, Linux Mint Debian Edition, he tenido que habilitar el repositorio testing de Debian, para poder instalarlo.

Y Arch y derivadas como Manjaro:

sudo pacman -Syu fd

Para crear un alias más amigable, simplemente:

alias fd=fdfind

Para que quede fijo en el sistema, debemos editar el nuestra home el fichero .bashrc o bien .bash_aliases, y añadirlo.

Si consultamos su página de man veremos que tiene también un buen número de parámetros, aunque ni mucho los que llega a tener find.

Ejemplo de uso de fd

Si utilizamos la herramienta sin parámetros nos mostrará una lista de todos los ficheros desde donde nos encontremos.

fdfind
#O si utilizamos el alias que hemos creado
fd

Un ejemplo:

Uso básico de fdfind

En cambio, permite por ejemplo buscar extensiones de archivos, utilizando el parámetro -e, como sigue:

fd ‑e png

Y si queremos afinar un poco podemos utilizar expresiones regulares:

fd '^c.*png$'

De esta forma buscamos ficheros que empiecen por “c” y tengan extensión png. Veamos otro ejemplo:

Filtrado por extensión y nombre

Tipos de ficheros y distinción entre mayúsculas y minúsculas

Podemos pedir a fd que busque directorios, archivos (incluidos aquellos que son ejecutables y vacíos) y enlaces simbólicos. También poder hacerlo con la opción -t (tipo), seguido de una de las letras siguientes:

  • f: Fichero.
  • d: Directorio.
  • l: Enlace simbólico.
  • x: Fichero ejecutable.
  • e: Fichero vacío

Por ejemplo, para que nos muestre únicamente los enlaces simbólicos:

fdfind -tl

Por ejemplo como en la imagen de mi portátil:

Mostrar únicamente enlaces simbólicos

Respecto a cómo funciona la distinción entre mayúsculas y minúsculas con los patrones de búsqueda, escribimos lo siguiente para buscar primero los archivos que contienen “file” en sus nombres de archivo, y luego los que contienen “File” en sus nombres de archivo:

fdfind -tf file
#O bien
fdfind -tf File

Con el resultado:

Distinción entre mayúsculas y minúsculas

En el primer comando, usamos un patrón de búsqueda en minúsculas, lo que hizo que fd operara sin distinción entre mayúsculas y minúsculas. Esto significa que tanto “File” como “file” son coincidencias válidas.

Nuestro segundo comando contenía un carácter en mayúsculas, lo que hizo que fd operara de manera sensible entre mayúsculas y minúsculas. Esto significa que solo “File” es una coincidencia válida.

Estos son algunos ejemplos de uso, la herramienta tiene muchas más posibilidades, que os envito a descubrir.

Para obtener más información:

Página de Github de fd

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies