fd adalah program untuk mencari entri di sistem berkas, sebagai alternatif yang lebih sederhana, lebih cepat, dan lebih ramah pengguna dibanding perintah find yang ada
- Meskipun tidak mendukung semua fitur
find, ia menyediakan nilai bawaan yang masuk akal untuk kasus penggunaan umum
- Windows, macOS, Linux
- Sintaks yang intuitif: dapat digunakan secara sederhana dengan format
fd PATTERN (lebih praktis daripada find -iname '*PATTERN*')
- Mendukung regular expression dan pola glob
- Menawarkan performa cepat melalui penelusuran direktori paralel
- Penyorotan warna berdasarkan tipe file (mirip
ls)
- Mendukung eksekusi perintah paralel
- Pembedaan huruf besar/kecil cerdas: secara default mengabaikan huruf besar/kecil, tetapi menjadi sensitif jika mengandung huruf besar
- Secara default mengabaikan file dan direktori tersembunyi
- Secara default mengabaikan pola
.gitignore
- Nama perintahnya 50% lebih pendek dibanding
find
Cara penggunaan
- Mencari entri yang mengandung pola di direktori saat ini
fd netfl
- Dapat mencari dengan regular expression
fd '^x.*rc$'
- Mencari di direktori tertentu
fd passwd /etc
- Menampilkan daftar semua file di bawah direktori saat ini secara rekursif
fd
- Dapat mencari format file tertentu (gunakan opsi
-e) fd -e md
- Dapat mencari nama file yang persis sama (gunakan opsi
-g) fd -g libc.so /usr
- Mencari termasuk file tersembunyi dan file yang diabaikan (gunakan opsi
-H, -I) fd -H pre-commit fd -I num_cpu
- Mencari di seluruh path, bukan hanya nama file (gunakan opsi
-p) fd -p '.*/lesson-\d+/[a-z]+.(jpg|png)'
- Menjalankan perintah untuk setiap hasil pencarian (
-x) fd -e zip -x unzip
- Meneruskan semua hasil pencarian ke satu perintah (
-X) fd -g 'test_*.py' -X vim
- Sintaks placeholder
- {}: path lengkap hasil pencarian
- {.}: path tanpa ekstensi file
- {/}: nama file
- {//}: direktori induk
- {/.}: nama file tanpa ekstensi
- Dapat mengecualikan direktori atau file tertentu (gunakan opsi
-E) fd -H -E .git
- Dapat membuat file
.fdignore untuk menetapkan pola pengecualian global
- Dapat menghapus file yang ditemukan (
-X rm) fd -H '^\.DS_Store$' -tf -X rm
Opsi perintah utama
- -H: mencari termasuk file dan direktori tersembunyi
- -I: mengabaikan
.gitignore dan .fdignore
- -p: mencari di seluruh path
- -e: mencari ekstensi tertentu
- -x: menjalankan perintah pada hasil pencarian
- -X: meneruskan semua hasil pencarian ke satu perintah
- -E: mengecualikan file atau direktori tertentu
Perbandingan performa (Benchmark)
- Hasil pengujian pencarian pada 750.000 direktori dan 4 juta file
- Performa
find: sekitar 19,9 detik
- Performa
fd: sekitar 854,8 ms
- 23 kali lebih cepat daripada
find
Integrasi dengan program lain
- Hasil pencarian
fd dapat ditampilkan di fzf export FZF_DEFAULT_COMMAND='fd --type file'
- Menampilkan hasil keluaran
fd sebagai menu di rofi fd --type f -e pdf . $HOME | rofi -dmenu
- Menampilkan hasil keluaran dalam struktur pohon
fd | tree --fromfile
- Dapat menggunakan hasil pencarian di
xargs fd -0 -e rs | xargs -0 wc -l
2 komentar
Ada plugin neovim yang menggunakan fd, jadi saya menginstalnya dan sampai sekarang masih memakainya, hehe.
Komentar Hacker News