Yalnızca geçerli oturumun geçmişini kontrol etmenin bir yolu var mı?


10

Komut geçmişimi sadece geçerli oturumda kontrol edebileceğim herhangi bir komut veya başka bir yol olup olmadığını bilmek istedim.

Yanıtlar:


12

historyİnşa bashverir kullanıldığında dosya belirterek -anrwbayrakları ve -agelen bayrak açıklaması help historydevletler:

Bu oturumdan geçmiş dosyasına geçmiş satırları ekle

Bu nedenle şunları yapabiliriz:

~$ history -a this_session.history
~$ cat ./this_session.history 
history mysession.history 
cat mysession.history 
clear
history -a this_session.history

Kayıt için, -w(dosya seçimine yazma geçmişi) tüm geçmişi belirtilen dosyaya yazar , bu nedenle -a(append) burada tercih edilen seçimdir.


Başka manuel yollar da var. Özellikle kshde -abayrağa sahip değildir bash, ancak ne ksh ve mkshne var HISTFILEçevre değişkendir (ve bashçok bashsayıda kshözellik içerdiğinden buna sahiptir); bu arada, bu değişken varsayılan olarak ayarlanmamıştır (en azından mkshUbuntu'da bunu ayarlamadı). Bu nedenle, geçerli oturumu başka bir dosyaya HISTFILEçıkarmak için, kabuk sözdiziminde belirttiğiniz ek ortam değişkeni ile komut çalıştırmak anlamına gelen komuta ekli olarak çağırırız . Şöyle ki:

bash-4.4$ HISTFILE='mykshfile.hist' ksh
$ echo 'Hello'
Hello
$ echo 'World'
World
$ 
bash-4.4$ cat ./mykshfile.hist 
�echo 'Hello'
echo 'World'

Bundan da görebileceğiniz şey, kshve ilişkili kabuklarının, düz metin yerine özel karakterlerle tarih yazmasıdır bash. Yani, bu dosyayı ile açmak isteyebilirsiniz ksh.

Debian Almquist Shell veya Dash olan Ubuntu'daki POSIX /bin/shkabuğuna gelince , fcyerleşik var . Bununla birlikte, Ubuntu'da , performans nedenlerinden dolayı Ubuntu geliştiricileri tarafından bilinçli bir seçim olan lib-edit olmadan derlenir , bu nedenle fcve satır düzenlemeyi gerektiren diğer modlar kutudan çıkmaz ( dashkendinizi yeniden derleyip yüklemediğiniz sürece lib-edit).


Kabuk nötr yolları , oturumunuzu mevcut araçlarla kaydetmek veya komut başına kayıt yapmak için kendi işlevinizi yazmak olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.