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。
評論留言