find ile dosya aramak

Ağustos 17th, 2011 § Yorum yok

find -name "MyCProgram.c"
./backup/MyCProgram.c
./MyCProgram.c

Büyük-küçük harf duyarlılığı olmaksızın aramak

 find -iname "MyCProgram.c"
./mycprogram.c
./backup/mycprogram.c
./backup/MyCProgram.c
./MyCProgram.c

Klasör derinliğini belirleyerek dosya aramak

find / -name passwd
./usr/share/doc/nss_ldap-253/pam.d/passwd
./usr/bin/passwd
./etc/pam.d/passwd
./etc/passwd
 
 find -maxdepth 2 -name passwd
./etc/passwd
 
 find / -maxdepth 3 -name passwd
./usr/bin/passwd
./etc/pam.d/passwd
./etc/passwd
 
 find -mindepth 3 -maxdepth 5 -name passwd
./usr/bin/passwd
./etc/pam.d/passwd

Bulunan dosyalar için işlem yapılmak istenirse “{}” dosya ismi yerine kullanılabilir.

find -iname "MyCProgram.c" -exec md5sum {} \;
d41d8cd98f00b204e9800998ecf8427e  ./mycprogram.c
d41d8cd98f00b204e9800998ecf8427e  ./backup/mycprogram.c
d41d8cd98f00b204e9800998ecf8427e  ./backup/MyCProgram.c
d41d8cd98f00b204e9800998ecf8427e  ./MyCProgram.c

Kriterlerle uyuşmayan dosyaları bulmak.
(maxdebth 1 olduğu için sadece bulunduğu klasöre bakar)

 find -maxdepth 1 -not -iname "MyCProgram.c"
.
./MybashProgram.sh
./create_sample_files.sh
./backup
./Program.c

inode numarasına göre dosya bulmak

find -inum 16187430 -exec mv {} new-test-file-name \;
 ls -i1 *test*
16187430 new-test-file-name
16187429 test-file-name

İzinlerine göre dosya aramak

Diğer izinlerine bakmaksızın grup tarafından okunabilen dosyaları bulmak

 find . -perm -g=r -type f -exec ls -l {} \;
-rw-r--r-- 1 root root 0 2009-02-19 20:30 ./everybody_read
-rwxrwxrwx 1 root root 0 2009-02-19 20:31 ./all_for_all
----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read
-rw-r----- 1 root root 0 2009-02-19 20:27 ./others_can_also_read

Sadece grupun okuma iznine sahip olduğu dosyaları bulmak

 find . -perm g=r -type f -exec ls -l {} \;
----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read

İzinleri octal olarak verilip dosyaların bulunması

 find . -perm 040 -type f -exec ls -l {} \;
----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read

0 bytelık lock vs dosyalarını tesbit etmek

find ~ -empty

Gizli olmayan 0 byte dosyalarını bulmak

find . -maxdepth 1 -empty -not -name ".*"

Boyutu en büyük 5 dosyayı bulmak

find . -type f -exec ls -s {} \; | sort -n -r | head -5

Yüre göre dosya aramak
Soket dosyalarını bulmak

 find . -type s

Dizinleri bulmak

 find . -type d

Normal dosyaları bulmak

find . -type f

Gizli dosyaları bulmak

find . -type f -name ".*"

Gizli dizinleri bulmak

find -type d -name ".*" 

Boyutlarına göre dosya aramak
Belirli boyuttan büyük dosyaları bulmak

 find ~ -size +100M

Belirli boyuttan küçük dosyaları bulmak

 find ~ -size -100M

Belirli boyuttaki dosyaları bulmak

 find ~ -size 100M 

Dosya içeriklerini araştırmak

find . -type f -exec grep '4583_20080820115047.mp4' /dev/null {} \;
./databasemp4isim.txt: 4583_20080820115047.mp4
./isimmp4.txt:4583_20080820115047.mp4

Dosya boyutlarının bulmak

find . -size +100M -type f -print0 | xargs -0 ls -lahS

Regular expression kullanımı

find . -name \txt -exec tail -1 {} \;

Modifikasyonu belirli aralıkda olan dosyaları bulmak

find . -type f -newermt "2010-01-01" ! -newermt "2010-06-01"

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ne yapıyorum ben!?

find ile dosya aramak başlıklı yazıyı okuyorsun.

Üst Veri