fd – Poderosa alternativa al comando Find de Linux
El árbol de directorios de Linux obedece al Estándar de jerarquía del sistema de archivos, que permite a los usuarios y desarrolladores de Linux localizar archivos del sistema en directorios estándar. Dado que Linux es un sistema operativo muy orientado a archivos, es importante que sepa cómo buscar archivos. Existen algunos comandos disponibles que pueden ayudar al trabajo. En este artículo, le mostraré cómo puede encontrar sus archivos con el comando fd en su sistema Linux.
¿Qué es el comando fd?
fd es una alternativa simple, rápida y fácil de usar al comando de búsqueda de Linux. Tiene la particularidad de colorear la salida del terminal y puede ignorar directorios / archivos ocultos. También admite el uso de expresiones regulares.
Instalar la herramienta fd
El comando fd necesita el administrador de paquetes de rust carga Para ser instalado.
Instale paquetes de óxido y comando de carga
Así que primero instalaremos rustc y carga
# curl https://sh.rustup.rs -sSf | sh info: downloading installer Welcome to Rust! This will download and install the official compiler for the Rust programming language, and its package manager, Cargo. It will add the cargo, rustc, rustup and other commands to Cargo's bin directory, located at: /root/.cargo/bin This path will then be added to your PATH environment variable by modifying the profile files located at: /root/.profile /root/.bash_profile You can uninstall at any time with rustup self uninstall and these changes will be reverted.
Para comenzar, necesita el directorio bin de Cargo ($ HOME / .cargo / bin) en su variable de entorno PATH. Puede configurarlo en su shell actual ejecutando
# source $HOME/.cargo/env
Puedes comprobar lo siguiente
# echo $PATH /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Ahora podemos instalar fd
Instalar el comando fd
ahora que la carga está instalada, podemos instalar el comando fd
# cargo install fd-find Updating registry `https://github.com/rust-lang/crates.io-index` Downloading fd-find v3.0.0 Installing fd-find v3.0.0 Downloading ignore v0.2.2 .......................... .......................... Compiling fd-find v3.0.0 Finished release [optimized] target(s) in 186.48 secs Installing /root/.cargo/bin/fd
Cómo usar el comando fd para encontrar un archivo
Antes de usar el comando fd, necesitamos entender cómo funciona y esto es posible leyendo la ayuda del comando
# fd --help fd 3.0.0 USAGE: fd [FLAGS/OPTIONS] [<pattern>] [<path>] FLAGS: -s, --case-sensitive Case-sensitive search (default: smart case) -p, --full-path Search full path (default: file-/dirname only) -H, --hidden Search hidden files and directories -I, --no-ignore Do not respect .(git)ignore files -L, --follow Follow symlinks -0, --print0 Separate results by the null character -a, --absolute-path Show absolute instead of relative paths -n, --no-color Do not colorize output -h, --help Prints help information -V, --version Prints version information OPTIONS: -d, --max-depth Set maximum search depth (default: none) -j, --threads The number of threads used for searching ARGS: the search pattern, a regular expression (optional) the root directory for the filesystem search (optional)
Ahora que hemos visto cómo funciona el concepto del comando, podemos intentar encontrar un archivo como se muestra a continuación.
# fd book cargo/src/doc/book cargo/src/doc/book/book.toml
Podemos buscar archivos que terminen, por ejemplo, con «jpeg»
# fd jpeg$ Pictures/centos-logo.png.jpeg Pictures/redhat.jpeg Pictures/mozilla.jpeg
o busque un archivo que comience con bbb
# fd ^bbb Pictures Pictures/BigBluebutton/bbb-check-final-config.jpg Pictures/BigBluebutton/bbb-check-final-config.png Pictures/BigBluebutton/bbb-check.png Pictures/BigBluebutton/bbb-conf-check.jpg
Podemos incluir carpeta oculta para investigación.
# fd -H config config .gitconfig .config .ssh/config
Tomemos nuestro primer ejemplo con el parámetro -p para ver el resultado
# fd -p book cargo/src/doc/book cargo/src/doc/book/README.md cargo/src/doc/book/book.toml cargo/src/doc/book/src ...................... ...................... cargo/src/doc/book/src/reference/specifying-dependencies.md cargo/src/doc/book/theme cargo/src/doc/book/theme/favicon.png
Puede ver que para la misma investigación, esta vez muestra el mismo resultado y más información adicional. Muestra el resultado de cada ruta que contiene la palabra libro
Es posible usar el comando sin ningún argumento e imprimirá cada archivo contenido en un directorio en cada línea del terminal
# fd gifcurry-linux-2.1.0.0.tar.gz funny-cat.mkv plage jumpfm labor gifcurry-linux-2.1.0.0 duplicate ................... ................... electron-quick-start/main.js electron-quick-start/renderer.js electron-quick-start/index.html electron-quick-start/README.md electron-quick-start/package.json electron-quick-start/LICENSE.md jumpfm/build/icons jumpfm/build/superhero.png.ico jumpfm/build/superhero.png.icns jumpfm/ts/files.ts jumpfm/fonts/RobotoMono-Regular.ttf labor/package/pack6.txt gifcurry-linux-2.1.0.0/packages/00-index.tar gifcurry-linux-2.1.0.0/packages/00-index.cache
El comando fd puede ser más útil para buscar archivos que el otro comando. Colorear el resultado es muy útil para ver el resultado y es posible, por alguna razón, desactivar la coloración del resultado.