BASH Programming

Bash Komut Geçmişini Kullanma ve Özelleştirme

Bash Komut Geçmişini Kullanma ve Özelleştirme
Bash kabuğu, çoğu Linux dağıtımında bulunan varsayılan komut satırı ortamıdır. Tüm kabuk ortamlarında olduğu gibi, kullanıcı tarafından daha önce yürütülen komutların kaydını tutar. Bu kayıt tutulur ve sistemimizi yeniden başlatsak bile korunur.

History komutunun temel kullanımını biliyor olabilirsiniz, ancak bundan çok daha fazlasını yapabilir. Bash geçmişi genellikle ~/ dosyasında saklanır.bash_history. Bash geçmişi kaydetme özelliğinden en iyi şekilde yararlanmak için saklanan kaydı verimli bir şekilde geri çağırmanızı ve yeniden kullanmanızı sağlar. Sadece bu değil, aynı zamanda bash komut çıktısını istediğiniz şekilde özelleştirebilir ve kontrol edebilirsiniz.

Bu makalede, özelliklerinden en iyi şekilde yararlanmak için bash komut geçmişinin nasıl etkin bir şekilde kullanılacağını ve özelleştirileceğini açıklayacağız.

Bu makalede bahsedilen komutları ve prosedürü çalıştırmak için Debian 10'u kullandık.

bash komut geçmişini kullanma

1. Bash Geçmişini Görüntüleme

Kabuk komutlarının tüm geçmişini görüntülemek için Terminal'de aşağıdaki komutu çalıştırabilirsiniz:

$ geçmişi

Belirli bir kullanıcının tüm geçmişini, o kullanıcı için özel olarak depolanan geçmiş dosyasından listeler. Her birine tahsis edilmiş bir sayı ile başlayan tüm komutları göreceksiniz. En üstte 1 numaradan başlayarak eski komutları ve altta daha yeni komutları listeleyecektir.

2. Geçmiş Çıktısını Arama

Ayrıca geçmiş çıktısından belirli bir anahtar kelimeyi arayabilirsiniz. Belirtilen anahtar kelimenizle eşleşen komutları aramak için geçmiş komutunu grep ve belirli bir anahtar kelimeyle eşleştirin:

$ geçmişi | grep [anahtar kelime]

Örneğin, "find" anahtar sözcüğünü içeren tüm komutları listelemek için komut şöyle olacaktır:

$ geçmişi | grep bul

3. Son n komutu görüntüleme

Geçmiş komutu varsayılan olarak bir kullanıcı tarafından yürütülen son 1000 komutu listeler. Yalnızca belirli bir sayıyı listelemek istiyorsanız, diyelim ki n son yürütülen komutun sayısı, Terminal'de aşağıdaki komutu çalıştırın:

$ geçmişi n

Örneğin, yürütülen son 7 komutu listelemek için komut şöyle olacaktır:

$ geçmişi 7

Belirli bir anahtar sözcüğü içeren son n çalıştırma komutunun sayısını görüntülemek için aşağıdaki sözdizimini kullanabilirsiniz:

$ geçmişi | grep anahtar kelimesi | kuyruk -n

Bunun bir örneği, yürütülen son 4 komutu “java” anahtar kelimesiyle görüntülemek olabilir.

$ geçmişi | grep java | kuyruk -n

4. En eski komutları görüntüleme

En eski n sayıdaki komutu görüntülemek için Terminal'de aşağıdaki sözdizimini kullanabilirsiniz:

$ geçmişi | kafa -n

Belirli bir anahtar sözcüğü içeren en eski n sayıdaki komutu görüntülemek için aşağıdaki sözdizimini kullanın:

$ geçmişi | grep anahtar kelimesi |kafa -n

Bunun bir örneği, "java" anahtar kelimesiyle yürütülen en eski 4 komutu görüntülemek olabilir.

$ geçmişi | grep java |kafa -4

5. Bash geçmişini tamamen temizle

Bash geçmişinin tamamını kaldırmak için Terminal'de aşağıdaki komutu çalıştırın:

$ geçmişi -cw

bash komut geçmişini özelleştirme

Bash komut geçmişini özelleştirmek için ~/ içinde değişiklik yapmamız gerekecek.bashrc dosyası. ~/ düzenlemek için.bashrc dosyası için aşağıdaki komutu kullanın:

$ nano ~/.bashrc

Dosyayı değiştirmeyi bitirdikten sonra, nano düzenleyiciyi kaydetmek ve kapatmak için Ctrl+O ve Ctrl+X tuşlarını kullanın.

Ardından değişiklikleri uygulamak için aşağıdaki komutu çalıştırın:

$ kaynak ~/.bashrc

1. Bash Geçmişine Tarih ve Zaman Damgası Ekle

Komut geçmişiyle birlikte tarih ve zaman damgasını görüntülemek istiyorsanız, bunu ~/ içine aşağıdaki satırı ekleyerek yapabilirsiniz.bashrc:

