find Komutu

Dizin hiyerarşisi içinde dosyaları arar. -P,-L,-H parametreleri bir arada kullanılırsa son kullanılan diğerlerinin üzerine yazar. Parametrelerdeki n (rakam) girişi + ve - işaretli ile birlikte kullanılabilir. + beliritlenden daha büyük değerlere, - ise belirtilenden daha düşük değerlere işaret edecektir. Daha ayrıntılı bilgiyi man sayfasından elde edebilirsiniz.

Man sayfalarında tanımlı kullanım şekli:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

Örnek:
find $HOME -mtime 0
HOME dizini içerisinde bulunan son 24 saatte değişikliğe uğramış dosyalar listelenecektir.

find /sbin /usr/sbin -executable \! -readable -print
Belirtilen dizinlerde çalıştırılabilen fakat okunamayan dosyalar listelenecektir.

find . -perm 664
Sahibi ve grubu okuma-yazma hakkına sahip, diğerleri ise okuma hakkına sahip dosyaları görüntüler. Ekstra haklara sahip olanlar da listeye eklenecektir.

find . -perm -664
Sahibi ve grubu okuma-yazma hakkına sahip, diğerleri ise okuma hakkına sahip dosyaları görüntüler. Ekstra özelliğe sahip olanlar listeye eklenmezler. Örneğin grubun çalıştırma izni de varsa bu dosya eklenmez.

find . -perm /220 veyafind . -perm /u+w,g+wveya find . -perm /u=w,g=w
Üç komutta aynı işlemi gerçekleştirir. Bu komut grubu veya sahibi tarafından yazılabilen dosyaları araştıracaktır.

find . -perm -444 -perm /222 ! -perm /111
veya
find . -perm -a+r -perm /a+w ! -perm /a+x
Her iki komutta herkes tarafından okunabilen dosyaları araştıracaktır. Fakat en az biri (sahibi veya grubu veya diğerleri) tarafından yazılabilir ve kimse tarafından çalıştırılamayan durumunda olmalıdır.

find -name xxxhl.txt
xxxhl.txt isimli dosya(lar) bulunulan dizin ya da alt dizinlerin birinde ise çıktıda yer ya da yerleri belirtilir. İsimle arama yaparken -name parametresi girilir.

find /mnt/ -name xxxhl.txt
/mnt dizini ve alt dizinlerinde arama yapılır.

Bazı Parametreleri:
-P
Sembolik linkleri takip etmez.

-L
Sembolik linkleri takip eder.

-H
Komut satırı argümanlarının işlenmesi dışında sembolik linkleri takip etmez.

-D debugoptions
İstenilen bilgiyi görüntüler. debugoptions olarak help, tree, search, stat, rates, opt, exec girilebilir.
find -D help

-print0 veya -fprint0
Daima tam dosya adını yazdırır.

-name pattern
İsimle (pattern) arama yapmak için kullanılır.

-Olevel
Optimizasyon seviyesi belirlenir. Öntanımlı ayar 1. seviyedir.
find -O2

-daystart
Belli komutlar (-amin, -atime, -cmin, -ctime, -mmin, -mtime) için başlama zamanını belirtmekte kullanılır. (24 saatten az olmak üzere)

-depth
Dizinden önce dizinin içeriği işlenir.

--help
Yardım görüntülenir.

-maxdepth levels
Araştırılacak azami dizin derinliği belirlenir.

find -maxdepth 1 -name bb.txxt
Sadece bulunulan komut satırında arama yapar(altdizinlerde değil)

-mindepth levels
Belirtilen seviyeye uygulama demektir.
find -mindepth 1 -name bb.txt
Bulunulan komut dizinininde değil, altdizinlerinde arama yapılır.

-mount
Diğer dosya sistemlerinde arama yapmaz.

-warn
Hata mesajları gösterimini açar.

-nowarn
Hata mesajlarını gösterimini kapatır.

-amin n
Dosya son giriş zamanı için n ile belirtilecek kadar dakika kontrol edilir.
find -amin 5
Dizin veya altdizinlerde tam 5 dakika önce giriş yapılan dosyalar aranır.
find -amin -5
5 dakikadan önce giriş yapılan dosyalar aranır.
find -amin +5
5 dakikadan uzun zaman önce giriş yapılan dosyalar aranır.

-atime n
n*24 saat şeklinde girişler için arama yapılır.

-empty
Boş dosya ve dizinler için arama yapılır.

-inum n
Dosya n ile belirtilen inode numarasına sahip olmalıdır.

-path pattern
İsimleri kabuk şablonları(pattern) ile eşleştirerek arar.
find . -path "./sr*sc"
Eğer varsa `./src/misc' dosyası bulunur.

-perm mode
Dosya isimleri mode ile belirtilen izinlere tam uymalıdır.
-perm /mode
Belirtilen modlardan birine uyumlu olamlıdır.

-perm -mode
Bütün izinler dosyaya uymalıdır. (fazlası olabilir)

-readable
Okunabilir dosyalar aranır.

-samefile name
İsimle(name) belirtilen inode numarasıyla aynı inode numarasına sahip dosyalar aranır.

-size n[cwbkMG]
n birim alan kullanan dosyaları arar.
find -size -20
20*512 bayt bloktan küçük dosya ve dizinleri listeler.
find -size -9c
9 bayttan küçük dosyaları listeler.
find -size +100M
100 megabayttan büyük dosyaları listeler(1048576 baytlık birimler)
find -size +2GB
2 gigabayttan daha büyük dosyalar listeler(1073741824 baytlık birimler)

-type c
Belirtilen tipe uygun arama yapılır. (b,c,d,p,f,l,s,D)

find -type f
Dosyalar için arama yapılır.

find -type d
Dizinler için arama yapılır.

-used n
Dosyanın durumunun değiştirilmesinden n gün geçtiyse listelenir.
-find user uname
Dosyanın sahibi uname ile belirtilir.
find -user aa

-writable
Yazılabilir dosyaları araştırır.

-xtype c
-type c ile aynıdır. Fakat sembolik link uygulamalarında farklıdırlar.

-wholename pattern
-path parametresine benzemektedir.

-nouser
Dosyanın kullanıcı kimliğiyle uyuşan kullanıcı yok ise listeler.

-regex pattern
Dosya isimlerini pattern açıklaması ile karşılaştırır.
find -regex ./*x*
Aynı dizindeki xxxhs dosyasını listeler.

-delete
Dosyaları siler.

-exec command
Komutu(command) çalıştırır.
-exec command {} +
exec komutunu farklı dosyalar üzerinde çalıştırır(başlangıç dizininde)
-execdir command
exec komutunu altdizinlere de uygulamak için kullanılır
-execdir command {} +
exec komutunu altdizinlere de uygulamak için kullanılır

-fprint file
Dosya isminin dosya dosya yazılmasını sağlar

-ok command
-exec gibidir, fakat uygulamadan önce kullanıcıya sorar.

-okdir command
-execdir gibidir, fakat uygulamadan önce kullanıcıya sorar.

-print
Tam dosya isimlerini listeler.

-print0
Boşluksuz tam dosya isimlerini listeler.

-printf format
format / ve % karakterleriyle açıklanabilir (oldukça ayrıntılıdır)

-prune
Eğer dosya bir dizin ise içine uygulanmaz.

-quit
Derhal çıkış yapar.

***************************************************************************
Linux Mint 14 dağıtımındaki find (GNU findutils) 4.4.2 için geçerli olan bilgilerdir. Diğer dağıtım ve sürümlerde uygulamalarda farklılıklar olabilir.
Yazı tarihi : 2013




ANA SAYFA GNU/LINUX Komutlar