Cómo usar el comando fd en Linux

Contenidos

Una ventana de terminal en una PC con Linux con un escritorio estilo Ubuntu.

En Linux, fd es una alternativa más fácil a la find mando. Cuenta con una sintaxis simplificada, utiliza valores predeterminados sensibles y tiene un comportamiento de sentido común incorporado. Vamos a ponerlo a prueba.

fd versus find: ¿Cuál es la diferencia?

los fd el comando no está destinado a reemplazar lo tradicional find comando, que tiene estado en Linux, bueno, desde siempre. En lugar de, fd intenta satisfacer la mayoría de los usos comunes de find de una manera más sencilla y, a menudo, es ocho o nueve veces más rápido que find. Puede ver algunos de sus puntos de referencia en el proyecto Página del repositorio de GitHub.

fd dispone de una salida coloreada, semejante a la de algunos ls modos. Es recursivo, pero no busca directorios ocultos de forma predeterminada. Sabe acerca de Git y además ignorará automáticamente cualquier patrón en su archivo «.gitignore».

fd no distingue entre mayúsculas y minúsculas de forma predeterminada. A pesar de esto, si su patrón de búsqueda contiene una letra mayúscula, fd opera en un modo sensible a mayúsculas y minúsculas. Decididamente, puede anular los valores predeterminados, pero, en varios casos, funcionan a su favor.

RELACIONADO: Cómo usar todos los comandos de búsqueda de Linux

Instalación de fd

Desde Ubuntu 19.04 (Disco Dingo,) puede instalar fd de forma directa llamando al paquete mantenido oficialmente con apt-get. Si está ejecutando una versión anterior de Ubuntu, marque la instrucciones de instalación en la página del concentrador de Git.

Escriba lo siguiente:

sudo apt-get install fd-find

En Ubuntu, el comando es fdfind para evitar un conflicto de nombre con otra utilidad existente. Si pretendes que sea fd, puede configurar un alias:

alias fd=fdfind

Para hacer que el alias sea persistente y permanecer disponible después de reiniciar, colóquelo en su archivo “.bashrc” o “.bash_aliases”.

RELACIONADO: Cómo crear alias y funciones de shell en Linux

Instalar fd en Fedora, escriba este comando:

sudo dfn install fd-find

En Manjaro, escriba lo siguiente:

sudo pacman -Syu fd

fd versus fdfind

Para evitar confusiones, dejamos el comando con su nombre predeterminado, fdfind, en nuestra PC de prueba Ubuntu. fd y fdfind son exactamente el mismo comando, como verá en el siguiente ejemplo (si pregunta fdfind para mostrar su versión, se llama a sí mismo «fd»):

fdfind --version

Llamaremos al comando «fed», pero en los ejemplos, usaremos Ubuntu «fdfind». En otras distribuciones de Linux, puede escribir «fd» en lugar de «fdfind» para ahorrar algunas pulsaciones de teclas.

Búsquedas simples con fd

Si utiliza fd sin opciones de línea de comandos, se comporta un poco como ls, excepto que enumera archivos en subdirectorios de forma predeterminada.

Escriba lo siguiente:

fdfind

La salida aparece en diferentes colores para diferentes tipos de archivos y directorios.

Para ver archivos de un tipo específico, use el -e (extensión) opción. Tenga en cuenta que no tiene que preceder la extensión con un punto (.), Ni es sensible a mayúsculas y minúsculas.

A modo de ejemplo, puede escribir lo siguiente:

fdfind -e png

Ahora, los únicos archivos enumerados son archivos de imagen PNG.

Para buscar un solo archivo, escriba su nombre en la línea de comando, así:

fdfind index.page

El archivo se encuentra y se encuentra en un subdirectorio. No tuvimos que decir fd para buscar de forma recursiva.

Para que la búsqueda comience en un directorio en particular, incluya una ruta de archivo en la línea de comando. El siguiente comando iniciará una búsqueda en el directorio «/ etc» y buscará archivos que incluyan «passwd» en el nombre del archivo:

fdfind passwd /etc

Aquí, buscamos todos los archivos de código fuente C que contienen «coord» en el nombre del archivo:

fdfind -e c coord

Se encontraron dos archivos coincidentes.

fd y Git

