ลบประวัติเทอร์มินัลใน Linux [ปิด]


170

เมื่อคุณใช้คีย์ up ใน terminal Linux คุณสามารถใช้คำสั่งก่อนหน้าอีกครั้ง คุณสมบัติที่ยอดเยี่ยม อย่างไรก็ตามฉันเริ่มทำการบันทึก mysql ลงใน mysql พร้อมรายละเอียดที่ละเอียดอ่อนในคำสั่ง

ฉันจะลบประวัตินั้นได้อย่างไร


ขออภัยฉันลืมที่จะพูดถึงว่าฉันใช้ทุบตีอย่างสมบูรณ์
Frank Vilea

16
เนื่องจากคำถามนี้ปิดฉันไม่สามารถเพิ่มเป็นคำตอบได้ คุณสามารถบอกทุบตีไม่ให้บันทึกประวัติใด ๆ สำหรับเซสชั่นเฉพาะด้วยคำสั่งนี้:export HISTFILE=/dev/null
Chris Eberle

1
ฉันยังสามารถเพิ่มสิ่งนี้ได้: อย่าป้อนข้อมูลที่ละเอียดอ่อนลงในบรรทัดคำสั่ง - รอให้พร้อมต์: D
hummingBird

คำตอบ:


343

คุณสามารถล้างประวัติทุบตีของคุณเช่นนี้:

history -cw


4
ชอบคำตอบนี้ - จะมีผลทันทีแทนที่จะลบ.bash_historyซึ่งต้องการให้เชลล์รีสตาร์ทเพื่อให้มีผล
mikemaccana

1
ไม่ทำงานบนเครื่อง Ubuntu 14.04 ของฉัน ประวัติจะปรากฏขึ้นพร้อมกับเทอร์มินัลใหม่ >~/bash_historyทั้งหมดที่ทำงานเป็น ต้องรีสตาร์ท terminal สำหรับเรื่องนี้แม้ว่า
Aniket Thakur

ใช้งานได้กับ Mac OS X El Capitan (ทดสอบในรุ่น 10.11.2) แต่คุณต้องเพิ่มบรรทัดต่อไปนี้ใน~/.bash_profile: export SHELL_SESSION_HISTORY=0จากนั้นทำ a source ~/.bash_profileและเพื่อสิ้นสุดการออกและรีสตาร์ทแอป Terminal ของคุณ หากคุณต้องการเข้าใจว่าคำสั่งส่งออกนี้ทำอะไรคุณควรตรวจสอบลิงค์ต่อไปนี้อย่างแน่นอน: superuser.com/questions/950403/…
King-Wizard

1
ไม่เพียงพอ -c คู่มือบอกว่า -c ล้างรายการประวัติโดยการลบรายการทั้งหมด -w wirtes ประวัติปัจจุบันไปยังไฟล์ประวัติและผนวกเข้ากับรายการประวัติ เพิ่งทำงานได้ดี
คาห์น

24

หากคุณใช้ bash ประวัติเทอร์มินัลจะถูกบันทึกไว้ในไฟล์ชื่อ. bash_history ลบทิ้งประวัติจะหายไป

อย่างไรก็ตามสำหรับ MySQL แนวทางที่ดีกว่าคือไม่ต้องป้อนรหัสผ่านในบรรทัดคำสั่ง หากคุณเพียงระบุตัวเลือก -p โดยไม่มีค่าระบบจะขอให้คุณใส่รหัสผ่านและจะไม่ถูกบันทึก

ตัวเลือกอื่นหากคุณไม่ต้องการป้อนรหัสผ่านทุกครั้งคือเก็บไว้ในไฟล์ my.cnf สร้างไฟล์ชื่อ ~ / .my.cnf ด้วยสิ่งที่ชอบ:

[client]
user = <username>
password = <password>

ตรวจสอบให้แน่ใจว่าเปลี่ยนสิทธิ์ของไฟล์เพื่อให้มีเพียงคุณเท่านั้นที่สามารถอ่านไฟล์ได้

แน่นอนว่าวิธีนี้รหัสผ่านของคุณยังคงถูกบันทึกไว้ในไฟล์ธรรมดาในไดเรกทอรีบ้านของคุณเหมือนกับที่เคยบันทึกไว้ใน. bash_history


4
+1 -pสำหรับการระบุ นี่เป็นวิธีการแก้ไขปัญหาที่ถูกต้องโดยสิ้นเชิง
andyb

2
ที่จริงแล้วในระบบ Linux ของฉันทุบตีจะจดจำประวัติและสร้างไฟล์ใหม่เมื่อล็อกเอาต์ คุณต้องเข้าสู่ระบบลบไฟล์เข้าสู่ระบบอีกครั้งออกจากเปลือกแรกลบไฟล์แล้วออกจากเปลือกที่สอง
cHao

ขอบคุณสำหรับการชี้ให้เห็นว่า ฉันคิดว่าฉันฉลาดโดยใช้ตัวเลือก -p + รหัสผ่านโดยตรงในคำสั่งเพราะมันเร็วกว่ามากเพียงแค่กดลูกศรขึ้นเนื่องจากฉันมีรหัสผ่านที่ยาวมาก ได้เวลาพิจารณาใหม่ ..
Frank Vilea

5
อย่าลืมunset HISTFILEที่จะไม่บันทึกประวัติศาสตร์ปัจจุบัน
Ignacio Vazquez-Abrams

ฉันแก้ไขคำตอบและเพิ่มโซลูชันที่ป้องกันไม่ให้ป้อนรหัสผ่านทุกครั้ง
sagi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.