Lesson 19: fd Command
In this lesson, you'll learn how to use the fd command as a simple, fast, and user-friendly alternative to the find command in Linux.
find for searching files and directories.fd is a simple, fast, and user-friendly tool meant to perform faster compared to find, but it is not meant to completely replace find but rather give you an easy-to-use alternative that performs slightly faster.
fd Features
Some of the notable features of fd:
- Easy to use syntax -
fd patterninstead offind -iname pattern. - Colorful output similar to the
lscommand. - Fast performance - benchmarks are available on the developer's repository.
- Smart search - case-insensitive by default and switches to case-sensitive if the pattern contains an uppercase symbol.
- Does not look in hidden files and directories by default.
- Does not look into
.gitignoreby default. - Unicode awareness.
Install fd on Linux
Let's look at how to install fd on different Linux distributions using the default package manager, as shown.
$ sudo apt install fd-find # Debian, Ubuntu and Mint
$ sudo yum install fd-find # RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux
$ sudo emerge -a sys-apps/fd # Gentoo Linux
$ sudo pacman -S fd # Arch Linux
$ sudo zypper install fd # OpenSUSE
$ sudo apk add fd # Alpine Linux
fd Command Syntax
fd [OPTIONS] [PATTERN] [DIRECTORY]
fd Command Options
| Option | Description |
|---|---|
-e EXT |
Filter results by file extension |
-E PATTERN |
Exclude files or directories matching a pattern |
-x or --exec |
Execute a command for each search result in parallel |
-H |
Include hidden files and directories in results |
-i |
Case-insensitive search |
-s |
Case-sensitive search |
-t TYPE |
Filter by type: f (file), d (directory), l (symlink) |
-h or --help |
Display help information |
1. Check Available Options
Similar to the find command, fd has many use cases, but let's start by checking the available options:
# fd -h
Or:
# fd --help
USAGE:
fd [FLAGS/OPTIONS] [<pattern>] [<path>...]
FLAGS:
-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
-e, --extension <ext> Filter by file extension
-E, --exclude <pattern> Exclude entries matching the given glob pattern