El comando fd, abreviatura de “find directory” (buscar directorio), está diseñado para buscar y localizar archivos y directorios dentro del sistema de archivos. Es conocido por su simplicidad y velocidad, lo que lo convierte en un favorito entre administradores de sistemas y desarrolladores por igual.
En comparación con el comando find tradicional, fd
ofrece una sintaxis más fácil de usar y capacidades de búsqueda más rápidas. Se utiliza comúnmente para localizar archivos específicos, limpiar directorios o incluso en scripts de automatización. Además, el comando fd
se puede emparejar con otros comandos como grep para una funcionalidad de búsqueda más avanzada.
Cómo Instalar el Comando fd
fd
no suele incluirse de forma predeterminada en la mayoría de las distribuciones de Linux, por lo que deberá instalarlo. El proceso de instalación puede variar según la distribución que estés utilizando. Aquí tienes cómo puedes instalar y desinstalar fd en algunas distribuciones comunes:
Ubuntu/Debian
Para instalar fd en Ubuntu o Debian, puedes utilizar el siguiente comando:
sudo apt-get update
sudo apt-get install fd-find
Para desinstalarlo más tarde, puedes utilizar:
sudo apt-get remove fd-find
Fedora
En Fedora, puedes instalar fd con:
sudo dnf install fd-find
Para desinstalarlo:
sudo dnf remove fd-find
macOS (usando Homebrew)
Si estás en macOS y usas Homebrew, puedes instalar fd con:
brew install fd
Para desinstalarlo:
brew uninstall fd
Nota: el nombre del paquete puede ser fd-find
en algunos administradores de paquetes, y es posible que debas utilizar el comando fdfind
en lugar de fd
. Puedes crearle un alias a fd
añadiendo alias fd=fdfind
al archivo de configuración de tu shell (por ejemplo, .bashrc
o .zshrc
).
Cómo Utilizar fd
1. Buscar archivos por nombre
Sintaxis:
fd PATRÓN
Explicación: busca archivos y directorios con un nombre que coincida con el patrón proporcionado.
Ejemplo:
fd 'informe.txt'
Salida:
/home/usuario/documentos/informe.txt
/home/usuario/archivo/informe.txt
El comando busca todas las apariciones de informe.txt
en el directorio actual y sus subdirectorios, y muestra las rutas completas a los archivos.
2. Buscar archivos con una extensión específica
Sintaxis:
fd '.*EXTENSIÓN'
Explicación: busca archivos con una extensión específica.
Ejemplo:
fd '.*.pdf'
Salida:
/home/usuario/documentos/archivo1.pdf
/home/usuario/documentos/archivo2.pdf
El comando busca todos los archivos PDF en el directorio actual y sus subdirectorios.
3. Buscar archivos modificados en los últimos N días
Sintaxis:
fd --changed-within 'Nd'
Explicación: busca archivos y directorios modificados en los últimos N días.
Ejemplo:
fd --changed-within '7d'
Salida:
/home/usuario/documentos/informe_semanal.docx
/home/usuario/fotos/imagen_reciente.jpg
El comando lista todos los archivos y directorios modificados en los últimos 7 días.
4. Buscar solo directorios
Sintaxis:
fd --type d PATRÓN
Explicación: busca directorios con un nombre que coincida con el patrón proporcionado.
Ejemplo:
fd --type d ‘proyectos'
Salida:
/home/usuario/desarrollo/proyectos
/home/usuario/diseño/proyectos
El comando busca todos los directorios llamados proyectos en el directorio actual y sus subdirectorios.
5. Buscar archivos excluyendo ciertos directorios
Sintaxis:
fd --exclude-dir DIR PATRÓN
Explicación: busca archivos y directorios que coincidan con el patrón, excluyendo directorios específicos.
Ejemplo:
fd --exclude-dir 'archivo' 'informe.txt'
Salida:
/home/usuario/documentos/informe.txt
El comando busca informe.txt
pero excluye cualquier resultado del directorio “archivo”.
6. Buscar archivos más grandes que un tamaño específico
Sintaxis:
fd --size '+TAMAÑO'
Explicación: busca archivos más grandes que un tamaño específico.
Ejemplo:
fd --size '+1M'
Salida:
/home/usuario/videos/video_grande.mp4
/home/usuario/música/álbum_grande.flac
El comando lista todos los archivos de más de 1 megabyte en el directorio actual y sus subdirectorios.
7. Buscar archivos y ejecutar un comando en ellos
Sintaxis:
fd PATRÓN -x COMANDO
Explicación: busca archivos que coincidan con el patrón y ejecuta un comando específico en ellos.
Ejemplo:
fd '.*.txt' -x cat
Salida:
Contenido de archivo1.txt
Contenido de archivo2.txt
El comando busca todos los archivos de texto y luego ejecuta el comando cat
en ellos, mostrando su contenido.
8. Buscar archivos de forma que no distinga entre mayúsculas y minúsculas
Sintaxis:
fd --ignore-case PATRÓN
Explicación: busca archivos y directorios que coincidan con el patrón, ignorando las mayúsculas y minúsculas.
Ejemplo:
fd --ignore-case 'léame'
Salida:
/home/usuario/LÉAME
/home/usuario/proyectos/léame.md
El comando busca todas las apariciones de léame en el directorio actual y sus subdirectorios, ignorando las mayúsculas y minúsculas.
9. Buscar archivos utilizando una expresión regular
Sintaxis:
fd --regex 'EXPRESIÓN_REGULAR'
Explicación: busca archivos y directorios que coincidan con una expresión regular proporcionada.
Ejemplo:
fd --regex '^a.*.txt$'
Salida:
/home/usuario/documentos/a_archivo.txt
/home/usuario/documentos/otro_archivo.txt
El comando busca todos los archivos de texto en el directorio actual y sus subdirectorios que comiencen con la letra a
.
10. Buscar archivos con permisos específicos
Sintaxis:
fd --perm PERMISOS
Explicación: busca archivos con permisos específicos.
Ejemplo:
fd --perm 755
Salida:
/home/usuario/scripts/script_ejecutable.sh
El comando busca archivos con permisos establecidos en 755 (lectura, escritura y ejecución para el propietario; lectura y ejecución para el grupo y otros).
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.