อย่างที่คุณทราบ Mac OS X จะเก็บคำสั่งทั้งหมดที่รันจาก Terminal ใน Terminal แต่ฉันต้องการลบคำสั่ง 3 รายการสุดท้ายจากเทอร์มินัล ฉันจะทำสิ่งนี้ได้อย่างไร
อย่างที่คุณทราบ Mac OS X จะเก็บคำสั่งทั้งหมดที่รันจาก Terminal ใน Terminal แต่ฉันต้องการลบคำสั่ง 3 รายการสุดท้ายจากเทอร์มินัล ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
Mac OS จะไม่เก็บอะไรเลย
bash
ซึ่งเป็นเชลล์ที่รันในเทอร์มินัลจะเก็บประวัติคำสั่ง
ประวัติคำสั่งเทอร์มินัลจะถูกเก็บไว้ในไฟล์ที่ซ่อนอยู่ในไดเรกทอรีผู้ใช้ของคุณที่เรียกว่า .bash_history
หมายความว่าไฟล์คือ: /Users/{username}/.bash_history
คุณต้องเปิดใช้งาน "แสดงไฟล์ระบบ" เพื่อดู (จากเมนู "มุมมอง" ในโปรแกรมค้นหา)
ไฟล์เป็นเพียงรายการที่เป็นข้อความของทุกสิ่งที่คุณพิมพ์ในเปลือก คุณสามารถเปิดได้ใน TextEdit หรือบรรณาธิการที่คุณเลือก
คุณควรปิดTerminal.app
การล้างการเปลี่ยนแปลงใด ๆ ในไฟล์ก่อนที่จะทำการเปลี่ยนแปลงหรืออาจถูกเขียนทับจากเวอร์ชันที่Terminal.app
มีอยู่ในหน่วยความจำ
มันไม่ใช่คุณสมบัติของ Mac OS แต่เป็นคุณสมบัติของเชลล์ สมมติว่าคุณกำลังใช้ bash (ค่าเริ่มต้น):
~/.bash_history
)history
คำสั่งด้วยman bash
(ในSHELL BUILTIN COMMANDS
ส่วน) คุณจะพบคำอธิบายของตัวเลือกต่าง ๆ
คุณสามารถ:
รายการรายการประวัติ
$ history
ลบประวัติทั้งหมด
$ history -c
ลบรายการที่กำหนด
$ history -d offset
fc: event not found: -c
ประวัติศาสตร์มันบอกว่า จากนั้นฉันเปิดไฟล์ด้วยตนเองลบเนื้อหา Closed and reopened the terminal
และประวัติศาสตร์ไม่ได้มีอยู่ในขณะนี้
สำหรับผู้ใช้ Mac Terminal
ลบประวัติคำสั่ง bash ด้วยคำสั่งต่อไปนี้
$ echo '' > ~/.bash_history
สำหรับผู้ใช้ Mac zsh
ลบประวัติคำสั่ง zsh ด้วยคำสั่งต่อไปนี้
$ echo ''> ~/.zsh_hostory
นอกจากการแก้ไขข้อความแล้วหากคุณเป็นโรงเรียนเก่าให้ใช้ 'vi' เพื่อแก้ไขไฟล์และลบคำสั่งที่ไม่เหมาะสม บรรณาธิการที่คล้ายกันบรรทัดคำสั่งมี emacs
(ซึ่งหุ้นแก้ไขลัดกับ OS X)หรือ(ซึ่งได้ง่ายนำทางและช่วยให้ภาพเกี่ยวกับวิธีการบันทึกและออกจากตัวแก้ไขโดยไม่ต้องแผ่นอ้างอิง)nano
history -a
หรือhistory -w
) โดยปกติคำสั่งสุดท้ายยังไม่อยู่ในไฟล์