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-findPara desinstalarlo más tarde, puedes utilizar:
sudo apt-get remove fd-findFedora
En Fedora, puedes instalar fd con:
sudo dnf install fd-findPara desinstalarlo:
sudo dnf remove fd-findmacOS (usando Homebrew)
Si estás en macOS y usas Homebrew, puedes instalar fd con:
brew install fdPara desinstalarlo:
brew uninstall fdNota: 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ÓNExplicació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.txtEl 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.pdfEl 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.jpgEl comando lista todos los archivos y directorios modificados en los últimos 7 días.
4. Buscar solo directorios
Sintaxis:
fd --type d PATRÓNExplicació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/proyectosEl 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ÓNExplicació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.txtEl 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.flacEl 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 COMANDOExplicación: busca archivos que coincidan con el patrón y ejecuta un comando específico en ellos.
Ejemplo:
fd '.*.txt' -x catSalida:
Contenido de archivo1.txt
Contenido de archivo2.txtEl 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ÓNExplicació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.mdEl 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.txtEl 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 PERMISOSExplicación: busca archivos con permisos específicos.
Ejemplo:
fd --perm 755Salida:
/home/usuario/scripts/script_ejecutable.shEl 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.