fd-find
Simple, fast and user-friendly alternative to find
NAME
fd - find entries in the filesystem
SYNOPSIS
fd [-HIEsiaLp0hV] [-d depth] [-t filetype] [-e ext] [-E exclude] [-c when] [-j num] [-x cmd] [pattern] [path...]
DESCRIPTION
fd is a simple, fast and user-friendly alternative to find(1).
OPTIONS
-H, --hidden | |||||||||||||||||||||||||||
Include hidden files and directories in the search results (default: hidden files and directories are skipped). | |||||||||||||||||||||||||||
-I, --no-ignore | |||||||||||||||||||||||||||
Show search results from files and directories that would otherwise be ignored by .gitignore, .ignore or .fdignore files. | |||||||||||||||||||||||||||
--no-ignore-vcs | |||||||||||||||||||||||||||
Show search results from files and directories that would otherwise be ignored by .gitignore files. | |||||||||||||||||||||||||||
-s, --case-sensitive | |||||||||||||||||||||||||||
Perform a case-sensitive search. By default, fd uses case-insensitive searches, unless the pattern contains an uppercase character (smart case). | |||||||||||||||||||||||||||
-i, --ignore-case | |||||||||||||||||||||||||||
Perform a case-insensitive search. By default, fd uses case-insensitive searches, unless the pattern contains an uppercase character (smart case). | |||||||||||||||||||||||||||
-F, --fixed-strings | |||||||||||||||||||||||||||
Treat the pattern as a literal string instead of a regular expression. | |||||||||||||||||||||||||||
-a, --absolute-path | |||||||||||||||||||||||||||
Shows the full path starting from the root as opposed to relative paths. | |||||||||||||||||||||||||||
-L, --follow | |||||||||||||||||||||||||||
By default, fd does not descend into symlinked directories. Using this flag, symbolic links are also traversed. | |||||||||||||||||||||||||||
-p, --full-path | |||||||||||||||||||||||||||
By default, the search pattern is only matched against the filename (or directory name). Using this flag, the pattern is matched against the full path. | |||||||||||||||||||||||||||
-0, --print0 | |||||||||||||||||||||||||||
Separate search results by the null character (instead of newlines). Useful for piping results to xargs. | |||||||||||||||||||||||||||
--show-errors | |||||||||||||||||||||||||||
Enable the display of filesystem errors for situations such as insufficient permissions or dead symlinks. | |||||||||||||||||||||||||||
-h, --help | Print help information. | ||||||||||||||||||||||||||
-V, --version | |||||||||||||||||||||||||||
Print version information. | |||||||||||||||||||||||||||
-d, --max-depth d | |||||||||||||||||||||||||||
Limit directory traversal to at most d levels of depth. By default, there is no limit on the search depth. | |||||||||||||||||||||||||||
-t, --type filetype | |||||||||||||||||||||||||||
Filter search by type:
This option can be used repeatedly to allow for multiple file types.
|
|||||||||||||||||||||||||||
-e, --extension ext | |||||||||||||||||||||||||||
Filter search results by file extension ext. This option can be used repeatedly to allow for multiple possible file extensions. | |||||||||||||||||||||||||||
-E, --exclude pattern | |||||||||||||||||||||||||||
Exclude files/directories that match the given glob pattern. This overrides any other ignore logic. Multiple exclude patterns can be specified. | |||||||||||||||||||||||||||
--ignore-file path | |||||||||||||||||||||||||||
Add a custom ignore-file in ’.gitignore’ format. These files have a low precedence. | |||||||||||||||||||||||||||
-c, --color when | |||||||||||||||||||||||||||
Declare when to colorize search results:
|
|||||||||||||||||||||||||||
-j, --threads num | |||||||||||||||||||||||||||
Number of threads to use for searching (default: number of available CPUs). | |||||||||||||||||||||||||||
-S, --size size | |||||||||||||||||||||||||||
Limit results based on the size of files using the format <+-><NUM><UNIT>
|
|||||||||||||||||||||||||||
--changed-within date|duration | |||||||||||||||||||||||||||
Filter results based on the file modification time. The argument can be provided as a specific point in time (YYYY-MM-DD HH:MM:SS) or as a duration (10h, 1d, 35min). --change-newer-than can be used as an alias.
Examples:
--changed-within 2weeks --change-newer-than "2018-10-27 10:00:00" |
|||||||||||||||||||||||||||
--changed-before date|duration | |||||||||||||||||||||||||||
Filter results based on the file modification time. The argument can be provided as a specific point in time (YYYY-MM-DD HH:MM:SS) or as a duration (10h, 1d, 35min). --change-older-than can be used as an alias.
Examples:
--changed-before "2018-10-27 10:00:00" --change-older-than 2weeks |
|||||||||||||||||||||||||||
-x, --exec command | |||||||||||||||||||||||||||
Execute command for each search result. The following placeholders are substituted by a path derived from the current search result:
|
|||||||||||||||||||||||||||
-X, --exec-batch command | |||||||||||||||||||||||||||
Execute command with all search results at once. A single occurence of the following placeholders is authorized and substituted by the paths derived from the search results before the command is executed:
|
ENVIRONMENT
LS_COLORS | |
Determines how to colorize search results, see dircolors(1) . |
EXAMPLES
Find files and directories that match the pattern ’needle’: | |
$ fd needle | |
Start a search in a given directory (/var/log): | |
$ fd nginx /var/log | |
Find all Python files (all files with the extention .py) in the current directory: | |
$ fd -e py | |
Open all search results with vim: | |
$ fd pattern -X vim |