ฉันจะลบคำสั่งที่บันทึกไว้จาก Terminal ได้อย่างไร


16

อย่างที่คุณทราบ Mac OS X จะเก็บคำสั่งทั้งหมดที่รันจาก Terminal ใน Terminal แต่ฉันต้องการลบคำสั่ง 3 รายการสุดท้ายจากเทอร์มินัล ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


12

Mac OS จะไม่เก็บอะไรเลย

bashซึ่งเป็นเชลล์ที่รันในเทอร์มินัลจะเก็บประวัติคำสั่ง

ประวัติคำสั่งเทอร์มินัลจะถูกเก็บไว้ในไฟล์ที่ซ่อนอยู่ในไดเรกทอรีผู้ใช้ของคุณที่เรียกว่า .bash_history

หมายความว่าไฟล์คือ: /Users/{username}/.bash_history

คุณต้องเปิดใช้งาน "แสดงไฟล์ระบบ" เพื่อดู (จากเมนู "มุมมอง" ในโปรแกรมค้นหา)

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


คุณควรปิดTerminal.appการล้างการเปลี่ยนแปลงใด ๆ ในไฟล์ก่อนที่จะทำการเปลี่ยนแปลงหรืออาจถูกเขียนทับจากเวอร์ชันที่Terminal.appมีอยู่ในหน่วยความจำ


2
คำสั่งไม่ได้ถูกจัดเก็บอย่างฉับพลัน แต่เมื่อเปลือกออกหรือเมื่อได้รับแจ้งให้ทำเช่นนั้น (เช่นhistory -aหรือhistory -w) โดยปกติคำสั่งสุดท้ายยังไม่อยู่ในไฟล์
Matteo

อ๊ะฉันหมายถึงการเพิ่มคุณควรปิดอินสแตนซ์ทั้งหมดของ terminal.app ก่อนที่จะแก้ไขไฟล์นี้ แก้ไขแล้ว.
ชื่อปลอม

19

มันไม่ใช่คุณสมบัติของ Mac OS แต่เป็นคุณสมบัติของเชลล์ สมมติว่าคุณกำลังใช้ bash (ค่าเริ่มต้น):

  • ประวัติคำสั่งจะถูกเก็บไว้ในหน่วยความจำและคงอยู่ในไฟล์ (ปกติ~/.bash_history)
  • คุณสามารถแสดงรายการและแก้ไขประวัติด้วยhistoryคำสั่ง

ด้วยman bash(ในSHELL BUILTIN COMMANDSส่วน) คุณจะพบคำอธิบายของตัวเลือกต่าง ๆ

คุณสามารถ:

  • รายการรายการประวัติ

    $ history
  • ลบประวัติทั้งหมด

    $ history -c
  • ลบรายการที่กำหนด

    $ history -d offset

ทั้งสองคำตอบนั้นถูกต้องฉันเลือกคำตอบแรกสุด .. ขอบคุณครับ ..
JAHelia

ในการทำ -c fc: event not found: -cประวัติศาสตร์มันบอกว่า จากนั้นฉันเปิดไฟล์ด้วยตนเองลบเนื้อหา Closed and reopened the terminalและประวัติศาสตร์ไม่ได้มีอยู่ในขณะนี้
อยากรู้อยากเห็น

2

สำหรับผู้ใช้ Mac Terminal

ลบประวัติคำสั่ง bash ด้วยคำสั่งต่อไปนี้ $ echo '' > ~/.bash_history

สำหรับผู้ใช้ Mac zsh

ลบประวัติคำสั่ง zsh ด้วยคำสั่งต่อไปนี้ $ echo ''> ~/.zsh_hostory


โปรดทราบว่าการดำเนินการนี้จะลบประวัติทั้งหมดไม่ใช่เฉพาะสามบรรทัดสุดท้าย
John N

0

นอกจากการแก้ไขข้อความแล้วหากคุณเป็นโรงเรียนเก่าให้ใช้ 'vi' เพื่อแก้ไขไฟล์และลบคำสั่งที่ไม่เหมาะสม บรรณาธิการที่คล้ายกันบรรทัดคำสั่งมี emacs (ซึ่งหุ้นแก้ไขลัดกับ OS X)หรือ(ซึ่งได้ง่ายนำทางและช่วยให้ภาพเกี่ยวกับวิธีการบันทึกและออกจากตัวแก้ไขโดยไม่ต้องแผ่นอ้างอิง)nano


1
ที่จะครอบคลุมโดย "คุณสามารถเปิดใน TextEdit หรือบรรณาธิการที่คุณเลือก " ซึ่งอยู่ในคำตอบที่ได้รับการยอมรับ
John N

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