history nedir?

Why so many distros? The Weird History of Linux - YouTube

Terminalde bir komut yürütüldüğünde, bir geçmiş listesinde saklanır. Bu, aynı komutu yürütmeyi kolaylaştırmak ve daha sonra tüm komutu yeniden yazma ihtiyacını ortadan kaldırmak için tasarlanmıştır. Önceden yazdığınız komutlar kullandığınız shell’e bağlı olarak home dizininizde bir dosya içersine yazılır, yani son çalıştırdığınız komutlar sürekli olarak kaydedilir, böylece eskiden yazdığınız komutları da tekrar görebilirsiniz. Eski komutları tekrar görebilmek için history komutu kullanılır. Bunun diğer bir faydası ise kendi sisteminizde veya başka bir sistemdeki hataları çözmenize yardımcı olacaktır. Sisteme müdahele eden kişilerin hangi komutları çalıştırdığına bakabilirsiniz. 

history kullanımı

Yukarı Ok ↑ tuşuna basmak, komut satırında önceki komutu görüntüler. Geçerli oturumda çalıştırılan komutların tüm geçmişi ve çalıştırılan komutların geçmişinde geri getirmek için Yukarı tuşuna art arda basılarak görüntülenebilir . Enter tuşuna basarak görüntülenen komutu yeniden çalıştırabiliriz.
İstenen komut bulunduğunda, Sol Ok ← ve Sağ Ok → tuşları imleci düzenleme için konumlandırabilir. 

Bir terminalin geçmiş listesini görüntülemek için history komutunu kullanalım. Görseldeki gibi çalıştırılan komutları ve değişken olarak numaralı görüyoruz.

history 

Bu kısımda neler yapabiliriz biraz bahsedelim. Mesela yazılan son 5 komuta bakalım. Bunun için history 5 komutunu çalıştırmamız yeterlidir.

ipucu: history komutunu tail ve head ile birleştirin.

! history kullanımı

Peki komut çok uzun ben bunu tekrar yazmak istemiyorum ve Yukarı Ok ↑ tuşu ile uğraşmak istemiyorum. Çok basit “!” sembolü yazıp geçmiş listesindeki komuta atanan numarayı yazıp Enter tuşuna basmak yeterlidir..

!2 

history temizlenmesi

Kullanıcımızın, tüm komut geçmişini temizlemek için,  history -c yazmamız yeterlidir.

history -c 

history HITSIZE

Yazılan komutların, geçmişte ne kadar tutulduğunu görebiliriz. HITSIZE değişkenini ekrana bastıralım. Çıktıda 1000 olduğunu görebiliriz. Tabi ki bu rakam değiştirilebilir. Çevre değişkenleri kısmında bahsedeceğim ama hazır buradayken göstermek istedim.

echo $HITSIZE 

history üzerinde arama

Geçmişte çok fazla komut yazılmış olabilir. Bu komutların içinde arama yapabiliriz. Bunun için Ctrl + R tuşuna basarak içinde arama yapabilirsiniz. 

.bash_history

Önceden yazdığınız komutlar, kullandığınız shell’e bağlı olarak home dizininizde bir dosya içersine yazılır. En çok kullanılan bash kabuğu olduğu için onun üzerinden devam edelim. Bash kabuğunda history komutu /home/~/.bash_history dosyası içini günceller. 

Kullanıcının ev dizinindeyken, geçmiş komutların tutulduğu dosyanın son 5 satırını görüntülüyorum.

cat .bash_history | tail -5 

ipucu: Sunuculara yapılan shell erişimli hacker saldırılarında ilk kopyalanıp sıfırlanan dosyadır. Ayrıca shell üzerinden yazılmış parolalar burada durabildiği için ciddi tehlike arzeder. 

Blog'a Dön