LINUX LAB

CentOS DOSYA ARAMA İŞLEMİ: find KOMUTU

Dikkat: Bu yazıda geçen komutlar hem Linux tabanlı Centos hem de Linux tabanlı  Red Hat (RHEL) işletim sisteminde geçerlidir.

Dosya Arama İşlemi:

Dosya arama işlemi “find” komutu ile yapılmaktadır.

  • find [aramaya_balşanacak_dizin] [arama_secenekleri]

find” komutunu aşağıdaki örnekte en basit yapısıyla kullanalım.

linux rhel centos red hat find komutu kullanımı örnek
“find Komutu Kullanımı Örnek”

1: İlk önce “su –“ komutuyla “root” girişi yapalım.

2:find / -name test_Diz*” komutu ile “/” kök dizinde ismi “test_Diz” ile başlayan dosya veya klasörleri bul diyelim. Burada kullanılan yıldız (*) “test_Diz” kelimesinin devamının önemi olmadığı için kullanılmaktadır.  Bundan dolayı sorgu masa üstünde “test_Dizin_1” ve bu dizin içerisinde ““test_Dizin_2” olmak üzere 2 adet çıktı vermiştir.

3: Diğer komutumuzda da tam isim kullandık. “find / -name networkkampus” komutu ile masa üstünde bulunan “test_Dizin_1” klasörü içerisinde bir adet “networkkampus” isimli dosya olduğunu öğrendik.

Arama Seçenekleri:

  • -name = “… isimli dosya veya dizin” şeklinde arama yapılır. Dosya ismi tam yazılabilir veya * ve ? gibi karakterlerde kullanılabilir.
  • -user = “… isimli kullanıcıya ait dosyalar” şeklinde arama yapılır.
  • -group = “… isimli gruba ait dosyalar” şeklinde arama yapılır.
  • -perm = “… izinli dosyalar” şeklinde arama yapılır.
  • -newer dosyaadi = “Dosyaadi isimli dosyadan daha yeni olan dosyalar” şeklinde arama yapılır.
  • -size [+|-] büyüklük = “Şu büyüklükte, şu büyüklükten daha küçük veya daha büyük” şeklinde arama yapılır.
  • -anewer dosyaadi = “Dosyaadi isimli dosyaya yapılan erişimden daha sonra erişilmiş dosyalar” şeklinde arama yapılır.
  • -amin [+|-] süre = “Şu dakika önce, şu dakikadan daha az süre önce veya daha fazla süre önce erişilen dosyalar” şeklinde arama yapılır.
  • -atime [+|-] süre = “Şu gün önce, şu günden daha az gün önce veya daha fazla gün önce erişilen dosyalar” şeklinde arama yapılır.
  • -cmin [+|-] süre = “Şu dakika önce, şu dakikadan daha az dakika önce veya daha fazla dakika önce statüsü değiştirilen dosyalar” şeklinde arama yapılır.
  • -ctime [+|-] süre = “Şu güb önce, şu günden daha az gün önce veya daha fazla gün önce statüsü değiştirilen dosyalar” şeklinde arama yapılır.
  • -links [+|-] sayı = “… miktarda hard-linke sahip olan dosyalar” şeklinde arama yapılır.
  • -mmin [+|-] süre = “Şu dakika önce, şu dakikadan daha az süre önce veya daha fazla süre önce değiştirilmiş olan dosyalar” şeklinde arama yapılır.
  • -mtime [+|-] süre = “Şu gün önce, şu günden daha az süre önce veya daha fazla gün önce değiştirilmiş olan dosyalar” şeklinde arama yapılır.
  • -nouser = “Hiçbir kullanıcıya ait olmayan dosyalar” şeklinde arama yapılır.
  • -nogrup = “Hiçbir gruba ait olmayan dosyalar” şeklinde arama yapılır.
  • -regex … = “… isimli regular expresion’a uyan dosyalar” şeklinde arama yapılır. regular expresion dosya ismi üzerinde değil tam yol bilgisi üzerinde denenmektedir.
  • -type … = “… dosya tipindekiler” şeklinde arama yapılır. (f: Normal dosya, d: Dizin, l: soft-link, b: blok aygıt dosyası, c: karakter aygıt dosyası)
  • -exec komut \; = “… dosyası için verilen komutu uygula” şeklinde kullanılır.
  • -ok komut \; = “… dosyası için verilen komutu uygula” şeklinde kullanılır. “-exec” parametresinden farkı kullanıdan onay istemesidir.

Bazı parametrelerde kullanılan artı (+) ve eksi () işaretlerinin anlamları aşağıda açıklanmıştır.

  • sayı = Belirtilen Sayı Kadar
  • + sayı = Belirtilen Sayıdan daha büyük
  • – sayı = Belirtilen Sayıdan daha küçük

find” komutu ile aşağıdakiler de kullanılmaktadır.

  • -a = (and) ve
  • -o = (or) veya
  • \! = değil

Örnekler:

  • find / -mtime -3 = Kök dizinde (/) 3 günden daha kısa süre önce değiştirilmiş dosyaları bul.
  • find /etc -name deneme_* -exec rm -f {} \; = “/ect” dizini altında “deneme_” ile başlayan dosyaları bul ve sil.
  • find / -size 95 -o -name network* = Kök dizinde (/) boyutu 95 byte olan veya ismi “network” ile başlayan dosyaları bul.

Aşağıda VMware üzerinde çalışan centos işletim sisteminde bir örnek yapalım. Masa üstünde “testKlasor” isimli dizinde terminal ekran açalım.

linux rhel centos red hat find komutu kullanımı örnek
“find Komutu Kullanımı Örnek”

1:ls -l” ile dosyaları ayrıntılarıyla listeleyelim. Çıktıya göre “buyukDosya” 15648401 byte, “kucukDosya” 0 byte büyüklüğündedir.

2:find /home/nizam/Desktop/testKlasor -size +10 –type f” komutu ile “/home/nizam/Desktop/testKlasor” dizi altında boyutu 10 byte’dan büyük olan (-size +10) ve dosya tipi file olan (-type f)  dosyaları göster diyelim. Çıktıda “buyukDosya” isimli dosyayı görebiliriz.

3:find /home/nizam/Desktop/testKlasor -size -10 –type f” komutu ile “/home/nizam/Desktop/testKlasor” dizi altında boyutu 10 byte’dan küçük olan (-size -10) ve dosya tipi file olan (-type f) dosyaları göster diyelim. Çıktıda “kucukDosya” isimli dosyayı görebiliriz.

Bir Cevap Yazın

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