$ dışa aktar HISTTIMEFORMAT='%F, %T'

şimdi çalıştırın Tarih komut ve karşılık gelen veri ve zaman damgası ile komut geçmişini gösterecektir.

2. Bash Geçmişinin artan boyutu

Bash varsayılan olarak geçmiş listesinde 500 komutu tutar. Ancak HISTSIZE değerini kullanarak bu değeri değiştirebiliriz.

Geçerli bash geçmişi boyutunu görüntülemek için Terminal'de aşağıdaki komutu çalıştırın:

$ yankı $HISTSIZE

Benzer şekilde, bash geçmişi dosyasının varsayılan boyutu 500'dür. Geçmiş dosyasında bulunan maksimum giriş sayısıdır.

Bash geçmişinin boyutunu artırmak için 10000 diyelim, aşağıdaki satırları  ~/.bashrc dosyası:

$ HISTSIZE=1000
$ HISTFILESIZE=10000

Bash geçmişi boyutunun başarıyla değişip değişmediğini doğrulamak için Terminal'de aşağıdaki komutları çalıştırın:

$ yankı $HISTSIZE
$ echo $HISTFILESIZE

3. Bash Komutlarını Geçmiş Dosyasına Ekle

Bir bash oturumu kapatıldığında, histappend değişkenini kullanarak geçmiş dosyasındaki komutların üzerine yazmayı veya eklemeyi seçebilirsiniz. Mevcut ayarları görüntülemek için Terminal'de aşağıdaki komutu çalıştırın:

$ shopt histappend

Çıktıdaki "açık", histappend seçeneğinin etkin olduğunu ve komutların üzerine yazmak yerine geçmiş dosyasına ekleneceğini gösterir. “Kapalı” gösterilirken, histappend seçeneği devre dışı bırakılır ve dosyanın üzerine yazılır.

~/.bashrc dosyası ve:

Komutları üzerine yazmak yerine geçmiş dosyasına eklemek istiyorsanız aşağıdaki satırı ekleyin:

$ shopt -s histappend

Veya ekleme seçeneğini devre dışı bırakmak ve çıkışta dosyanın üzerine yazmak istiyorsanız aşağıdaki satırı ekleyin:

$ shopt -u histappend

4. Bash Geçmişini Hemen Depolayın

Bash varsayılan olarak oturumu yalnızca oturum sona erdiğinde bash geçmişi dosyasına kaydeder. Bu varsayılan davranışı değiştirmek ve yürüttüğünüz her komutu anında kaydetmesini sağlamak için PROMPT_COMMAND'ı kullanabilirsiniz.

~/ Düzenle.bashrc dosyasını açın ve aşağıdaki satırı ekleyin:

$ PROMPT_COMMAND='geçmiş -a'

Artık herhangi bir komutu her çalıştırdığınızda, hemen geçmiş dosyasına eklenecektir.

5. Bash Geçmişini Kontrol Et

Bash'in komut geçmişimizi kaydetme şeklini HISTCONTROL değişkeni aracılığıyla kontrol edebiliriz. Yinelenen girişleri yoksaymasını ve/veya başında boşluk bulunan girişleri yoksaymasını belirtebiliriz.

Bu işlevleri uygulamak için ~/.bashrc ve iki nokta üst üste ile ayrılmış değerlerle aşağıdaki satırı ekleyin:

$ export HISTCONTROL=ignorespace:ignoredups

6. Belirli Komutları Yoksay

HISTIGNORE değişkenini kullanarak geçmişte hangi komutların yoksayılacağını da kontrol edebiliriz. Geçmişten yok saymak istediğimiz tüm komutları belirleyebileceğimiz, iki nokta üst üste ayrılmış bir kalıp listesidir.

Örneğin, history, ls, pwd komutları gibi temel komutları geçmiş listesinde listelemek istemiyorsak, ~/ dizinine aşağıdaki satırı ekliyoruz.bashrc dosyası:

$ export HISTIGNORE="history:ls:pwd:"

Linux bash komut geçmişi ile eski komutları tekrar etmekten çok daha fazlasını yapabilirsiniz. Bu yazıda, daha önce çalıştırılan komutları görüntülemek için bash geçmişini nasıl kullanacağımızı öğrendik ve ayrıca komut geçmişini kaydetme şeklini kontrol etmeyi öğrendik.

Linux'ta GameConqueror Cheat Engine Nasıl Kullanılır
Makale, Linux'ta GameConqueror hile motorunu kullanma hakkında bir kılavuzu kapsar. Windows'ta oyun oynayan birçok kullanıcı, oyun deneyimini geliştir...
Linux için En İyi Oyun Konsolu Emülatörleri
Bu makale, Linux için kullanılabilen popüler oyun konsolu öykünme yazılımını listeleyecektir. Öykünme, oyun konsollarının, komut setlerinin ve ilgili ...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...