Anda dapat menghapus hanya baris yang menyinggung dari bash 's sejarah, bukannya membersihkan seluruh sejarah. Cukup hapus baris dengan -d bendera, lalu simpan (tulis) riwayat baru dengan -w bendera:
$ history
351 ssh example@unixlinux.online
352 my_password
$ history -d 352
$ history -w
Ada dua bagian untuk ini:
bashmenyimpan riwayat dalam file~/.bash_historyyang, secara default, ditulis di akhir sesihistoryyang disimpan dalam memori
Agar aman, Anda harus menghapusnya dari sesi:
history -c
dan potong file riwayat seperlunya:
> ~/.bash_history
Jika sesi Anda di mana Anda mengetik kata sandi masih terbuka, maka cara lain untuk menutupi jejak Anda adalah mengatur HISTFILE variabel ke perangkat nol sehingga riwayat tidak akan ditulis ke ~/.bash_history saat sesi keluar:
export HISTFILE=/dev/null
Karena bash (setidaknya semua versi historis dan terkini yang saya ketahui) tidak secara otomatis menyimpan riwayat sampai Anda keluar, strategi yang berlaku umum ketika Anda mengetik perintah yang ingin Anda pastikan tidak pernah disimpan adalah dengan segera mengetik:
kill -9 $$
Ini membunuh shell dengan SIGKILL , yang tidak dapat ditangkap, sehingga shell tidak memiliki cara untuk menyimpan apa pun saat keluar.
Sebagian besar pendekatan lain melibatkan scrubbing setelah fakta (yaitu setelah data masuk ke disk), yang memiliki lebih banyak peluang untuk kesalahan (kehilangan salinan), terutama jika sistem mungkin menggunakan btrfs atau serupa.