Linux'ta fd Komutu Nasıl Kullanılır
Yayınlanan: 2022-01-29 Linux'ta fd
, find
komutuna daha kolay bir alternatiftir. Basitleştirilmiş bir sözdizimine sahiptir, mantıklı varsayılanları kullanır ve yerleşik sağduyu davranışına sahiptir. Onun adımlarını ele alalım.
fd'ye karşı find: Fark Nedir?
fd
komutunun, Linux'ta sonsuza kadar var olan geleneksel find
komutunun yerini alması amaçlanmamıştır. Bunun yerine fd
, find
öğesinin yaygın kullanımlarının çoğunu daha basit bir şekilde karşılamaya çalışır ve genellikle find
öğesinden sekiz veya dokuz kat daha hızlıdır. Bazı kıyaslamalarını projenin GitHub deposu sayfasında görebilirsiniz.
fd
, bazı ls
modlarına benzer şekilde renklendirilmiş bir çıktıya sahiptir. Özyinelemelidir, ancak varsayılan olarak gizli dizinleri aramaz. Git'i bilir ve ayrıca ".gitignore" dosyanızdaki tüm kalıpları otomatik olarak yok sayar.
fd
varsayılan olarak büyük/küçük harfe duyarsızdır. Ancak, arama düzeniniz büyük harf içeriyorsa, fd
büyük/küçük harfe duyarlı modda çalışır. Elbette, varsayılanları geçersiz kılabilirsiniz, ancak çoğu durumda sizin lehinize çalışırlar.
İLGİLİ: Tüm Linux'un Arama Komutları Nasıl Kullanılır?
fd yükleme
Ubuntu 19.04'ten (Disco Dingo) beri, resmi olarak bakımı yapılan paketi apt-get
ile çağırarak fd
doğrudan yükleyebilirsiniz. Ubuntu'nun daha eski bir sürümünü çalıştırıyorsanız Git hub sayfasındaki kurulum talimatlarını kontrol edin.
Aşağıdakileri yazın:
sudo apt-get install fd-find
Ubuntu'da, mevcut başka bir yardımcı programla ad çakışmasını önlemek için komut fdfind
. fd
olmasını istiyorsanız, bir takma ad oluşturabilirsiniz:
takma ad fd=fdfind
Takma adı kalıcı hale getirmek ve yeniden başlatmalardan sonra kullanılabilir durumda kalmasını sağlamak için, onu “.bashrc” veya “.bash_aliases” dosyanıza koyun.
İLGİLİ: Linux'ta Takma Adlar ve Kabuk İşlevleri Nasıl Oluşturulur
fd
yüklemek için şu komutu yazın:
sudo dfn yükleme fd-find
Manjaro'da aşağıdakini yazın:
sudo pacman -Syu fd
fd'ye karşı fdfind
Karışıklığı önlemek için, Ubuntu test PC'mizde komutu varsayılan adıyla fdfind
olarak bıraktık. fd
ve fdfind
, aşağıdaki örnekte göreceğiniz gibi tamamen aynı komuttur ( fdfind
sürümünü göstermesini isterseniz, kendisine “fd” der):
fdfind --versiyon
"Fed" komutunu arayacağız, ancak örneklerde Ubuntu "fdfind" kullanacağız. Diğer Linux dağıtımlarında, birkaç tuş vuruşunu kaydetmek için “fdfind” yerine “fd” yazabilirsiniz.
fd ile Basit Aramalar
Komut satırı seçenekleri olmadan fd
kullanırsanız, varsayılan olarak alt dizinlerdeki dosyaları listelemesi dışında, biraz ls
gibi davranır.
Aşağıdakileri yazın:
fdfind
Çıktı, farklı dosya türleri ve dizinler için farklı renklerde görünür.
Belirli bir türdeki dosyaları görmek için
(uzantı) seçeneğini kullanın. Uzantının önüne nokta (.) koymanız gerekmediğini ve büyük/küçük harfe duyarlı olmadığını unutmayın.-e
Örneğin, aşağıdakileri yazabilirsiniz:
fdfind -e png
Şimdi, listelenen dosyalar yalnızca PNG görüntü dosyalarıdır.
Tek bir dosya aramak için adını komut satırına şu şekilde yazın:
fdfind indeksi.sayfa
Dosya bulunur ve bir alt dizinde bulunur. fd
özyinelemeli arama yapmasını söylememize gerek yoktu.
Aramanın belirli bir dizinde başlamasını sağlamak için komut satırına bir dosya yolu ekleyin. Aşağıdaki komut, “/etc” dizininde bir arama başlatacak ve dosya adında “passwd” içeren dosyaları arayacaktır:
fdfind şifresi /vb
Burada, dosya adında “coord” içeren tüm C kaynak kodu dosyalarını arıyoruz:
fdfind -ec koordinatı
Eşleşen iki dosya bulundu.
fd ve Git
Git, son derece popüler bir kaynak kodu sürüm kontrol sistemidir. Git'i bilgisayarınızda kullanıyorsanız, Git'e hangi dosyalarla ilgilenmesi gerektiğini ve hangilerini görmezden gelebileceğini söylemek için muhtemelen “.gitignore” dosyalarını kullanırsınız. Varsayılan olarak fd
, “.gitignore” dosyalarınızdaki ayarlara uyar.
Bu dizinde bir Git deposu ve “.gitignore” dosyamız var. Aşağıdakileri yazıyoruz:
ls -adl .git*
Dosya adında "coord" geçen dosyaları listelemesini fd
isteyelim. Ardından aramayı tekrarlayacağız ve -I
(yok sayma yok) seçeneğini kullanacağız. Bu, fd'ye “ fd
” dosyasındaki ayarları yok saymasını ve eşleşen her dosyayı rapor etmesini söyler.
Tüm bunları yapmak için aşağıdakileri yazıyoruz:
fdfind koordinatı
fdfind koordinatı -I
İkinci sonuç kümesindeki fazladan iki dosya, nesne dosyalarıdır. Bunlar, bir dosya programı derlendiğinde oluşturulur. Daha sonra, programın son yürütülebilir sürümünü oluşturmak için bağlayıcı tarafından kullanılırlar.
Nesne dosyaları genellikle kaynak kodu sürüm kontrol programları tarafından yok sayılır. Programınızı her derlediğinizde yeniden oluşturulurlar, böylece kopyalarını saklamanız gerekmez. “.gitignore” dosyasında Git'e nesne dosyalarını yok saymasını söyleyen bir giriş var ve varsayılan olarak fd
onları da yok sayıyor.
-I
(yok sayma yok) seçeneği, fd'yi “ fd
” dosyası tarafından yönlendirilmek yerine, bulduğu her şeyi döndürmeye zorlar.
Dosya Türleri ve Büyük/Küçük Harfe Duyarlılığı
fd
dizinleri, dosyaları (yürütülebilir ve boş olanlar dahil) ve sembolik bağları aramasını isteyebilirsiniz. Bunu -t
(tür) seçeneğini ve ardından aşağıdaki harflerden birini kullanarak yapabilirsiniz:
- f : Dosya.
- d : Dizin.
- l : Sembolik bağlantı.
- x : Yürütülebilir dosya.
- e : Boş dosya.
Aşağıdaki, resimler adlı bir dizini arar:
fdfind -td görselleri
Geçerli olandan bir alt dizin altında bir eşleşme bulundu.
Büyük/küçük harf duyarlılığının arama kalıplarıyla nasıl çalıştığını görelim. Önce dosya adlarında “geo” geçen dosyaları, ardından dosya adlarında “Geo” geçen dosyaları aramak için aşağıdakileri yazıyoruz:
fdfind -tf coğrafi
fdfind -tf Coğrafi
İlk komutta, fd
büyük/küçük harfe duyarlı olmayan bir şekilde çalışmasına neden olan küçük harfli bir arama modeli kullandık. Bu, hem "Geo" hem de "geo"nun geçerli eşleşmeler olduğu anlamına gelir.
İkinci komutumuz, fd
büyük/küçük harf duyarlı bir şekilde çalışmasına neden olan bir büyük harf karakteri içeriyordu. Bu, yalnızca "Geo"nun geçerli bir eşleşme olduğu anlamına gelir.
Komut Yürütme
fd
komutu, başka bir komut başlatmanıza ve bulunan dosyaların her birinde yürütmenize izin verir.
Kaynak kod dizin ağacımızda bir yerde bir Zip dosyası olduğunu bildiğimizi varsayalım. ZIP uzantılı dosyaları arayan aşağıdaki komutu kullanarak onu arayabiliriz:
fdfinf -e zip
-x
(exec) seçeneği ile, bulunan her dosyayı kendisi tarafından işlenmek üzere başka bir komuta geçirebilirsiniz. Örneğin, ZIP dosyamızın sıkıştırmasını açmak için unzip yardımcı programını çağırmak için aşağıdakini yazabiliriz (“{}”, bulunan dosyayı temsil eden bir yer tutucudur):
fdfind -e zip -x sıkıştırmayı aç {}
Bu, dosyayı geçerli çalışma dizininde açacaktır. ZIP dosyasını içeren dizinde açılmasını istiyorsak aşağıdaki yer tutuculardan birini kullanabiliriz:
- {} : Bulunan dosyanın tam dosya yolu ve adı.
- {/} : Bulunan dosyanın dosya adı.
- {//} : Bulunan dosyayı içeren dizin.
- {/.} : Bulunan dosyanın uzantısı olmadan dosya adı.
ZIP dosyamızın onu içeren dizinde bulunması ve açılması için unzip -d
(dizin) seçeneğini kullanabilir ve üst dizin yer tutucusunu ( {//}
) iletebiliriz:
fdfind -e zip -x sıkıştırmayı aç {} -d {//}
ZIP dosyası daha sonra bulunur ve sıkıştırılmış dosya kendi üst dizininde bulunur.
Bulmanız Gereken Yer?
Bu kadar basitlikle en yaygın kullanımları kapsadığı için fd
, kolayca "bul" komutunuz haline gelebilir. Daha gelişmiş özelliklerine ihtiyaç duyduğunuzda, her zaman o deneyimli ustaya geri dönebilirsiniz, find
.
Linux Komutları | ||
Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar