Development

วิธีแก้ไข zsh_history เสียหาย

How to fix a corrupt zsh history file

ปัญหาที่เจอ

สำหรับชาว Dev ที่ใช้ ZSH อาจจะเคยเจอเหตุการณ์เปิด Terminal ขึ้นมาแล้วเจอ Error แจ้งเตือนเกี่ยวกับ History file พังแบบนี้ครับ

zsh: corrupt history file /home/pi/.zsh_history

ซึ่งปัญหานี้จะทำให้เราไม่สามารถกดลูกศรขึ้น-ลง เพื่อเรียกดูคำสั่งเก่า ๆ ที่เคยพิมพ์ไปได้ ซึ่งสาเหตุมักเกิดจากเครื่องดับไปดื้อ ๆ หรือโปรแกรมปิดไม่สมบูรณ์ครับ

วิธีแก้ไข

วิธีแก้นั้นง่ายมากครับ ไม่ต้องลบ History ทิ้งทั้งหมด หลักการคือเราจะย้ายไฟล์ที่เสียไปพักไว้ก่อน แล้วใช้คำสั่ง strings เพื่อดึงเฉพาะข้อความที่อ่านรู้เรื่องกลับมาใส่ไฟล์ใหม่ครับ

พิมพ์ตามนี้ได้เลย หรือจะก๊อปไปวางทีละบรรทัดก็ได้ครับ

cd ~
mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history
fc -R .zsh_history
rm ~/.zsh_history_bad

เท่านี้ zsh_history ของเราก็จะกลับมาใช้งานได้ปกติ กดดูคำสั่งย้อนหลังได้เหมือนเดิมแล้วครับ!

Related Articles

Simple Paginate
Development

Simple Paginate

Code ตัวอย่างคือการใช้งานใน Express + Typescript + Mongoose
ตั้งค่าให้สามารถเชื่อมต่อ Local Network ได้ ตอนที่เชื่อม openvpn
Development

ตั้งค่าให้สามารถเชื่อมต่อ Local Network ได้ ตอนที่เชื่อม openvpn

แก้ไขไฟล์ openvpn config หากมีการ import เข้าไปใน openvpn gui แล้วสามารถค้นหาไฟล์การตั้งค่าได้ที่
วิธีการลบ .env file ออกจาก git แบบถูกวิธี
Development

วิธีการลบ .env file ออกจาก git แบบถูกวิธี

สมมติว่าเราเผลอ commit ไฟล์ .env ที่มี API key ไปแล้ว และ push ขึ้น GitHub เราต้องรีบลบมันออกทันที เพราะข้อมูลอาจถูกนำไปใช้ได้