Linux’ta  History Kayıtlarını  Tarih ve Saate Göre Görüntüleyin ve Filtreleyin

Herhangi bir seçenek belirtmeden geçmiş komutunu çalıştırmak, size daha önce yürütülen komutların olay numaralarıyla birlikte temiz bir kaydını verecektir.

$ history 10

Çıktı:

Viewing the history list

Gördüğünüz gibi tarih ve saati göstermiyor, dolayısıyla bunlar olmadan kayıtları filtrelemeyi bile başaramazsınız.

Bu makalede, geçmiş kayıtlarına nasıl tarih ve saat ekleyeceğinizi, farklı örnekleri ve kayıtları tarih ve saate göre nasıl filtreleyeceğinizi öğreneceksiniz.

Tarih ve Saati Geçmiş Kayıtlarına Dahil Etme

Geçmiş kayıtlarında tarih ve saati görüntülemek için Bash kabuğu için “~/.bashrc” gibi kabuk yapılandırma dosyasını “HISTTIMEFORMAT” değişkeniyle “HISTTIMEFORMAT” değişkeniyle değiştirmeniz gerekir.

$ vim ~/.bashrc

Çıktı:

Shell configuration file

Ardından, geçmiş kayıtlarında tam tarih ve saati görüntülemek için yapılandırma dosyasının sonuna aşağıdaki satırı ekleyin.

export HISTTIMEFORMAT="%c "

Çıktı:

Adding the date and time to the shell configuration file

Dosyayı kaydedip kapatın, ardından source komutunu kullanarak kabuk yapılandırma değişikliklerini yeniden yükleyin.

$ source ~/.bashrc

Çıktı:

Applying the shell configuration changes

Son olarak, yeni çıktı biçimini onaylamak için history komutunu çalıştırın.

$ history 5

Çıktı:

Displaying the date and time with history records

Farklı Formatlarda Daha Fazla Örnek

Önceden tanımlanmış tarih ve zaman damgası “%c” biçimini kullanmak yerine, geçmiş kayıtlarındaki ayrıntı düzeyini iyileştirmek için çıktıyı diğer birçok biçimle özelleştirebilirsiniz.

Aşağıda, bilinen tüm tarih ve saat biçimi kodlarının bir listesi bulunmaktadır:

CodesAçıklama
%dGün
%mAy
%yYıl
%HSaat
%MTutanak
%SSaniye
%FTam tarih (YMD formatında)
%TZaman (H:M:S formatı)
%cTam tarih ve zaman damgası (D-M-Y S:M:S formatı)

Aşağıda, bu formatın kullanımında becerinizi geliştirmek için izleyebileceğiniz birkaç örnek verilmiştir.

Tarih ve Saatin Geçmiş Kayıtlarında Görüntülenmesi

Tarihi “YDD” biçiminde ve saati “H:M:S” biçiminde görüntülemek için “%F %T => ” kodunu ve okunabilirliği artırmak için önce ve sonra boşluklarla birlikte kullanılan ” => ” kodunu kullanın.

export HISTTIMEFORMAT="%F %T => "

Çıktı:

Displaying the date and time in history records

Geçmiş Kayıtlarında Özel Tarih ve Saat Formatını Görüntüleme

Bu sefer, tarihi “D:M:Y” olarak görüntülemek için “%d:%m:%y” kodunu ve saati “H:M” biçiminde görüntülemek için “%H:%M” kodunu kullanın.

export HISTTIMEFORMAT="%d:%m:%y %H:%M => "

Çıktı:

Displaying the custom date and time format in history records

Tarih ve Saati Süslü Bir Şekilde Görüntüleme

“Tarih: [%d-%m-%y]” kodu, tarihi “Tarih: [D-M-Y]” biçiminde gösterecek ve “Saat: [%T]”, saati “Saat: [H:M:S]” biçiminde gösterecektir.

export HISTTIMEFORMAT="Date: [%d-%m-%y] / Time: [%T] => "

Çıktı:

Displaying the date and time in a fancy way

Geçmiş Kayıtlarını Tarih ve Saate Göre Filtreleme

Kabuk yapılandırma dosyasına tarih ve saat biçimi kodlarını eklediğinizde, size tüm komutların aynı gün yürütüldüğünü gösterecektir. Ertesi gün yeni komutu çalıştırdığınızda, yeni tarih ve saati seçecektir.

Aşağıda, “%F %T” biçim koduyla veya komut geçmişini farklı tarih ve saatlere göre filtreleyecek benzer bir şeyle çalışması amaçlanan birkaç örnek verilmiştir.

Belirli Bir Tarihe Ait Geçmiş Kayıtlarını Listeleme

Belirli bir tarihe ait geçmiş kayıtlarının listesini görüntülemek için grep with history komutunu kullanın.

Örneğin, aşağıdaki komut “2022-12-20” tarihinde yürütülen tüm komutların listesini gösterecektir.

$ history | grep 2022-12-20

Output:

Display the list of history records for specific date

Birden Çok Tarih için Geçmiş Kayıtlarını Listeleme

Aşağıdaki komut, “2022-12-19” ve “2022-12-20” tarihlerinde yürütülen tüm komutların listesini gösterecektir.

$ history | grep -E "2022-12-19|2022-12-20"

Çıktı:

Display the list of history records for multiple dates

Tarih Kayıtlarının Bir Tarih Aralığına Göre Listelenmesi

Aşağıdaki komut, “2022-12-19” ve “2022-12-20” tarihleri arasında yürütülen komut aralığını görüntülemek için awk komutunu kullanır.

$ history | awk '{if($2>="2022-12-19" && $2<="2022-12-20") print $0}'

Çıktı:

Displaying the range of commands executed between the specific dates

Geçmiş Kayıtlarının Belirli Bir Tarih İçin Zaman Aralığına Göre Listelenmesi

Aşağıdaki komut, “14-27-47” tarihinde “16:28:04:2022” ile “12:20:20” arasında yürütülen komut aralığını gösterecektir.

$ history | awk '{if($2="2022-12-20" && $3>="14:27:47" && $3<="16:28:04") print $0}'

Çıktı:

Display the range of commands executed between the specific time and date

 

 

Yazının orijinalini buradan okuyabilirsiniz.

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.