Pertanyaan Bagaimana cara menyimpan sejarah terminal secara manual?


Itu pemahaman saya bahwa file sejarah diperbarui ketika terminal keluar. Tapi kadang-kadang komputer saya rusak, dan terminal tidak keluar dengan bersih, dan kemudian saya kehilangan perintah-perintah itu dari sejarah saya yang mengganggu. Bagaimana saya bisa membuatnya langsung flush, sehingga entri masih pergi ke sana bahkan jika komputer saya mengalami kehancuran? Saat ini saya menggunakan ini solusi, tapi saya rasa harus ada cara yang lebih baik.

Saya menggunakan gnome-terminal pada Ubuntu 12.10.


25
2018-02-26 07:10


asal




Jawaban:


Jawaban di tautan yang Anda berikan dari situs Pengguna Super seharusnya tidak harus dilihat sebagai 'solusi' untuk history perilaku default perintah. Bash shell memiliki beberapa perilaku yang waras, di luar kotak, default.

Saya sangat merekomendasikan membaca Bagaimana saya bisa menghindari kehilangan garis sejarah?  untuk penjelasan tentang apa modifikasi ini history sedang melakukan. Selain itu, ada beberapa kekhawatiran yang wajar untuk diperhatikan mengapa ini bukan perilaku default dari history perintah.

  • kinerja - Karena Anda menyimpan setiap perintah dari setiap jendela dengan history -a, yang .bash_history file dapat tumbuh cukup besar dan membutuhkan sumber daya yang lebih besar untuk memuat bash shell. Ini dapat menghasilkan waktu mulai yang lebih lama (untuk sesi terminal Anda, bukan keseluruhan startup sistem, per se.).

  • organisasi - (dari artikel di atas) "Perintah sejarah dari shell interaktif simultan (untuk pengguna tertentu) akan terjalin. Oleh karena itu, sejarah bukanlah daftar perintah berurutan yang terjamin karena perintah tersebut dieksekusi dalam satu shell." 

Jika Anda khawatir tentang mengamankan bash shell dan.bash_history file melalui audit, lihat artikel ini: Bagaimana cara saya mencatat riwayat atau "mengamankan" bash terhadap penghapusan riwayat?

Kadang-kadang (misalnya sistem tidak stabil, atau kegagalan daya), saya telah menemukan bahwa perintah di bawah ini bermanfaat.

Tambahkan baris berikut ke Anda ~/.bashrc mengajukan:

unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND

shopt -s histappend

Pastikan untuk sumber Anda .bashrc file menggunakan perintah source ~/.bashrc


12
2018-02-26 07:17





Jawaban yang paling sederhana, bekerja untuk pertanyaan "Bagaimana cara menyimpan sejarah terminal secara manual?":

history -a

Mungkin juga layak untuk mempertimbangkan beralih ke zsh, yang memiliki setopt inc_append_history ("simpan setiap perintah sebelum dijalankan").

Dan pertanyaan ini juga relevan: Apakah mungkin untuk membuat tulisan ke .bash_history segera?


27
2017-07-06 14:13





Untuk menyimpan sejarah bash secara manual ke file:

history -w ~/history.txt
vim ~/history.txt

Ini mengekspor sejarah ke file bernama history.txt. Anda kemudian dapat melihatnya menggunakan editor favorit Anda.

Jawaban disalin dari http://tech.karbassi.com/2007/01/14/view-and-change-bash-history/


15
2018-06-11 01:16