Kemungkinan Duplikat:
Bisakah file riwayat disatukan dalam bash?
Saya menggunakan Ubuntu Server 9.10 dan saya ingin dapat melihat riwayat bash saya untuk lebih dari satu sesi terminal. Yaitu 200 perintah terakhir saya atau lebih, bahkan jika saya telah keluar di antaranya.
Ketika saya menggunakan, history
saya hanya melihat semua perintah dari sesi terminal saya yang sebenarnya. Bagaimana saya bisa melihat lebih banyak histori perintah dari Bash? Apakah ada pengaturan khusus untuk bash yang harus saya ubah dari nilai default di Ubuntu?
Saya tidak punya ~/.bash_history
file. Tapi saya punya ~/.bashrc
dengan HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
danHISTCONTROL=ignoreboth
echo $HISTFILE
/home/sanoj/.bash_history
echo $HISTSIZE
500
echo $HISTFILESIZE
500
echo $HISTCONTROL
ignoreboth
PEMBARUAN: Saya sekarang mencoba Ubuntu Server 10.10 di VirtualBox. Jika saya hanya mematikan VirtualBox tanpa perintah shutdown, maka lain kali ketika saya boot, perintah dari sesi terakhir tidak disimpan dalam file histori.
Perintah hanya disimpan jika saya mematikan mesin dengan perintah shutdown. Misalnya shutdown -P 0.
Ini harus menjadi alasan masalah saya. Jadi saya harus mencari tahu bagaimana cara menyimpan sejarah perintah lebih sering. Misalnya setelah setiap perintah.
sumber
echo $HISTSIZE
danecho $HISTFILESIZE
? Saya (Ubuntu)~/.bashrc
memilikiHISTCONTROL
baris yang sama dengan Anda yang mati otak sejak yang kedua menimpa yang pertama dan nilai-nilai yang seharusnya dipisahkan dengan titik dua, bukan dipisahkan oleh koma. Jika Anda melakukannya,set -o
apakah ini menunjukkan garis yang mengatakan "riwayat aktif"?500
denganecho
kedua variabel danhistory on
Jawaban:
Kamu bisa menggunakan
untuk segera menambahkan riwayat di memori ke file riwayat. Satu sesi terminal tidak dapat melihat sesi yang lain kecuali ini dilakukan atau yang lain keluar.
Kamu bisa menggunakan
untuk melihat jumlah entri.
Selain
HISTSIZE
melihat entri di halaman Bash man mengenaiHISTFILESIZE
.sumber
history -a´ doesn't do anything for me, and not
sejarah 200 | less`, tetapi saya telah memperbarui pertanyaan saya dengan lebih banyak info. Bagaimanapun, terima kasih.Setelah Anda keluar riwayat akan ditambahkan ke file
~/.bash_history
. Silahkan lihat di sana.Secara default ia akan mengingat 500 perintah terakhir Anda. Jika Anda ingin menyimpan lebih banyak set variabel
HISTSIZE
dalam~/.bashrc
.Saya juga menambahkan
ignoredups
untukHISTCONTROL
(denganHISTCONTROL=$HISTCONTROL:ignoredup
). Ini membuat perintah berturut-turut duplikat untuk disimpan hanya sekali.Lihat
man 1 bash
apa lagi yang bisa Anda selidiki tentang sejarah.sumber
~/bash_history
file, dan tidak adaHISTSIZE
di~/.bashrc
tapi saya punyaHISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
danHISTCONTROL=ignoreboth
dan itu adalah Ubuntu Server, jika itu penting..
di~/.bash_history
. Dan untukHISTSIZE
itu hanya akan menggunakan nilai default 500 entri.~/.bash_history
file di sistem saya. Saya biasals -a
memeriksa.$HISTFILE
variabel, jadiecho $HISTFILE
akan memberi tahu Anda di mana mencarinya.echo $HISTFILE
memberi saya/home/sanoj/.bash_history
- aneh. Mungkin itu tidak diaktifkan karena alasan keamanan?bash history biasanya dimuat ketika shell mulai berjalan, dan disimpan ketika keluar secara normal. Anda dapat menggunakan
history -a
danhistory -n
untuk menimpanya, tetapi tidak secara otomatis kecuali Anda menyalahgunakan$PROMPT_COMMAND
atau yang serupa.sumber
Sanoj, ini seharusnya "hanya bekerja"; Saya tidak berpikir seharusnya ada sesuatu yang istimewa yang perlu Anda lakukan untuk mengaktifkan ini. Sepertinya ada sesuatu yang mengganggu jalannya acara.
Saya akan mencari di / etc / profile, / etc / bashrc (atau mungkin /etc/bash.bashrc menurut beberapa sumber), ~ / .bash_profile, ~ / .bashrc, ~ / .bash_login, ~ / .bash_logout, untuk melihat jika ada sesuatu yang mungkin mempengaruhi sejarah (mungkin
grep -i hist
pada masing-masing file di atas).... Khususnya saya ingin tahu apakah Anda memiliki sesuatu di ~ / .bash_logout yang menghapus file tersebut.
Atau, apakah mungkin ada sesuatu yang menimpa
$HOME
variabel?sumber