หากไม่บันทึกคำสั่งเดียวในประวัติของคุณให้นำหน้าด้วยช่องว่าง (ทำเครื่องหมาย␣ที่นี่):
$ echo test
test
$ history | tail -n2
 3431  echo test
 3432  history | tail -n2
$ ␣echo test2
test2
$ history | tail -n2
 3431  echo test
 3432  history | tail -n2
พฤติกรรมนี้ตั้งอยู่ใน~/.bashrcไฟล์ของคุณซึ่งก็คือในบรรทัดนี้:
HISTCONTROL=ignoreboth
man bash พูดว่า:
  HISTCONTROL 
  รายการค่าคั่นด้วยโคลอนที่ควบคุมวิธีบันทึกคำสั่งในรายการประวัติ ถ้ารายการของค่ารวมถึง
   ignorespace ,   สายซึ่งเริ่มต้นด้วยอักขระช่องว่างจะไม่ถูกบันทึกในรายการประวัติ ค่าของการเพิกเฉย   ทำให้เกิดบรรทัดที่ตรงกับรายการประวัติก่อนหน้านี้ที่จะไม่ถูกบันทึก ค่าของ
   ignorebothคือชวเลขignorespaceและignoredups
ignoredupsโดยวิธีคือเหตุผลที่history | tail -n2ปรากฏเพียงครั้งเดียวในประวัติศาสตร์ในการทดสอบข้างต้น
ประวัติของเทอร์มินัลจะถูกบันทึกไว้ใน RAM และถูกฟลัชชิงไปยังคุณ~/.bash_historyทันทีที่คุณปิดเทอร์มินัล หากคุณต้องการลบรายการเฉพาะจากคุณ~/.bash_historyคุณสามารถทำได้ด้วยsed:
                                   # print every line…
sed '/^exit$/!d' .bash_history     # … which is just “exit”
sed '/^history/!d' .bash_history   # … beginning with “history”
sed '/>>log$/!d' .bash_history     # … ending with “>>log”
sed '\_/path/_!d' .bash_history    # … containing “/path/” anywhere
ในช่วงหนึ่งผมเปลี่ยนคั่นเริ่มต้น/ที่จะเป็นก็ใช้ในการค้นหาคำในความเป็นจริงนี้จะมีค่าเท่ากับ_ sed -i '/\/path\//d' .bash_historyหากผลคำสั่งเพียงเส้นที่คุณต้องการลบเพิ่ม-iตัวเลือกและการเปลี่ยนแปลง!dในการdที่จะดำเนินการลบ:
                                   # delete every line…
sed -i '/^exit$/d' .bash_history   # … which is just “exit”
sed -i '/^history/d' .bash_history # … beginning with “history”
sed -i '/>>log$/d' .bash_history   # … ending with “>>log”
sed -i '\_/path/_d' .bash_history  # … containing “/path/” anywhere