ฉันจะค้นหาประวัติคำสั่งเชลล์ด้วยโปรแกรมแก้ไขข้อความได้อย่างไร


8

ฉันรู้ว่าCtrl+ Rให้คุณค้นหาคำสั่งประวัติ แต่มันเป็นพื้นฐานดั้งเดิมเล็กน้อย มีวิธีการส่งออกประวัติคำสั่งทั้งหมดของฉัน (ไม่ใช่แค่เทอร์มินัลเซสชันปัจจุบัน แต่เป็นประวัติทั้งหมด) ไปยังไฟล์ข้อความหรือไม่? ฉันสามารถใช้โปรแกรมแก้ไขข้อความเพื่อค้นหาได้อย่างสะดวกสบาย หรือถ้าไฟล์ประวัติมีอยู่แล้วมันอยู่ที่ไหน


ฉันจะสมมติว่าคุณหมายถึงประวัติคำสั่งเชลล์ของคุณและมีการแก้ไขเพื่อใช้เชลล์เริ่มต้นทุบตี
muru

คำตอบ:


13

จากman bash:

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a shell exits.

ดังนั้นตัวแปรHISTFILEจะมีชื่อไฟล์ที่จะบันทึกประวัติ

$ echo "$HISTFILE"
/home/user/.bash_history

ตอนนี้คุณสามารถค้นหารูปแบบ:

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

ในฐานะที่เป็น @Dennis ได้ชี้ให้เห็นหากคุณต้องการให้คุณสามารถเรียกใช้history -aเพื่อผนวกประวัติคำสั่งของเซสชั่นการทำงานกับ$HISTFILEไฟล์ โดยทั่วไปคำสั่งจะถูกผนวกเข้าโดยอัตโนมัติเมื่อคุณปิดเซสชันhistory -aจะทำสิ่งเดียวกันทันที

เรียกใช้help historyเพื่อรับความคิดเพิ่มเติมเกี่ยวกับhistorybuiltin เอง


1
history -aโปรดทราบว่าแฟ้มประวัติมักจะไม่ได้มีสายเข้ามาตั้งแต่จุดเริ่มต้นของเซสชั่ทุบตีปัจจุบันซึ่งสามารถแก้ไขได้โดยการดำเนินการ
เดนนิส

@Dennis: จุดดี .. เบาะ ..
heemayl


3

~/.bash_historyประวัติความเป็นมาทุบตีถูกบันทึกไว้ในไดเรกทอรีบ้านของคุณ

โดยทั่วไปCtrl+ Rค้นหาจากไฟล์นี้

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