Git es extremadamente popular sistema de control de versiones de código fuente. Si utiliza Git en su computadora, probablemente use archivos “.gitignore” para decirle a Git de qué archivos debería preocuparse y cuáles puede ignorar. Por defecto, fd respeta la configuración de sus archivos «.gitignore».

En este directorio, tenemos un repositorio Git y un archivo «.gitignore». Escribimos lo siguiente:

ls -adl .git*

Preguntemos fd para enumerar cualquier archivo que contenga «coord» en el nombre del archivo. Posteriormente repetiremos la búsqueda y usaremos el -I (no ignorar) opción. Esto dice fd para ignorar la configuración en el archivo «.gitignore» e informar cada archivo coincidente.

Para hacer todo esto, escribimos lo siguiente:

fdfind coord
fdfind coord -I

Los dos archivos adicionales del segundo conjunto de resultados son archivos objeto. Estos se crean cuando se compila un programa de archivos. Posteriormente, el vinculador los utiliza para crear la versión ejecutable final del programa.

Los programas de control de versiones del código fuente suelen ignorar los archivos de objeto. Se regeneran cada vez que compila su programa, por lo que no tiene que almacenar copias de ellos. Hay una entrada en el archivo «.gitignore» que le indica a Git que ignore los archivos de objeto y, de forma predeterminada, fd además los ignora.

los -I (no ignorar) las fuerzas de la opción fd para devolver todo lo que encuentra, en lugar de guiarse por el archivo «.gitginore».

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

Puedes pedir fd para buscar directorios, archivos (incluidos los ejecutables y vacíos) y links simbólicos. Puede hacerlo usando el -t (tipo) opción, seguida de una de las letras siguientes:

  • F: Expediente.
  • D: Directorio.
  • l: Link simbólico.
  • X: Archivo ejecutable.
  • mi: Archivo vacío.

Lo siguiente busca un directorio llamado imágenes:

fdfind -td images

Se encuentra una coincidencia, un subdirectorio más bajo que el actual.

Veamos 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 «geo» en sus nombres de archivo, y después aquellos que contienen «Geo» en sus nombres de archivo:

fdfind -tf geo
fdfind -tf Geo

En el primer comando, usamos un patrón de búsqueda en minúsculas, lo que provocó fd para operar de una manera que no distingue entre mayúsculas y minúsculas. Esto significa que tanto «Geo» como «geo» son coincidencias válidas.

Nuestro segundo comando contenía un carácter en mayúsculas, lo que provocó fd para operar de manera sensible a mayúsculas y minúsculas. Esto significa que solo «Geo» es una coincidencia válida.

Ejecución de comandos

los fd comando le posibilita lanzar otro comando y ejecutarlo en cada uno de los archivos encontrados.

Digamos que sabemos que hay un Archivo zip en algún lugar de nuestro árbol de directorios de código fuente. Podemos buscarlo usando el siguiente comando, que busca archivos con extensión ZIP:

fdfinf -e zip

Con el -x (exec), puede pasar cada archivo encontrado a otro comando para que lo procese. A modo de ejemplo, podemos escribir lo siguiente para llamar al utilidad descomprimir para descomprimir nuestro archivo ZIP (el «{}» es un marcador de posición que representa el archivo encontrado):

fdfind -e zip -x unzip {}

Esto descomprimirá el archivo en el directorio de trabajo actual. Si queremos que se descomprima en el directorio que contiene el archivo ZIP, podemos utilizar uno de los siguientes marcadores de posición:

  • {}: La ruta completa del archivo y el nombre del archivo encontrado.
  • {/}: El nombre de archivo del archivo encontrado.
  • {//}: El directorio que contiene el archivo encontrado.
  • {/.}: El nombre de archivo del archivo encontrado, sin la extensión.

Para que nuestro archivo ZIP se encuentre y descomprima en el directorio que lo contiene, podemos utilizar el comando descomprimir -d (directorio) y pase el marcador de posición del directorio principal ({//}):

fdfind -e zip -x unzip {} -d {//}

A continuación, se ubica el archivo ZIP y se descomprime en su directorio principal.

¿Tu búsqueda preferida?

Debido a que cubre los usos más habituales con tanta sencillez, fd puede convertirse fácilmente en su comando «buscar». Siempre que necesite sus funciones más avanzadas, siempre puede volver a ese veterano experimentado, find.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.