fd, dosya sisteminde öğeleri bulmak için kullanılan bir programdır ve mevcut find komutuna göre daha basit, daha hızlı ve daha kullanıcı dostu bir alternatiftir
findin tüm özelliklerini desteklemez, ancak yaygın kullanım senaryoları için makul varsayılanlar sunar
- Windows, macOS, Linux
- Sezgisel sözdizimi:
fd PATTERN biçiminde basitçe kullanılabilir (find -iname '*PATTERN*' komutundan daha pratiktir)
- Düzenli ifadeler ve glob desenleri desteği
- Paralel dizin taraması ile hızlı performans
- Dosya türüne göre renkli vurgulama (
ls benzeri)
- Paralel komut çalıştırma desteği
- Akıllı büyük/küçük harf ayrımı: varsayılan olarak büyük/küçük harf duyarsızdır, büyük harf içerirse duyarlı olur
- Gizli dosya ve dizinler varsayılan olarak yok sayılır
.gitignore desenleri varsayılan olarak yok sayılır
- Komut adı
finde göre %50 daha kısadır
Kullanım
- Geçerli dizinde deseni içeren öğeleri ara
fd netfl
- Düzenli ifadeyle arama yapılabilir
fd '^x.*rc$'
- Belirli bir dizinde ara
fd passwd /etc
- Geçerli dizin altındaki tüm dosyaları özyinelemeli olarak listele
fd
- Belirli bir dosya uzantısını ara (
-e seçeneği) fd -e md
- Tam dosya adına göre ara (
-g seçeneği) fd -g libc.so /usr
- Gizli ve yok sayılan dosyaları dahil ederek ara (
-H, -I seçenekleri) fd -H pre-commit fd -I num_cpu
- Dosya adı yerine tam yol üzerinde ara (
-p seçeneği) fd -p '.*/lesson-\d+/[a-z]+.(jpg|png)'
- Bulunan her sonuç için komut çalıştır (
-x) fd -e zip -x unzip
- Tüm arama sonuçlarını tek bir komuta aktar (
-X) fd -g 'test_*.py' -X vim
- Yer tutucu sözdizimi
- {}: arama sonucunun tam yolu
- {.}: uzantı hariç yol
- {/}: dosya adı
- {//}: üst dizin
- {/.}: dosya adının uzantısız hali
- Belirli dizin veya dosyaları hariç tutabilir (
-E seçeneği) fd -H -E .git
.fdignore dosyası oluşturarak genel hariç tutma desenleri tanımlanabilir
- Bulunan dosyaları silebilir (
-X rm) fd -H '^\.DS_Store$' -tf -X rm
Başlıca komut seçenekleri
- -H: gizli dosya ve dizinleri dahil ederek ara
- -I:
.gitignore ve .fdignore dosyalarını yok say
- -p: tam yol üzerinde ara
- -e: belirli uzantıyı ara
- -x: arama sonuçlarında komut çalıştır
- -X: tüm arama sonuçlarını tek bir komuta aktar
- -E: belirli dosya veya dizinleri hariç tut
Performans karşılaştırması (Benchmark)
- 750.000 dizin ve 4 milyon dosya üzerinde yapılan arama testi sonucu
find performansı: yaklaşık 19,9 saniye
fd performansı: yaklaşık 854,8 ms
findden 23 kat daha hızlı
Diğer programlarla entegrasyon
fd arama sonuçları fzf içinde gösterilebilir export FZF_DEFAULT_COMMAND='fd --type file'
fd çıktısı rofi içinde menü olarak gösterilebilir fd --type f -e pdf . $HOME | rofi -dmenu
- Çıktı sonuçları ağaç yapısında gösterilebilir
fd | tree --fromfile
- Arama sonuçları
xargs ile kullanılabilir fd -0 -e rs | xargs -0 wc -l
2 yorum
neovim eklentileri arasında
fdkullanan bir şey vardı; kurdum ve o zamandan beri kullanıyorum, haha.Hacker News görüşleri
fd’yi çok kullanıyorum. Her gün kullanıyorum ve gerçekten harikahyperfineda hak ettiği değeri görmeyen müthiş bir araçbat,fd,hexyl,hyperfinekullanıyorumfd,bat,numbat,hexyl,hyperfine’ı hızlıca kurabilir ve ekran görüntülerini Terminal Trove’da görebilirsinizfd,bat,numbat,hyperfine,hexyliçin bağlantılar veriliyorfdvergbayrakları tutarlı olsaydı. Örneğin hemfdhemrgiçinde--typebayrağı var ama anlamları farklıfdiçin bu dosya/dizin/sembolik bağlantı vb. anlamına geliyor,rgiçinse dosya MIME türü anlamına geliyorfdiçinde--extensionbayrağı var amargiçinde yokripgrep’i VS Code içinde kullanıyorum ama komut satırındagrepkullanıyorumfindyerinefd,timeyerinehyperfine,grepyerineripgrepkullanılabilirasciinemayı.gif’e çevirent-rec, manuel commit oluşturankojigibi araçlar da varfd’yi deneyeceğim.findin argüman kullanımını hatırlamak zor olduğu için geneldefind . | grep what_i_am_looking_forkullanıyorumxargsile entegre çalışması hoşuma gittifd’nin symlink dizinlerinde gezinmeyi nasıl ele aldığını bulamadımfd’yi yoğun kullanıyorum ve yeni cihazlara varsayılan olarak kuruyorumfindkullandım ama rahat bir kullanım deneyimi değilfindkullanıyorumfdiçinde yok saymama seçeneği var ama hatırlamayınca yinefinde dönüyorumfd,tarvelngibi kullanımı hatırlaması zor araçlardan birifindin tuhaflıklarına rağmen onu daha iyi hatırlıyorum