Los comandos Linux forman parte esencial del sistema ya que son ellos los que nos permiten ejecutar cientos de tareas de toda índole en el sistema, ya sea obtener información, instalar un programa o aplicación o crear y editar usuario, todo siempre estará ligado a un comando, muchos comandos tienen más importancia que otros y uno de estos es el comando FD el cual analizaremos con Solvetic y veremos cómo ayudará a las tareas rutinarias en https://www.solvetic...y/8-linux-unix/Linux.
FD se ha desarrollado como una solución mucho más simple para encontrar elementos en Linux y una de sus principales ventajas es que es mucho más rápido de lo que pensamos, al usar el comando FD nos toparemos con un comando recursivo el cual no hace el análisis en los directorios ocultos de forma predeterminada, es totalmente compatible con Git y no distingue entre mayúsculas y minúsculas.
- Cuenta con una salida de terminal coloreada idéntica a ls
- Integra la sintaxis fd PATTERN en vez de find -iname '* PATTERN *'.
- Posee expresiones regulares
- Admite Unicode
- Ignora los directorios y archivos ocultos de forma predeterminada
- Ignora los patrones de su .gitignore por defecto
- Al usar FD, la búsqueda no diferencia entre mayúsculas y minúsculas por defecto, podemos establecer la búsqueda de mayúsculas o minúsculas solo si el patrón contiene un carácter en mayúscula *.
- El nombre del comando es un 50% más corto * que find lo cual simplifica la acción de búsqueda
- Otro de los puntos de FD es que está en la capacidad de colorear los archivos según su extensión, en este caso se debe establecer la variable de entorno LS_COLORS.
Vamos a ver cómo usar el comando FD en Linux de forma completa.
1. Instalar comando FD en Linux
Para este caso usaremos Ubuntu 20.04, para instalarlo allí accedemos a la terminal y ejecutamos:
sudo apt install fd-find
En caso de contar con otras distribuciones podemos ejecutar lo siguiente:
- Fedora: sudo dfn install fd-find
- Manjaro: sudo pacman -Syu fd
- Alpine: apk add fd
- Gentoo: emerge -av fd
Una vez instalado comprobamos la versión actual de FD con el siguiente comando:
fdfind –version
2. Usar comando FD en Linux
En caso de usar FD sin ningún parámetro veremos que el resultado es similar a ls, la diferencia radica en que FD enumera los archivos en subdirectorios por defecto:
fdind
Podemos realizar una búsqueda por tipo de extensión, para ello debemos usar el parámetro -e (extensión) así:
fdfind -e .docx
Esto desplegará la ruta y nombre de los archivos con esa extensión en particular:
También es posible realizar la búsqueda de un objeto por su nombre:
fdfind “nombre”
En caso de que la búsqueda deba iniciar en un directorio particular, será necesario añadir la ruta de archivo en la línea de comando, por ejemplo:
fdfind conf /etc
Esto desplegara todos los resultados que incluyen “conf”:
3. Buscar directorios y archivos con FD en Linux
El comando fd está en la capacidad de buscar directorios, archivos (ejecutables y vacíos) y enlaces simbólicos, para una búsqueda completa usamos el parámetro -t (tipo) con alguna de las siguientes opciones disponibles:
- f: archivo (file)
- d: directorio (directory)
- l: enlace simbólico
- x: archivo ejecutable
- e: archivo vacío
Vamos a buscar el directorio Descargas:
fdfind -td Descargas
Para el uso de las mayúsculas veremos el comportamiento de FD, en este caso realizaremos la siguiente búsqueda.
Notemos que con la búsqueda de “Solvetic” lanzo ambos resultados mientras que con “Solvetic” solo desplego el que cumplía con la mayúscula.
fdfind -tf Solvetic fdfind -tf Solvetic
4. Ejecutar comandos con FD en Linux
Podemos usar FD para iniciar otro comando y ejecutarlo en cada los archivos que sean detectados, buscamos los archivos .deb:
fdfind -e deb
O bien podemos buscar archivos ZIP, por ejemplo:
Es posible usar la opción -x (exec), con el fin de correr el archivo encontrado hacia otro comando para que sea procesado, usaremos "{}" el cual es un marcador de posición que representa el archivo que ha sido detectado:
fdfind-e zip -x unzip {}
Al ejecutar este comando se descomprimirá el archivo en el directorio de trabajo actual que estamos, en caso de desear que sea descomprimido en otro directorio debemos usar lo siguiente:
- {}: ruta completa del archivo y el nombre del archivo que ha sido detectado
- {/}: nombre del archivo detectado
- {//}: directorio que contiene el archivo detectado
- {/.}: nombre del archivo encontrado, sin su extensión
Para que el archivo de este ejemplo sea descargado en su directorio de origen debemos ejecutar lo siguiente:
fdfind-e zip -x unzip {} -d {//}
5. Opciones comando FD Linux
La sintaxis general de uso es la siguiente:
fd [FLAGS/OPCIONES] [<origen>] [<ruta>...]
- -H, --hidden: busca archivos y directorios ocultos
- -I, --no-ignore: ignora archivos
- -s, - mayúsculas y minúsculas: hace la búsqueda sensible a mayúsculas y minúsculas
- -g, --glob: búsqueda basada en Glob
- -a, --absolute-path: despliega las rutas absolutas en lugar de relativas
- -l, --list-details: usa un formato de listado largo con metadatos de archivo
- -L, --follow: hace seguimiento a enlaces simbólicos
- -p, --full-path: busca rutas completas
- -0, --print0: los resultados son separados por el carácter nulo
- -h, --help: despliega la ayuda del comando
- -V, --version: permite ver la version usada de FD
- -d, --max-depth <nivel>: define la profundidad máxima de búsqueda
- -t, --type: filtra la búsqueda por tipo
- -e, --extension: filtra por extensión de archivo
- -x, --exec: ejecuta un comando para cada resultado de búsqueda con FD
- -c, --color: establece cuando usar colores
FD es una alternativa funcional para realizar búsquedas dinámicas en Linux con grandes ventajas de resultados y configuración.