Ödeme Yöntemleri Abuse

Linux'ta find komutu

04.03.2023, 02:43

Linux'ta find komutu, belirtilen dizinlerdeki dosya ve dizinleri çeşitli kriterlere göre aramak için kullanılır. Bu komut Linux'taki en güçlü ve yaygın yardımcı programlardan biridir.

Komut biçimi

find komutunun temel formatı aşağıdaki gibidir:

find [path] [expression]

nerede:

path dosyaların aranacağı dizinin yoludur (varsayılan olarak find geçerli dizini ve tüm alt dizinlerini arar);

expression, dosyaları aramak için kriterleri tanımlayan bir ifadedir.

Aşağıda, bir find komutu ifadesinde kullanılabilecek en yaygın dosya arama ölçütlerinden bazıları verilmiştir:

-name: dosyaları ada göre arar. Örneğin:

find /home/user -name myfile.txt

-type: belirli bir türdeki dosyaları arayın (örneğin, normal dosyalar için f veya dizinler için d ). Örneğin:

find /home/user -type f

-boyut: dosyaları boyutlarına göre arar. Örneğin:

find /home/user -size +10M

-mtime: dosyaları son değişiklik zamanına göre arayın. Örneğin: -user ve

find /home/user -mtime -7

-user ve -group: dosyaları sahip ve gruba göre arayın. Örneğin:

find /home/user -user bob -group users

Birden fazla arama kriterini tek bir ifadede birleştirmek için -and, -or ve -not mantıksal operatörlerini kullanabilirsiniz.

Örneğin, aşağıdaki komut /home/user dizininde son 7 gün içinde değiştirilmiş ve 10 megabayttan büyük olan tüm dosyaları bulacaktır:

find /home/user -type f -mtime -7 -size +10M

find komutu ayrıca -exec seçeneğini kullanarak bulunan dosyalar üzerinde çeşitli eylemler gerçekleştirmenize olanak tanır. Örneğin, aşağıdaki komutu kullanarak 30 günden daha uzun bir süre önce değiştirilmiş tüm dosyaları silebilirsiniz:

find /home/user -type f -mtime +30 -exec rm {} ;

Burada, -exec seçeneği bulunan her dosya için rm komutunu çalıştırır ve komuttaki dosya adı yerine {} kullanır.

find komutu Linux'ta dosya ve dizinleri bulmak için kullanılan güçlü bir araçtır ve yönetimle ilgili çeşitli görevleri yerine getirmek için kullanılabilir.

Ek seçenekler

find komutu, dosyaları daha doğru bir şekilde bulmak için kullanılabilecek diğer birçok seçeneği destekler:

-iname: dosyaları karakter büyüklüğüne bakmadan ada göre arar. Örneğin:

find /home/user -iname myfile.txt

-regex: adları belirli bir düzenli ifadeyle eşleşen dosyaları arayın. Örneğin:

find /home/user -regex ".*.txt$"

-maxdepth ve -mindepth: alt dizinlerdeki dosyalar için arama derinliğini sınırlar. Örneğin:

find /home/user -maxdepth 2 -type f

-prune: belirli dizinleri aramanın dışında bırakın. Örneğin: -print

find /home/user -path /home/user/excluded -prune -o -type f -print

-print: bulunan dosyaların listesini standart çıktıya verir. Örneğin:

find /home/user -type f -print

find ayrıca dosyaları izinler, dosya öznitelikleri, SELinux etiketleri ve diğerleri gibi çeşitli özniteliklere göre aramayı da destekler. Bu seçenekler hakkında daha fazla bilgi find komutunun belgelerinde bulunabilir.

Komut, tüm dosya sistemindeki dosya ve dizinleri arayabilir, bu da çok fazla zaman ve kaynak gerektirebilir. Bu nedenle, bu komutu kullanırken dikkatli olmak ve sistemde gereksiz dosyalar veya hatalar bulmaktan kaçınmak için arama kriterlerinin doğru ayarlandığından emin olmak önemlidir.