Saya menggunakan Linux Mint 17.1 Rebecca selama sekitar 2 hari dan secara tidak sengaja mengetikkan kata sandi saya ke terminal yang sekarang ditampilkan dalam daftar sejarah perintah yang sebelumnya saya ketikkan.
Saya ingin menghapus riwayat terminal sepenuhnya. Saya telah mencoba menggunakan perintah berikut di terminal yang saya pikir akan menghapus sejarah selamanya tetapi mereka tidak:
history -c
reset
tput reset
Perintah di atas "akan" menghapus histori dari terminal tetapi ketika saya keluar dan memunculkan yang baru semua histori saya sebelumnya masih ada dan semua bisa terdaftar lagi menggunakan perintah - history dan juga dengan menekan panah atas pada keyboard saya . Saya tidak ingin ini terjadi sampai saya benar-benar membersihkan sejarah saya, maka saya ingin terus menggunakannya.
Bagaimana saya bisa menghapus riwayat terminal saya sepenuhnya - selamanya dan mulai segar?
Harap Dicatat: Saya tidak ingin keluar dari terminal tanpa menyimpan riwayat, cukup hapus selamanya dalam contoh yang satu ini.
sumber
sed -i "s/$your_pass//g" ~/.bash_history
...Jawaban:
reset
atautput reset
hanya melakukan hal-hal ke terminal. Sejarah sepenuhnya dikelola oleh shell, yang tetap tidak terpengaruh.history -c
membersihkan riwayat Anda di shell saat ini. Itu cukup (tetapi berlebihan) jika Anda baru saja mengetik kata sandi dan belum keluar dari shell itu atau menyimpan riwayatnya secara eksplisit.Saat Anda keluar dari bash, histori disimpan ke file histori, yang secara default ada
.bash_history
di direktori home Anda. Lebih tepatnya, riwayat yang dibuat selama sesi saat ini ditambahkan ke file; entri yang sudah ada tidak terpengaruh. Untuk menimpa file histori dengan histori shell saat ini, jalankanhistory -w
.Alih-alih menghapus semua entri riwayat Anda, Anda dapat membuka
.bash_history
di editor dan menghapus baris yang tidak ingin Anda pertahankan. Anda juga dapat melakukannya di dalam bash, kurang nyaman, dengan menggunakanhistory
untuk menampilkan semua entri, laluhistory -d
menghapus entri yang tidak Anda inginkan, dan akhirnyahistory -w
menyimpan.Perhatikan bahwa bahkan setelah Anda mengedit file histori, kata sandi Anda mungkin masih ada di suatu tempat di disk dari versi file yang lebih lama. Itu tidak dapat diambil melalui sistem file lagi, tetapi mungkin masih mungkin (tetapi mungkin tidak mudah) untuk menemukannya dengan mengakses disk secara langsung. Jika Anda menggunakan kata sandi ini di tempat lain dan disk Anda dicuri (atau seseorang mendapatkan akses ke disk), ini bisa menjadi masalah.
sumber
history
untuk memeriksa konten log riwayat dan nomor baris yang ingin Anda hapus, seandainya Anda ingin menghapus nomor baris 1000 dalam log riwayat, laluhistory -d 1000
Saya telah mencoba sejarah -c tetapi sejarah kembali setelah kami keluar dan membuka kembali. Ini membantu saya.
Ini menghapus histori yang disimpan dalam file histori dan juga histori pada sesi saat ini (sehingga tidak disimpan ke file saat
bash
keluar). Kemudian keluar dari shell. Sesi shell berikutnya tidak memiliki riwayat.sumber
Alih-alih menghapus semua entri riwayat Anda, ketik perintah ini di terminal Anda:
history -c
(untuk menghapus riwayat)history -w
(simpan riwayat)sumber
inc_append_history
ataushare_history
opsi diatur.Karena ada masalah keamanan di sini, Anda harus mempertimbangkan menghapus file histori dengan aman.
sumber
Sebagai orang baru dihadapkan dengan masalah yang sama saya menggunakan cara yang agak brutal menghapus dan menciptakan kembali file sejarah: -
Itu bekerja untuk saya tanpa menimbulkan efek samping yang tidak menyenangkan yang saya sadari.
sumber
Tipe:
history -c; rm ~/.bash_history
history -c
membersihkan riwayat sesi Anda saat ini,rm ~/.bash_history
menghapus riwayat jangka panjang Anda, jadihistory -c; rm ~/.bash_history
hapus keduanya.sumber