Makine oluşturulduğundan beri kabuk komutlarının geçmişi nasıl bulunur?

17

Birkaç hafta önce bir Ubuntu sanal makine oluşturdum ve o zamandan beri projelerde ve üzerinde çalışıyordum.

Şimdi bir hafta önce terminalde yazdığım bazı komutların sözdizimini bulmak istiyorum, ancak terminal penceresini açıp kapatarak makineyi tekrar tekrar başlattım.

Makineyi oluşturduktan sonra yazdığım ilk komuta geri dönmek için history komutunu nasıl alabilirim?
Yoksa tüm komutların Ubuntu'da saklandığı başka bir yer var mı?

    
sordu Edward Tanguay 07.07.2012 08:16

4 cevap

23

Tüm komutları almak mümkün olabilir veya olmayabilir. Kaç tane komut çalıştırdığınıza ve tarih sınırının nasıl ayarlandığına bağlı.

Ancak geçmiş listesinin burada saklandığını görebilirsiniz

/home/<YOUR_USERNAME>/.bash_history

İlgili soru (birden çok kabuk geçmişini işlemek için):

.bash_history'ye yazı yazmak mümkün mü? acil?

    
verilen cevap Web-E 07.07.2012 09:20
6

Ayrıca ilginizi çekebilecek bir şey, önceki komut geçmişinizi nasıl arayacağınızdır. Komut satırında geçmişinizi Ctrl+r 'ye basarak ve ardından eşleştirmek istediğiniz harfleri yazarak geri alabilirsiniz. Birden fazla eşleşen komutunuz varsa, Ctrl+r tuşuna tekrar basın. Geriye doğru aramadan çıkmak için Ctrl+g tuşuna basın.

İşte

    
verilen cevap Sepero 07.07.2012 10:33
4

Varsayılan olarak, tüm komutların kaydedildiği ve süresiz tutulduğu yer yoktur, ancak ~/.bash_history son birkaç komutu içerir (eğer bash kullanıyorsanız, Ubuntu'daki varsayılan kabuk ise).

Her komutunun sonsuza kadar kaydedilmiş bash yazılmasını istiyorsanız, bunu kendiniz ayarlamanız gerekir. Örneğin, ~/.bashrc dosyanıza aşağıdaki% ko_de% shell dosyasında yazılan tüm komutları bash dosyasına kaydedebilirsiniz:

# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
    trap "caller >/dev/null || \
printf '%s\n' \"$(date '+%Y-%m-%dT%H:%M:%S%z')\
 $(tty) ${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi

Yukarıdakiler, normal bir komutun yürütülmesinden hemen önce yürütülen ~/.command_log değerinde bir tuzak oluşturur. % Co_de% built-in komutu, komutun etkileşimli bir kabukta yazılıp yazılmadığını veya DEBUG gibi bir şeyle çalışıp çalışmadığını test etmek için kullanılır. % Co_de% değeri, şu anda çalıştırılan komutu içerir.

    
verilen cevap Richard Hansen 12.07.2012 04:22
3

Sadece geçmiş sınırınız belirlendiğinde geri dönebilirsiniz; Bu noktaya vardığında tarihin üzerine yazılmaya başlanacak. Bununla birlikte, gelecek için daha büyük bir tarih boyutuna sahip olmak mümkündür. Bunu .bashrc dosyanıza koyun ve bir değer belirtin (benimki 1000 olarak ayarlanır):

export HISTSIZE=1000
    
verilen cevap user76204 10.07.2012 21:35

Etiketlerdeki diğer soruları oku