Linux'ta En Son veya Bugünün Değiştirilmiş Dosyaları Nasıl Bulunur?


Bu yazıda, yalnızca bugünün tüm dosyalarını listelemenizi sağlayacak iki basit komut satırı ipucunu açıklayacağız.

Linux kullanıcılarının komut satırında karşılaştığı yaygın sorunlardan biri, belirli bir ada sahip dosyaları bulmaktır; dosya adını gerçekten bildiğinizde bu çok daha kolay olabilir.

Ancak, günün erken saatlerinde oluşturduğunuz (yüzlerce dosyanın bulunduğu home klasörünüzde) bir dosyanın adını unuttuğunuzu ve acilen kullanmanız gerektiğini varsayalım.

Aşağıda yalnızca bugün oluşturduğunuz veya değiştirdiğiniz (doğrudan veya dolaylı olarak) tüm dosyaları listelemenin farklı yolları verilmiştir.

1. ls komutunu kullanarak, ana klasörünüzde yalnızca bugünün dosyalarını aşağıdaki şekilde listeleyebilirsiniz:

  1. -a – gizli dosyalar dahil tüm dosyaları listeler
  2. -l – uzun listeleme biçimini etkinleştirir
  3. --time-style=FORMAT – zamanı belirtilen FORMAT'ta gösterir
  4. +%D – tarihi %m/%d/%y biçiminde göster/kullan
ls  -al --time-style=+%D | grep 'date +%D'

Ayrıca -X işaretini ekleyerek elde edilen listeyi alfabetik olarak sıralayabilirsiniz:

ls -alX --time-style=+%D | grep 'date +%D'

Ayrıca -S işaretini kullanarak boyuta göre (önce en büyüğü) listeleyebilirsiniz:

ls -alS --time-style=+%D | grep 'date +%D'

2. Yine ls'e göre pratik olarak daha esnek olan ve birçok seçenek sunan find komutunu aşağıdaki amaç için kullanmak mümkündür.

  1. -maxlength düzeyi, arama işleminin gerçekleştirileceği başlangıç noktasının (bu durumda geçerli dizin) altındaki düzeyi (alt dizinler açısından) belirtmek için kullanılır.
  2. -newerXY, söz konusu dosyanın zaman damgası X'ı, dosya referansının zaman damgası Y'den daha yeniyse bu işe yarar. X ve Y aşağıdaki harflerden herhangi birini temsil eder:

    1. a – dosya referansına erişim süresi
    2. B – dosya referansının doğum zamanı
    3. c – inode durum değişikliği referans zamanı
    4. m – dosya referansının değiştirilme zamanı
    5. t – referans doğrudan zaman olarak yorumlanır

Bu, yalnızca 2016-12-06 tarihinde değiştirilen dosyaların dikkate alınacağı anlamına gelir:

find . -maxdepth 1 -newermt "2016-12-06"

Önemli: Yukarıdaki bulma komutunda referans olarak doğru tarih biçimini kullanın; yanlış bir biçim kullandığınızda şu şekilde bir hata alırsınız: aşağıdaki:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

Alternatif olarak aşağıdaki doğru biçimleri kullanın:

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

ls ve find komutlarının kullanımı hakkında daha fazla bilgiyi aşağıdaki makale serimizde bulabilirsiniz.

  1. Bu 15 Örnekle Linux 'ls' Komutunda Ustalaşın
  2. Linux Kullanıcıları İçin Faydalı 7 İlginç 'ls' Püf Noktası
  3. Bu 35 Örnekle Linux 'Bul' Komutunda Ustalaşın
  4. Linux'ta Uzantılı Birden Çok Dosya Adını Bulmanın Yolları

Bu yazımızda ls ve find komutları yardımıyla sadece güncel dosyaların nasıl listeleneceğine dair iki önemli ipucunu anlattık. Konuyla ilgili soru(lar)ı veya yorumlarınızı bize göndermek için aşağıdaki geri bildirim formunu kullanın. Aynı amaç için kullanılan komutları da bize bildirebilirsiniz.