La mayoría de los usuarios de Linux están bien familiarizados con el comando de búsqueda y los muchos casos en los que se puede utilizar. Hoy vamos a revisar una alternativa para encontrar el comando, llamada fd .
fd , es una herramienta simple, rápida y fácil de usar, diseñada para funcionar más rápido en comparación con buscar . No pretende reemplazar completamente a find , sino una alternativa fácil de usar que funciona un poco más rápido.
Algunas de las características notables de fd :
- Sintaxis fácil de usar:fd *patrón* en lugar de buscar -iname *patrón* .
- Salida colorida similar a la del comando ls.
- Rendimiento rápido. Los puntos de referencia de los desarrolladores están disponibles aquí.
- Búsqueda inteligente que no distingue entre mayúsculas y minúsculas de forma predeterminada y cambia a mayúsculas y minúsculas si el patrón contiene un símbolo en mayúsculas.
- No busca en archivos y directorios ocultos de forma predeterminada.
- No examina .gitignore por defecto.
- Reconocimiento de Unicode.
Cómo instalar fd en Linux
Vamos a ver cómo instalar fd en diferentes distribuciones de Linux.
Para Ubuntu y Debian distribuciones basadas, deberá descargar la última versión de fd desde la página de lanzamiento e instalarla usando los siguientes comandos.
$ wget https://github.com/sharkdp/fd/releases/download/v7.3.0/fd-musl_7.3.0_amd64.deb $ sudo dpkg -i fd-musl_7.3.0_amd64.deb
En otras distribuciones de Linux, puede instalar fd desde el repositorio predeterminado usando el administrador de paquetes como se muestra.
# dnf install fd-find [On Fedora] # pacman -S fd [On Arch Linux] # emerge -av fd [On Gentoo] # zypper in fd [On OpenSuse]
Cómo usar fd en Linux
Similar al comando de búsqueda, fd tiene muchos casos de uso, pero comencemos revisando las opciones disponibles:
# fd -h OR # fd --help
Echemos un vistazo a algunos ejemplos. Puede ejecutar fd sin ningún argumento, el resultado es muy similar al comando ls -R.
# fd
En el próximo fd ejemplos, usaré una instalación predeterminada de WordPress ubicada en /var/www/html/
para buscar diferentes archivos y carpetas.
En el siguiente ejemplo, he tomado solo los primeros 10 resultados para una salida más corta del comando.
# fd | head
Digamos que queremos encontrar todos los archivos jpg. Podemos usar el “-e”
marca para filtrar por extensión de archivo:
# fd -e jpg
El “-e”
La bandera se puede usar en combinación con un patrón como este:
# fd -e php index
El comando anterior buscará archivos con extensión php y tener la cadena “index ” en ellos:
Si desea excluir algunos resultados, puede usar el “-E”
marcar así:
# fd -e php index -E wp-content
Este comando buscará todos los archivos con extensión php que contengan la cadena “index ” y excluirá los resultados del “wp-content ” directorio.
Si desea especificar un directorio de búsqueda, simplemente debe proporcionarlo como argumento:
# fd <pattery> <directory>
Así como buscar , puede usar -x
o --exec
argumentos para realizar la ejecución de comandos en paralelo con los resultados de la búsqueda.
Aquí hay un ejemplo donde usaremos chmod para cambiar los permisos de los archivos de imagen
# fd -e jpg -x chmod 644 {}
Lo anterior encontrará todos los archivos con extensión jpg y ejecutará chmod 644 <path-to-file>
.
Aquí hay una explicación útil y el uso de los corchetes:
{}
– Un marcador de posición que se cambiará con la ruta del resultado de la búsqueda (wp-content/uploads/01.jpg ).{.}
– similar a{}
, pero sin utilizar la extensión de archivo (wp-content/uploads/01 ).{/}
:un marcador de posición que será reemplazado por el nombre base del resultado de la búsqueda (01.jpg ).{//}
:directorio principal de la ruta detectada (wp-content/uploads ).{/.}
:Solo el nombre base, sin la extensión (01 ).
Conclusión
Esta fue una breve revisión del comando fd , que algunos usuarios pueden encontrar más fácil de usar y más rápido. Como se mencionó anteriormente en este artículo fd no pretende reemplazar completamente find , sino que proporcionan un uso simple, una búsqueda más fácil y un mejor rendimiento. Fd no ocupa mucho espacio y es una buena herramienta para tener en tu arsenal.