fd is a brilliant quick, Rust-based different to the Unix/Linux discover
command. It doesn’t mirror all of discover
‘s highly effective performance; nevertheless, it does present simply sufficient options to cowl 80% of the use instances you would possibly run into. Features like a effectively thought-out and handy syntax, colorized output, good case, common expressions, and parallel command execution make fd
a greater than succesful successor.
Installation
Head over the fd GitHub web page and take a look at the part on set up. It covers the best way to set up the appliance on macOS, Debian/Ubuntu, Red Hat, and Arch Linux. Once put in, you will get an entire overview of all accessible command-line choices by operating fd -h
for concise assist, or fd --help
for extra detailed assist.
Simple search
fd
is designed that will help you simply discover recordsdata and folders in your working system’s filesystem. The easiest search you’ll be able to carry out is to run fd
with a single argument, that argument being no matter it’s that you just’re trying to find. For instance, let’s assume that you just need to discover a Markdown doc that has the phrase providers
as a part of the filename:
$ fd providers
downloads/providers.md
If referred to as with only a single argument, fd
searches the present listing recursively for any recordsdata and/or directories that match your argument. The equal search utilizing the built-in discover
command appears to be like one thing like this:
$ discover . -name 'providers'
downloads/providers.md
As you’ll be able to see, fd
is far less complicated and requires much less typing. Getting extra carried out with much less typing is at all times a win in my guide.
Files and folders
You can prohibit your search to recordsdata or directories by utilizing the -t
argument, adopted by the letter that represents what you need to seek for. For instance, to seek out all recordsdata within the present listing which have providers
within the filename, you’ll use:
$ fd -tf providers
downloads/providers.md
And to seek out all directories within the present listing which have providers
within the filename:
$ fd -td providers
functions/providers
library/providers
How about itemizing all paperwork with the .md
extension within the present folder?
$ fd .md
administration/administration.md
improvement/elixir/elixir_install.md
readme.md
sidebar.md
linux.md
As you’ll be able to see from the output, fd
not solely discovered and listed recordsdata from the present folder, nevertheless it additionally discovered recordsdata in subfolders. Pretty neat. You may even seek for hidden recordsdata utilizing the -H
argument:
fd -H periods .
.bash_sessions
Specifying a listing
If you need to search a selected listing, the title of the listing might be given as a second argument to fd
:
$ fd passwd /and so forth
/and so forth/default/passwd
/and so forth/pam.d/passwd
/and so forth/passwd
In this instance, we’re telling fd
that we need to seek for all situations of the phrase passwd
within the and so forth
listing.
Global searches
What if you already know a part of the filename however not the folder? Let’s say you downloaded a guide on Linux community administration however you haven’t any concept the place it was saved. No downside:
fd Administration /
/Users/pmullins/Documents/Books/Linux/Mastering Linux Network Administration.epub
Wrapping up
The fd
utility is a superb substitute for the discover
command, and I am positive you will discover it simply as helpful as I do. To be taught extra concerning the command, merely discover the quite in depth man web page.