Mnoho programátorů Linuxu používá find
velí každý den své kariéry. Ale find
poskytuje omezenou sadu položek souborového systému, a pokud musíte udělat velkou sadu find
operace, není to ani moc rychlé. Takže místo toho raději používám Rust fd
protože poskytuje rozumné výchozí hodnoty, které fungují pro většinu případů použití.
Jak říká jeho README, "fd
je program pro vyhledávání záznamů ve vašem souborovém systému. Je to jednoduchá, rychlá a uživatelsky přívětivá alternativa k find
." Obsahuje paralelizované procházení adresářů, takže může prohledávat více adresářů najednou. Podporuje regulární výrazy (regex) a vzory založené na globu.
Instalovat fd
V systému Linux můžete nainstalovat fd
z vašeho softwarového úložiště (seznam dostupných balíčků lze nalézt na stránce fd na Repology.) Například na Fedoře:
$ sudo dnf install fd-find
V systému macOS použijte MacPorts nebo Homebrew.
Případně můžete použít správce balíčků Rust's Cargo:
$ cargo install fd-find
Použít fd
Chcete-li provést jednoduché vyhledávání, spusťte fd
po jakémkoli argumentu, například:
$ fd sh
registry/src/github.com-1ecc6299db9ec823/cc-1.0.67/src/bin/gcc-shim.rs
registry/src/github.com-1ecc6299db9ec823/exa -0.10.1/completions/completions.bash
registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/completions/completions.fish
registry/src/github.com-1ecc6299db9ec823/exa -0.10.1/completions/completions.zsh
registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/xtests/run.sh
registry/src/github.com-1ecc6299db9ec823/git2 -0.13.18/src/stash.rs
registry/src/github.com-1ecc6299db9ec823/libc-0.2.94/src/unix/solarish
registry/src/github.com-1ecc6299db9ec823/libgit2 -sys-0.12.19+1.1.0/libgit2/cmake/SelectHashes.cmake
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/include/git2/ stash.h
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/include/git2/sys/hashsig.h
registry/src/github. com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/backport.sh
registry/src/githu b.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/leaks.sh
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1. /libgit2/script/valgrind.sh
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/src/config_snapshot.c
[...]
Pokud chcete vyhledat konkrétní adresář, zadejte cestu k adresáři jako druhý argument pro fd
, například:
$ fd passwd /etc
/etc/pam.d/passwd
/etc/passwd
/etc/passwd-
/etc/security/opasswd
Chcete-li vyhledat konkrétní příponu souboru, použijte -e
jako možnost. Například:
$ fd . '/home/ssur/exa' -e md
/home/ssur/exa/README.md
/home/ssur/exa/devtools/README.md
/home/ssur/ exa/man/exa.1.md
/home/ssur/exa/man/exa_colors.5.md
/home/ssur/exa/xtests/README.md
$Příkaz můžete také provést zadáním
-x
nebo-X
.
-x/--exec
option spustí externí příkaz pro každý výsledek vyhledávání (paralelně).-X/--exec-batch
volba spustí externí příkaz jednou se všemi výsledky hledání jako argumenty.
Chcete-li například rekurzivně najít všechny archivy ZIP a rozbalit je:
$ fd -e zip -x unzip
Nebo chcete-li vypsat všechny soubory v konkrétním adresáři, které byly změněny za posledních n počet dní, použijte --changed-within
možnost:
$ fd . '/home/ssur/Work/' --changed-within 10d
/home/ssur/Work/wildfly/connector/src/main/java/org/jboss/as/connector/subsystems/data_sources/JdbcDriverAdd. java
/home/ssur/Work/wildfly/connector/src/main/java/org/jboss/as/connector/subsystems/data_sources/JdbcExample.java
[...]
A k prohledání všech souborů, které byly změněny před určitým počtem dní, použijte --changed-before
n možnost:
$ fd . '/home/ssur/Work/' --changed-before 365d
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Zde .
funguje jako zástupný znak pro pokyn fd
vrátit všechny soubory.
Chcete-li se dozvědět více o funkcích fd
, prostudujte si jeho dokumentaci na GitHubu.
Závěr
Jedna věc se mi na fd
obzvlášť líbí je, že vzor vyhledávání ve výchozím nastavení nerozlišuje velká a malá písmena, což usnadňuje hledání věcí, i když máte nepřesné znalosti o tom, co hledáte. Ještě lépe, automaticky přepne na rozlišování velkých a malých písmen, pokud vzor obsahuje velká písmena.
Další výhodou je, že používá barevné kódování ke zvýraznění různých typů souborů.
Pokud již tento úžasný nástroj Rust používáte, dejte nám prosím vědět své myšlenky v komentářích.