
fd 命令是 “find directory(查找目录)”的简称,用于搜索和定位文件系统中的文件和目录。它以简单快捷著称,因此深受系统管理员和开发人员的喜爱。
与传统的 find  命令相比,fd 的语法更友好,搜索速度更快。它常用于查找特定文件、清理目录,甚至在自动化脚本中使用。此外,fd 命令还可以与 grep  等其他命令搭配使用,以实现更高级的搜索功能。
如何安装 fd 命令
大多数 Linux 发行版通常不默认包含 fd,因此需要安装。安装过程会根据你使用的发行版而有所不同。以下是在一些常见发行版上安装和卸载 fd 的方法:
Ubuntu/Debian
要在 Ubuntu 或 Debian 上安装 fd,可以使用以下命令:
sudo apt-get update sudo apt-get install fd-find
以后要卸载它,可以使用:
sudo apt-get remove fd-find
Fedora
在 Fedora 上,您可以使用以下命令安装 fd:
sudo dnf install fd-find
卸载:
sudo dnf remove fd-find
macOS (使用 Homebrew)
如果你使用的是 macOS 和 Homebrew,可以用以下命令安装 fd:
brew install fd
卸载:
brew uninstall fd
注:在某些软件包管理器中,软件包名称可能是 fd-find,你可能需要使用 fdfind 命令来代替 fd 。你可以在 shell 配置文件(如 .bashrc 或 .zshrc )中添加别名 fd=fdfind,将其别名为 fd。
如何使用 fd
1. 按名称搜索文件
语法:fd PATTERN
说明:搜索符合给定规则名称的文件和目录。
示例: fd 'report.txt'
输出:
/home/user/scripts/executable_script.sh /home/user/documents/report.txt /home/user/archive/report.txt
该命令会搜索当前目录及其子目录中出现的所有 report.txt,并列出文件的完整路径。
2. 搜索具有特定扩展名的文件
语法:fd '.*EXTENSION'
说明:搜索具有特定扩展名的文件。
示例: fd '.*\.pdf'
输出:
/home/user/scripts/executable_script.sh /home/user/documents/file1.pdf /home/user/documents/file2.pdf
该命令可搜索当前目录及其子目录中的所有 PDF 文件。
3. 搜索最近 N 天内修改的文件
语法:fd --changed-within 'Nd'
说明:搜索最近 N 天内修改过的文件和目录。
示例: fd --changed-within '7d'
输出:
/home/user/scripts/executable_script.sh /home/user/documents/week_report.docx /home/user/photos/recent_image.jpg
该命令会列出最近 7 天内修改过的所有文件和目录。
4. 仅搜索目录
语法:fd --type d PATTERN
说明:搜索符合给定规则名称的目录。
示例: fd --type d 'projects'
输出:
/home/user/scripts/executable_script.sh /home/user/development/projects /home/user/design/projects
该命令会搜索当前目录及其子目录中所有名为 projects 的目录。
5. 搜索排除某些目录的文件
语法:fd --exclude DIR PATTERN
说明:搜索与规则匹配的文件和目录,不包括指定的目录。
示例: fd --exclude 'archive' 'report.txt'
输出:
/home/user/scripts/executable_script.sh /home/user/documents/report.txt
该命令搜索 report.txt ,但不包括 “archive” 目录中的任何结果。
6. 搜索大于特定大小的文件
语法:fd --size '+SIZE'
说明:搜索大于指定大小的文件。
示例: fd --size '+1M'
输出:
/home/user/scripts/executable_script.sh /home/user/videos/large_video.mp4 /home/user/music/big_album.flac
该命令列出当前目录及其子目录中所有大于 1 兆字节的文件。
7. 搜索文件并执行命令
语法:fd PATTERN -x COMMAND
说明:搜索与规则匹配的文件,并对其执行指定命令。
示例: fd '.*\.txt' -x cat
输出:
/home/user/scripts/executable_script.sh Contents of file1.txt Contents of file2.txt
该命令搜索所有文本文件,然后运行 cat 命令,显示文件内容。
8. 以区分大小写的方式搜索文件
语法:fd --ignore-case PATTERN
说明:搜索与规则匹配的文件和目录,忽略大小写。
示例: fd --ignore-case 'readme'
输出:
/home/user/scripts/executable_script.sh /home/user/README /home/user/projects/readme.md
该命令搜索当前目录及其子目录中所有出现的 readme,忽略大小写。
9. 使用正则表达式搜索文件
语法:fd --regex 'REGEX'
说明:搜索与给定正则表达式匹配的文件和目录。
示例: fd --regex '^a.*\.txt$'
输出:
/home/user/scripts/executable_script.sh /home/user/documents/a_file.txt /home/user/documents/another_file.txt
该命令搜索当前目录及其子目录中所有以字母 a 开头的文本文件。
10. 搜索具有特定权限的文件
语法:fd --perm PERMISSIONS
说明:搜索具有特定权限的文件。
示例: fd --perm 755
输出:
/home/user/scripts/executable_script.sh
该命令搜索权限设置为 755 的文件(所有者的权限为读取、写入和执行;组和其他人的权限为读取和执行)。
更多 Linux 命令
下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:
| 目录操作 | rmdir·cd·pwd·exa·ls | 
| 文件操作 | cat·cp·dd·less·touch·ln·rename·more·head | 
| 文件系统操作 | chown·mkfs·locate | 
| 网络 | ping·curl·wget·iptables·mtr | 
| 搜索和文本处理 | find·grep·sed·whatis·ripgrep·fd·tldr | 
| 系统信息和管理 | env·history·top·who·htop·glances·lsof | 
| 用户和会话管理 | screen·su·sudo·open | 
此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。
















暂无评论内容