[中文] [한국어]
fd
ist ein Programm, um Einträge in Ihrem Dateisystem zu finden. Es ist eine einfache, schnelle und benutzerfreundliche Alternative zu find
. Es zielt zwar nicht darauf ab, alle leistungsstarken Funktionen von find
zu unterstützen, bietet zwar vernünftige (Meinung) Standardeinstellungen für die Mehrheit der Anwendungsfälle.
Installation • Verwenden • Fehlerbehebung
fd PATTERN
anstelle von find -iname '*PATTERN*'
.ls
)..gitignore
.find
:-). Um einen Überblick über alle verfügbaren Befehlszeilenoptionen zu erhalten, können Sie entweder fd -h
für eine prägnante Hilfemeldung oder fd --help
für eine detailliertere Version ausführen.
FD wurde entwickelt, um Einträge in Ihrem Dateisystem zu finden. Die grundlegendste Suche, die Sie durchführen können, ist, FD mit einem einzigen Argument auszuführen: das Suchmuster. Nehmen wir beispielsweise an, dass Sie ein altes Skript finden möchten (der Name enthielt netflix
):
> fd netfl
Software/python/imdb-ratings/netflix-details.py
Wenn FD mit nur einem einzigen Argument aufgerufen wird, sucht FD das aktuelle Verzeichnis rekursiv nach Einträgen, die das Muster netfl
enthalten .
Das Suchmuster wird als regulärer Ausdruck behandelt. Hier suchen wir nach Einträgen, die mit x
beginnen und mit rc
enden:
> cd /etc
> fd ' ^x.*rc$ '
X11/xinit/xinitrc
X11/xinit/xserverrc
Die von fd
verwendete reguläre Expressionssyntax ist hier dokumentiert.
Wenn wir ein bestimmtes Verzeichnis durchsuchen möchten, kann es als zweites Argument an FD gegeben werden:
> fd passwd /etc
/etc/default/passwd
/etc/pam.d/passwd
/etc/passwd
FD kann ohne Argumente aufgerufen werden. Dies ist sehr nützlich, um einen kurzen Überblick über alle Einträge im aktuellen Verzeichnis zu erhalten (ähnlich wie ls -R
):
> cd fd/tests
> fd
testenv
testenv/mod.rs
tests.rs
Wenn Sie diese Funktionalität verwenden möchten, um alle Dateien in einem bestimmten Verzeichnis aufzulisten, müssen Sie ein COMPS-Muster wie z. B. verwenden .
oder ^
:
> fd . fd/tests/
testenv
testenv/mod.rs
tests.rs
Oft interessieren wir uns für alle Dateien eines bestimmten Typs. Dies kann mit der Option -e
(oder --extension
) erfolgen. Hier suchen wir alle Markdown -Dateien im FD -Repository:
> cd fd
> fd -e md
CONTRIBUTING.md
README.md
Die Option -e
kann in Kombination mit einem Suchmuster verwendet werden:
> fd -e rs mod
src/fshelper/mod.rs
src/lscolors/mod.rs
tests/testenv/mod.rs
Verwenden Sie die Option -g
(oder --glob
), um Dateien mit genau dem angegebenen Suchmuster zu finden:
> fd -g libc.so /usr
/usr/lib32/libc.so
/usr/lib/libc.so
Standardmäßig sucht FD keine versteckten Verzeichnisse und zeigt in den Suchergebnissen keine versteckten Dateien an. Um dieses Verhalten zu deaktivieren, können wir die Option -H
(oder --hidden
) Option verwenden:
> fd pre-commit
> fd -H pre-commit
.git/hooks/pre-commit.sample
Wenn wir in einem Verzeichnis arbeiten, das ein Git -Repository ist (oder Git -Repositories enthält), sucht FD keine Ordner (und keine Dateien anzeigt), die einem der .gitignore
-Muster übereinstimmen. Um dieses Verhalten zu deaktivieren, können wir die Option -I
(oder --no-ignore
) verwenden:
> fd num_cpu
> fd -I num_cpu
target/debug/deps/libnum_cpus-f5ce7ef99006aa05.rlib
Um wirklich alle Dateien und Verzeichnisse zu durchsuchen, kombinieren Sie einfach die verborgenen Funktionen und ignorieren Sie Funktionen, um alles anzuzeigen ( -HI
) oder verwenden Sie -u
/ --unrestricted
.
Standardmäßig entspricht FD nur mit dem Dateinamen jeder Datei. Mit der Option --full-path
oder -p
können Sie jedoch mit dem vollständigen Pfad übereinstimmen.
> fd -p -g ' **/.git/config '
> fd -p ' .*/lesson-d+/[a-z]+.(jpg|png) '
Anstatt nur die Suchergebnisse anzuzeigen, möchten Sie oft etwas mit ihnen anfangen . fd
bietet zwei Möglichkeiten, um externe Befehle für jedes Ihrer Suchergebnisse auszuführen:
-x
/ --exec
führt einen externen Befehl für jedes der Suchergebnisse aus (parallel).-X
/ --exec-batch
startet den externen Befehl einmal mit allen Suchergebnissen als Argumente . Finden Sie rekursiv alle Reißverschlussarchive und packen Sie sie aus:
fd -e zip -x unzip
Wenn es zwei solche Dateien gibt, file1.zip
und backup/file2.zip
, würde dies unzip file1.zip
und unzip backup/file2.zip
ausführen. Die beiden unzip
Prozesse werden parallel ausgeführt (wenn die Dateien schnell genug gefunden werden).
Finden Sie alle *.h
und *.cpp
Dateien und formatieren Sie sie automatisch mit clang-format -i
:
fd -e h -e cpp -x clang-format -i
Beachten Sie, wie die Option -i
zum clang-format
als separates Argument übergeben werden kann. Deshalb setzen wir die Option -x
zuletzt ein.
Finden Sie alle test_*.py
-Dateien und öffnen Sie sie in Ihrem Lieblings -Editor:
fd -g ' test_*.py ' -X vim
Beachten Sie, dass wir Capital -X
hier verwenden, um eine einzelne vim
-Instanz zu öffnen. Wenn es zwei solcher Dateien gibt, test_basic.py
und lib/test_advanced.py
, werden vim test_basic.py lib/test_advanced.py
ausgeführt.
Um Details wie Dateiberechtigungen, Eigentümer, Dateigrößen usw. anzuzeigen, können Sie fd
angeben, dass sie sie anzeigen sollen, indem Sie ls
für jedes Ergebnis ausführen:
fd … -X ls -lhd --color=always
Dieses Muster ist so nützlich, dass fd
eine Abkürzung bietet. Sie können die Option -l
/ --list-details
verwenden, um ls
auf diese Weise auszuführen: fd … -l
.
Die Option -X
ist auch nützlich, wenn Sie fd
mit RIPGrep ( rg
) kombinieren, um innerhalb einer bestimmten Klasse von Dateien zu suchen, wie alle C ++ -Quelldateien:
fd -e cpp -e cxx -e h -e hpp -X rg ' std::cout '
Konvertieren Sie alle *.jpg
-Dateien in *.png
-Dateien:
fd -e jpg -x convert {} {.}.png
Hier ist {}
ein Platzhalter für das Suchergebnis. {.}
ist ohne die Dateierweiterung gleich. Weitere Informationen zur Platzhaltersyntax finden Sie weiter unten.
Die terminale Ausgabe von Befehlen, die von Parallel Threads unter Verwendung von -x
ausgeführt werden, wird nicht miteinander verschachtelt oder verstümmelt, sodass fd -x
verwendet werden kann, um eine Aufgabe, die über viele Dateien ausgeführt wird, rudimentend parallelisieren zu können. Ein Beispiel dafür ist die Berechnung der Prüfsumme jeder einzelnen Datei in einem Verzeichnis.
fd -tf -x md5sum > file_checksums.txt
Die Optionen -x
und -X
-Optionen nehmen eine Befehlsvorlage als eine Reihe von Argumenten (anstelle einer einzigen Zeichenfolge). Wenn Sie nach der Befehlsvorlage zusätzliche Optionen zum fd
hinzufügen möchten, können Sie sie mit einem ;
.
Die Syntax zum Generieren von Befehlen ähnelt der von GNU parallel:
{}
: Ein Platzhalter -Token, das durch den Pfad des Suchergebnisses ( documents/images/party.jpg
) ersetzt wird.{.}
: Wie {}
, aber ohne die Dateierweiterung ( documents/images/party
).{/}
: Ein Platzhalter, der durch den Grundnamen des Suchergebnisses ( party.jpg
) ersetzt wird.{//}
: Der übergeordnete Pfad ( documents/images
).{/.}
: Der Grundname, mit der Erweiterung entfernt ( party
). Wenn Sie keinen Platzhalter angeben, fügt FD am Ende automatisch ein {}
hinzu.
Für -x
/ --exec
können Sie die Anzahl der parallelen Jobs steuern, indem Sie die Option -j
/ --threads
verwenden. Verwendung --threads=1
für die serielle Ausführung.
Manchmal möchten wir Suchergebnisse von einem bestimmten Unterverzeichnis ignorieren. Zum Beispiel möchten wir vielleicht alle versteckten Dateien und Verzeichnisse ( -H
) durchsuchen, alle Übereinstimmungen aus .git
-Verzeichnissen ausschließen. Wir können dafür die Option -E
(oder --exclude
) verwenden. Es dauert ein willkürliches Glob -Muster als Argument:
> fd -H -E .git …
Wir können dies auch verwenden, um montierte Verzeichnisse zu überspringen:
> fd -E /mnt/external-drive …
.. oder um bestimmte Dateitypen zu überspringen:
> fd -E ' *.bak ' …
Um so dauerhaft auszuschließen, können Sie eine .fdignore
Datei erstellen. Sie funktionieren wie .gitignore
-Dateien, sind aber spezifisch für fd
. Zum Beispiel:
> cat ~ /.fdignore
/mnt/external-drive
* .bak
Notiz
fd
unterstützt auch .ignore
, die von anderen Programmen wie rg
oder ag
verwendet werden.
Wenn Sie möchten, dass fd
diese Muster weltweit ignoriert, können Sie sie in die globale Ignorierdatei von fd
einfügen. Dies befindet sich normalerweise in ~/.config/fd/ignore
in macOS oder Linux und %APPDATA%fdignore
in Windows.
Möglicherweise möchten Sie .git/
in Ihre fd/ignore
-Datei einbeziehen, damit .git
-Verzeichnisse und deren Inhalt nicht in der Ausgabe enthalten sind, wenn Sie die Option --hidden
Option verwenden.
Sie können fd
verwenden, um alle Dateien und Verzeichnisse zu entfernen, die mit Ihrem Suchmuster übereinstimmen. Wenn Sie nur Dateien entfernen möchten, können Sie die Option --exec-batch
/ -X
verwenden, um rm
aufzurufen. .DS_Store
:
> fd -H ' ^.DS_Store$ ' -tf -X rm
Wenn Sie sich nicht sicher sind, rufen Sie immer zuerst ohne -X rm
fd
. Verwenden Sie alternativ die Option "Interaktive" rm
S "Interactive":
> fd -H ' ^.DS_Store$ ' -tf -X rm -i
Wenn Sie auch eine bestimmte Klasse von Verzeichnissen entfernen möchten, können Sie dieselbe Technik verwenden. Sie müssen rm
S --recursive
/ -r
-Flag verwenden, um Verzeichnisse zu entfernen.
Notiz
Es gibt Szenarien, in denen die Verwendung von fd … -X rm -r
Rennbedingungen verursachen kann: Wenn Sie einen Weg wie …/foo/bar/foo/…
und alle Verzeichnisse foo
entfernen möchten, können Sie in einer Situation landen, in der die Das äußere foo
-Verzeichnis wird zuerst entfernt und führt zu (harmlosen) "Foo/Bar/Foo": Keine solche Datei oder Verzeichnisse " Fehler im rm
-Anruf.
Dies ist die Ausgabe von fd -h
. Um den vollständigen Satz von Befehlszeilenoptionen anzuzeigen, verwenden Sie fd --help
, der auch einen viel detaillierteren Hilfstext enthält.
Usage: fd [OPTIONS] [pattern] [path]...
Arguments:
[pattern] the search pattern (a regular expression, unless '--glob' is used; optional)
[path]... the root directories for the filesystem search (optional)
Options:
-H, --hidden Search hidden files and directories
-I, --no-ignore Do not respect .(git|fd)ignore files
-s, --case-sensitive Case-sensitive search (default: smart case)
-i, --ignore-case Case-insensitive search (default: smart case)
-g, --glob Glob-based search (default: regular expression)
-a, --absolute-path Show absolute instead of relative paths
-l, --list-details Use a long listing format with file metadata
-L, --follow Follow symbolic links
-p, --full-path Search full abs. path (default: filename only)
-d, --max-depth <depth> Set maximum search depth (default: none)
-E, --exclude <pattern> Exclude entries that match the given glob pattern
-t, --type <filetype> Filter by type: file (f), directory (d/dir), symlink (l),
executable (x), empty (e), socket (s), pipe (p), char-device
(c), block-device (b)
-e, --extension <ext> Filter by file extension
-S, --size <size> Limit results based on the size of files
--changed-within <date|dur> Filter by file modification time (newer than)
--changed-before <date|dur> Filter by file modification time (older than)
-o, --owner <user:group> Filter by owning user and/or group
--format <fmt> Print results according to template
-x, --exec <cmd>... Execute a command for each search result
-X, --exec-batch <cmd>... Execute a command with all search results at once
-c, --color <when> When to use colors [default: auto] [possible values: auto,
always, never]
--hyperlink[=<when>] Add hyperlinks to output paths [default: never] [possible
values: auto, always, never]
-h, --help Print help (see more with '--help')
-V, --version Print version
Suchen wir meinen Home-Ordner nach Dateien, die in [0-9].jpg
enden. Es enthält ~ 750.000 Unterverzeichnisse und etwa 4 Millionen Dateien. Zur Mittelung und statistischen Analyse verwende ich Hyperfein. Die folgenden Benchmarks werden mit einem "warmen"/vorgefüllten Festplatten-Cache durchgeführt (Ergebnisse für einen "kalten" Festplatten-Cache zeigen die gleichen Trends).
Beginnen wir mit find
:
Benchmark 1: find ~ -iregex '.*[0-9].jpg$'
Time (mean ± σ): 19.922 s ± 0.109 s
Range (min … max): 19.765 s … 20.065 s
find
ist viel schneller, wenn es keine reguläre Ausdrucksuche durchführen muss:
Benchmark 2: find ~ -iname '*[0-9].jpg'
Time (mean ± σ): 11.226 s ± 0.104 s
Range (min … max): 11.119 s … 11.466 s
Versuchen wir es nun für fd
. Beachten Sie, dass fd
standardmäßig eine reguläre Ausdrucksuche durchführt. Die Optionen -u
/ --unrestricted
Option sind hier für einen fairen Vergleich erforderlich. Andernfalls muss fd
nicht versteckte Ordner und ignorierte Pfade durchqueren (siehe unten):
Benchmark 3: fd -u '[0-9].jpg$' ~
Time (mean ± σ): 854.8 ms ± 10.0 ms
Range (min … max): 839.2 ms … 868.9 ms
Für dieses spezielle Beispiel ist fd
ungefähr 23 -mal schneller als find -iregex
und ungefähr 13 -mal schneller als find -iname
. Übrigens haben beide Tools genau die gleichen 546 -Dateien gefunden?
Hinweis : Dies ist ein bestimmter Benchmark für eine bestimmte Maschine. Während wir viele verschiedene Tests durchgeführt haben (und konsistente Ergebnisse gefunden haben), könnten die Dinge für Sie unterschiedlich sein! Wir ermutigen alle, es selbst auszuprobieren. In diesem Repository finden Sie alle erforderlichen Skripte.
In Bezug auf die Geschwindigkeit von FD geht viel Guthaben an die regex
und ignore
Kisten, die auch in RipGrep verwendet werden (überprüfen Sie es!).
fd
findet meine Datei nicht! Denken Sie daran, dass fd
versteckte Verzeichnisse und Dateien standardmäßig ignoriert. Es ignoriert auch Muster von .gitignore
-Dateien. Wenn Sie sicherstellen möchten, dass Sie absolut jede mögliche Datei finden, verwenden Sie immer die Optionen -u
/ --unrestricted
Option (oder -HI
um versteckte und ignorierte Dateien zu aktivieren):
> fd -u …
fd
kann Dateien nach Erweiterung wie ls
fördern. Damit dies funktioniert, muss die Umgebungsvariable LS_COLORS
festgelegt werden. In der Regel wird der Wert dieser Variablen durch den Befehl dircolors
festgelegt, der ein bequemes Konfigurationsformat bietet, um Farben für verschiedene Dateiformate zu definieren. Bei den meisten Verteilungen sollten bereits LS_COLORS
festgelegt werden. Wenn Sie unter Windows sind oder nach alternativen, vollständigeren (oder farbenfrohen) Varianten suchen, finden Sie hier, hier oder hier.
fd
ehrt auch die NO_COLOR
-Umgebungsvariable.
fd
scheint mein Regex -Muster nicht richtig zu interpretieren Viele spezielle Regex -Charaktere (wie []
, ^
, $
, ..) sind auch Sonderzeichen in Ihrer Shell. Im Zweifelsfall stellen Sie immer sicher, dass Sie einzelne Zitate rund um das Regex -Muster legen:
> fd ' ^[A-Z][0-9]+$ '
Wenn Ihr Muster mit einem Armaturenbrett beginnt, müssen Sie hinzufügen --
um das Ende der Befehlszeilenoptionen zu signalisieren. Andernfalls wird das Muster als Befehlszeilenoption interpretiert. Verwenden Sie alternativ eine Zeichenklasse mit einem einzelnen Bindestrichcharakter:
> fd -- ' -pattern '
> fd ' [-]pattern '
alias
-ES- oder Shell -Funktionen Shell alias
ES- und Shell -Funktionen können nicht zur Befehlsausführung über fd -x
oder fd -X
verwendet werden. In zsh
können Sie den Alias über alias -g myalias="…"
global machen. In bash
können Sie export -f my_function
verwenden, um Kinderprozesse zur Verfügung zu stellen. Sie müssten noch fd -x bash -c 'my_function "$1"' bash
anrufen. Verwenden Sie für andere Anwendungsfälle oder Shells ein (temporäres) Shell -Skript.
fzf
Sie können FD verwenden, um Eingaben für den Fuzzy-Finder FZF für den Befehlszeilen zu generieren:
export FZF_DEFAULT_COMMAND= ' fd --type file '
export FZF_CTRL_T_COMMAND= " $FZF_DEFAULT_COMMAND "
Anschließend können Sie vim <Ctrl-T>
in Ihr Terminal eingeben, um FZF zu öffnen und die FD-Resulte zu durchsuchen.
Alternativ möchten Sie symbolische Links folgen und versteckte Dateien einschließen (jedoch .git
Ordner ausschließen):
export FZF_DEFAULT_COMMAND= ' fd --type file --follow --hidden --exclude .git '
Sie können sogar die farbige Ausgabe von FD in FZF verwenden, indem Sie einstellen:
export FZF_DEFAULT_COMMAND= " fd --type file --color=always "
export FZF_DEFAULT_OPTS= " --ansi "
Weitere Informationen finden Sie im Abschnitt Tipps des FZF Readme.
rofi
Rofi ist eine grafische Startmenüanwendung, die durch Lesen von Stdin Menüs erstellen kann. Piping fd
-Ausgabe in rofi
S -dmenu
-Modus erstellt fuzzy -suchbare Listen von Dateien und Verzeichnissen.
Erstellen Sie eine von Fall unempfindliche durchsuchbare Multi-Select-Liste von PDF- Dateien unter Ihrem $HOME
-Verzeichnis und öffnen Sie die Auswahl mit Ihrem konfigurierten PDF-Viewer. Um alle Dateitypen aufzulisten, lassen Sie das Argument -e pdf
-Argument fallen.
fd --type f -e pdf . $HOME | rofi -keep-right -dmenu -i -p FILES -multi-select | xargs -I {} xdg-open {}
Um die von ROFI präsentierte Liste zu ändern, fügen Sie dem fd
-Befehl Argumente hinzu. Um das Suchverhalten von ROFI zu ändern, fügen Sie dem Befehl rofi
Argumente hinzu.
emacs
Das EMACS-Paket-Find-File-in-Project kann FD verwenden, um Dateien zu finden.
Fügen Sie nach der Installation von find-file-in-project
die Zeile (setq ffip-use-rust-fd t)
zu Ihrer Datei ~/.emacs
oder ~/.emacs.d/init.el
hinzu.
Führen Sie in EMACs Mx find-file-in-project-by-selected
um passende Dateien zu finden. Führen Sie alternativ Mx find-file-in-project
aus, um alle verfügbaren Dateien im Projekt aufzulisten.
Um die Ausgabe von fd
als Dateibaum zu formatieren, können Sie den Befehl tree
verwenden --fromfile
:
❯ fd | tree --fromfile
Dies kann nützlicher sein als das Ausführen von tree
für sich selbst, da tree
keine Dateien standardmäßig ignoriert, und es unterstützt auch nicht so reichhaltige Optionen wie fd
um zu steuern, was gedruckt werden soll:
❯ fd --extension rs | tree --fromfile
.
├── build.rs
└── src
├── app.rs
└── error.rs
Auf Bash und ähnlich können Sie einfach einen Alias erstellen:
❯ alias as-tree= ' tree --fromfile '
xargs
oder parallel
Beachten Sie, dass fd
eine integrierte Funktion für die Befehlsausführung mit seinen Optionen -x
/ --exec
und -X
/ --exec-batch
verfügt. Wenn Sie es vorziehen, können Sie es trotzdem in Kombination mit xargs
verwenden:
> fd -0 -e rs | xargs -0 wc -l
Hier fordert die Option -0
FD an, Suchergebnisse durch das Null -Zeichen zu trennen (anstelle von Newlines). Auf die gleiche Weise sagt die -0
-Option von xargs
die Eingabe auf diese Weise zu lesen.
... und andere Debian-basierte Linux-Verteilungen.
Wenn Sie Ubuntu 19.04 (Disco Dingo) oder neuer ausführen, können Sie das offiziell gepflegte Paket installieren:
apt install fd-find
Beachten Sie, dass die Binärdatei fdfind
bezeichnet wird, da der binäre Name fd
bereits von einem anderen Paket verwendet wird. Es wird empfohlen, nach der Installation einen Link zu fd
hinzuzufügen, indem Sie den Befehl ln -s $(which fdfind) ~/.local/bin/fd
ausführen, um fd
auf die gleiche Weise wie in dieser Dokumentation zu verwenden. Stellen Sie sicher, dass $HOME/.local/bin
in Ihrem $PATH
ist.
Wenn Sie eine ältere Version von Ubuntu verwenden, können Sie das neueste .deb
-Paket von der Release -Seite herunterladen und es installieren über:
dpkg -i fd_9.0.0_amd64.deb # adapt version number and architecture
Beachten Sie, dass die .deb -Pakete auf der Release -Seite für dieses Projekt immer noch die ausführbare fd
nennen.
Wenn Sie Debian Buster oder neuer betreiben, können Sie das offiziell gepflegte Debian -Paket installieren:
apt-get install fd-find
Beachten Sie, dass die Binärdatei fdfind
bezeichnet wird, da der binäre Name fd
bereits von einem anderen Paket verwendet wird. Es wird empfohlen, nach der Installation einen Link zu fd
hinzuzufügen, indem Sie den Befehl ln -s $(which fdfind) ~/.local/bin/fd
ausführen, um fd
auf die gleiche Weise wie in dieser Dokumentation zu verwenden. Stellen Sie sicher, dass $HOME/.local/bin
in Ihrem $PATH
ist.
Beachten Sie, dass die .deb -Pakete auf der Release -Seite für dieses Projekt immer noch die ausführbare fd
nennen.
Ab Fedora 28 können Sie fd
aus den offiziellen Paketquellen installieren:
dnf install fd-find
Sie können das FD -Paket aus den offiziellen Quellen installieren, sofern das entsprechende Repository aktiviert ist:
apk add fd
Sie können das FD -Paket aus den offiziellen Repos installieren:
pacman -S fd
Sie können FD auch aus der AUR installieren.
Sie können das FD -Aufbau aus dem offiziellen Repo verwenden:
emerge -av fd
Sie können das FD -Paket aus dem offiziellen Repo installieren:
zypper in fd
Sie können fd
über XBPS-Installation installieren:
xbps-install -S fd
Sie können das FD -Paket aus dem offiziellen Repo installieren:
apt-get install fd
Sie können das FD -Paket aus dem offiziellen Repo installieren:
eopkg install fd
Sie können das fd
-Paket von Fedora COPR installieren.
dnf copr enable tkbcopr/fd
dnf install fd
Eine andere Version mit dem langsameren Malloc anstelle von Jemalloc ist ebenfalls im EPEL8/9-Repo als Paket fd-find
erhältlich.
Sie können fd
mit Homebrew installieren:
brew install fd
… Oder mit MacPorts:
port install fd
Sie können vorgefertigte Binärdateien von der Release-Seite herunterladen.
Alternativ können Sie fd
über Scoop installieren:
scoop install fd
Oder über schokoladig:
choco install fd
Oder über Winget:
winget install sharkdp.fd
Sie können das FD -Paket aus dem offiziellen Repo installieren:
guix install fd
Sie können den NIX -Paket -Manager verwenden, um fd
zu installieren:
nix-env -i fd
Sie können Flox verwenden, um fd
in eine Flox -Umgebung zu installieren:
flox install fd
Sie können das FD-Find-Paket aus dem offiziellen Repo installieren:
pkg install fd-find
Unter Linux und MacOS können Sie das FD-Find-Paket installieren:
npm install -g fd-find
Mit Rust's Package Manager -Fracht können Sie FD über:
cargo install fd-find
Beachten Sie, dass Rust Version 1.77.2 oder höher erforderlich ist.
make
wird auch für den Build benötigt.
Die Release -Seite enthält vorkompilierte Binärdateien für Linux, MacOS und Windows. Statisch verbundene Binärdateien sind ebenfalls verfügbar: Suchen Sie nach Archiven mit musl
im Dateinamen.
git clone https://github.com/sharkdp/fd
# Build
cd fd
cargo build
# Run unit tests and integration tests
cargo test
# Install
cargo install --path .
fd
wird unter den Bestimmungen der MIT -Lizenz und der Apache -Lizenz 2.0 verteilt.
Lizenz-Apache- und Lizenz----LIZKT-MIT-Dateien finden Sie Lizenzdetails.