find command unix
Unix'te Find Command'a Giriş: Unix Find File Command ile dosyaları ve dizinleri arayın
Unix find komutu, dosyaları veya dizinleri aramak için güçlü bir yardımcı programdır.
Arama, farklı kriterlere dayalı olabilir ve eşleşen dosyalar tanımlanmış eylemler aracılığıyla çalıştırılabilir. Bu komut, belirtilen her yol adı için dosya hiyerarşisini özyinelemeli olarak azaltır.
=> Tam Unix Eğitim serisi için buraya tıklayın
Ne öğreneceksin:
bulut bilişim hizmetleri sunan şirketler
Unix'te Komutu Bul
Sözdizimi:
find (options) (paths) (expression)
Bu komutun seçenekleri, sembolik bağların nasıl işleneceğini belirtmek için kullanılır. Bunu, aranacak yollar kümesi izler. Hiçbir yol belirtilmezse, o zaman geçerli dizin kullanılır. Verilen ifade daha sonra yollarda bulunan dosyaların her birinde çalıştırılır.
İfade, her biri bir boole döndüren bir dizi seçenek, test ve eylemden oluşur. İfade, sonuç belirlenene kadar, yani sonucun doğru veya yanlış olduğu bilinene kadar yoldaki her dosya için soldan sağa değerlendirilir.
- Seçenek ifadeleri, bulma işlemini kısıtlamak için kullanılır ve her zaman doğru döndürür.
-
- -depth: dizinin kendisini işlemeden önce dizin içeriğini işler.
- -maxdepth: bir maç için alçalmak için sağlanan yolların altındaki maksimum seviyeler.
- -mindepth: Eşleşmeden önce inmek için sağlanan yolların ötesindeki minimum seviyeler.
-
- Test ifadeleri, dosyaların belirli özelliklerini değerlendirmek ve buna göre doğru veya yanlış döndürmek için kullanılır. (Bir 'n' sayımı kullanıldığı her yerde: herhangi bir önek olmadan eşleşme, n'nin tam değeri içindir; '+' önekiyle eşleşme, n'den büyük değerler içindir; ve '-' önekiyle eşleşme n'den küçük değerler için.)
-
- -atime n: Dosyaya n gün önce erişilmişse doğru döndürür.
- -ctime n: Dosyanın durumu n gün önce değiştirilmişse doğru döndürür.
- -mtime n: Dosyanın içeriği n gün önce değiştirilmişse doğru döndürür.
- -name kalıbı: Dosyanın adı sağlanan kabuk kalıbı ile eşleşirse doğru döndürür.
- -iname desen: Dosyanın adı sağlanan kabuk deseniyle eşleşirse doğru döndürür. Buradaki eşleştirme büyük / küçük harfe duyarlı değildir.
- -yol kalıbı: Yolun bulunduğu dosyanın adı kabuk kalıbı ile eşleşirse doğru döndürür.
- -regex kalıbı: Yolun bulunduğu dosyanın adı normal ifadeyle eşleşirse doğru döndürür.
- -size n: Dosya boyutu n bloksa doğru döndürür.
- -perm - mod: kip için tüm izin bitleri dosya için ayarlanmışsa doğru döndürür.
- -type c: Dosya c tipindeyse doğru döndürür (ör. blok aygıt dosyası için 'b', dizin için 'd' vb.).
- -username: Dosyanın sahibi 'name' ise doğru döndürür.
-
- Eylem ifadeleri, yan etkileri olan ve doğru veya yanlış olarak dönebilen eylemleri tanımlamak için kullanılır. Eylem belirtilmezse, eşleşen tüm dosyalar için 'yazdır' eylemi gerçekleştirilir.
-
- -delete: Eşleşen dosyayı silin ve başarılı olursa doğru döndürür.
- -exec komutu: Eşleşen her dosya için verilen komutu yürütün ve dönüş değeri 0 ise true döndürür.
- -ok komutu: 'exec' ifadesi gibi, ancak önce kullanıcıyla onaylar.
- -ls: Eşleşen dosyayı ‘ls -dils’ biçimine göre listeleyin.
- -print: Eşleşen dosyanın adını yazdırın.
- -prune: Dosya bir dizin ise, onun içine inmeyin ve true değerini döndürmeyin.
-
- İfade soldan sağa doğru değerlendirilir ve aşağıdaki operatörler kullanılarak bir araya getirilir.
-
- ( ifade ) : Önceliği zorlamak için kullanılır.
- ! ifade: Bir ifadeyi olumsuzlamak için kullanılır.
- ifade1 -e ifade2: Sonuç, iki ifadenin 've' dir. İfade2 yalnızca ifade1 ile değerlendirilir ve doğrudur.
- ifade1 ifade2: 've' operatörü bu durumda örtüktür.
- ifade1 -veya ifade2: Sonuç, iki ifadeden 'veya' dir. İfade2 yalnızca ifade1'in yanlış olduğu değerlendirilir.
-
Örnekler
Geçerli dizinde ve hiyerarşisinde bulunan tüm dosyaları listeleyin
$ find.
Geçerli hiyerarşide bulunan tüm dosyaları ve aşağıdaki tüm hiyerarşiyi listeleyin / home / xyz
$ find. /home/XYZ
Mevcut dizinde ve hiyerarşisinde abc adına göre bir dosya arayın
$ find ./ -name abc
Mevcut dizinde ve hiyerarşisinde xyz adına göre bir dizin arayın
$ find ./ -type d -name xyz
Geçerli dizinin altındaki abc.txt adına göre bir dosya arayın ve kullanıcıdan her eşleşmeyi silmesini isteyin.
'{}' Dizesinin, çalışırken gerçek dosya adıyla değiştirildiğini ve ';' string, yürütülecek komutu sonlandırmak için kullanılır.
$ find ./ -name abc.txt -exec rm -i {} ;
Geçerli dizinin altında son 7 gün içinde değiştirilen dosyaları arayın
$ find ./ -mtime -7
Geçerli hiyerarşide ayarlanmış tüm izinlere sahip dosyaları arayın
$ find ./ -perm 777
Sonuç
Kısaca, Unix'te Bul Komutu, geçerli çalışma dizininin altındaki tüm dosyaları döndürür. Ayrıca, bul komutu, kullanıcının her eşleşen dosyada yapılacak bir eylemi belirlemesine izin verir.
=> Tam Unix Eğitim serisi için buraya tıklayın
Önerilen Kaynaklar
- Örneklerle Unix'te Kesme Komutu
- Örneklerle Unix'te Ls Komutu
- Unix'te Dosya Manipülasyonu: Unix Dosya Sistemine Genel Bakış
- Unix Cat Komut Sözdizimi, Örneklerle Seçenekler
- Basit Örneklerle Unix'te Grep Komutu
- Sözdizimi, Seçenekler ve Örneklerle Unix Sıralama Komutu
- Yedek Oluşturmak İçin Unix'te Tar Komutu (Örnekler)
- Unix'te İki Dosya Nasıl Karşılaştırılır: Dosya Karşılaştırma Komutları