ฉันต้องการดูเนื้อหาของ.bash_history
ไฟล์ของฉันแต่ไม่ทราบว่าจะไปที่นั่นผ่านทางบรรทัดคำสั่งได้อย่างไร
/home/username/.bash_history
หรือยัง
.bash_history
จะถูกต่อท้ายเฉพาะเมื่อปิดเทอร์มินัล
ฉันต้องการดูเนื้อหาของ.bash_history
ไฟล์ของฉันแต่ไม่ทราบว่าจะไปที่นั่นผ่านทางบรรทัดคำสั่งได้อย่างไร
/home/username/.bash_history
หรือยัง
.bash_history
จะถูกต่อท้ายเฉพาะเมื่อปิดเทอร์มินัล
คำตอบ:
หากคุณต้องการที่จะเข้าถึงไฟล์ตัวจริงเพียงแค่ใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบ (ผมใช้emacs
แต่คุณสามารถใช้pluma
ของgedit
หรือvim
หรืออะไรก็ตาม):
emacs ~/.bash_history
นั่นคือตำแหน่งเริ่มต้นหากไฟล์ประวัติของคุณ หากคุณไม่พบสิ่งใดที่นั่นคุณอาจเปลี่ยนชื่อไฟล์ประวัติ สิ่งนี้ถูกเก็บไว้ใน$HISTFILE
ตัวแปรดังนั้นพิมพ์ออกมาเพื่อตรวจสอบค่าปัจจุบัน:
echo $HISTFILE
หากคุณต้องการดูประวัติของคุณแทนที่จะเรียกใช้ไฟล์คุณสามารถเรียกใช้history
ตามที่แนะนำ @ minerz029 คำสั่งที่มีตัวเลือกไม่เพียงแค่พิมพ์เนื้อหาของคุณตามด้วยคำสั่งดำเนินการในเปลือกปัจจุบันที่ยังไม่ได้รับการเขียนไปยังแฟ้มที่มีหมายเลขบรรทัดhistory
$HISTFILE
หากคุณต้องการเอาต์พุตของ.bash_history
ไฟล์จริงๆให้แทนที่history
ด้วย
cat ~/.bash_history
คำสั่งทั้งหมดด้านล่าง
หากคุณต้องการคำสั่งที่ไม่มีตัวเลขอยู่ข้างหน้าให้ใช้คำสั่งนี้แทนhistory
:
history | cut -d' ' -f 4-
ไม่เช่นนั้นจะไม่มีความแตกต่าง (ยกเว้นถ้าคุณใช้เชลล์อื่น)
คุณสามารถใช้ได้
history | tail -n 15
เพื่อรับเฉพาะ 15 บรรทัดสุดท้ายในประวัติของคุณโดยพิมพ์ครั้งสุดท้ายที่ดำเนินการครั้งสุดท้าย (ที่ด้านล่าง)
หรือใช้
history | grep "apt-get" | tail -n 15
เพื่อรับ 15 คำสั่งล่าสุดซึ่งบรรจุapt-get
ด้วยคำสั่งที่พิมพ์ครั้งสุดท้ายครั้งสุดท้าย (ที่ด้านล่าง) คุณสามารถแทนที่apt-get
ด้วยคำสั่งใด ๆ (หรืออาร์กิวเมนต์คำสั่ง) ที่คุณต้องการค้นหา (มันอาจเป็นนิพจน์ปกติ)
คุณสามารถใช้ได้
history | tac | less
เพื่อเลื่อนดูคำสั่งทั้งหมดที่ดำเนินการโดยเริ่มจากคำสั่งล่าสุดที่ด้านบน กดqเพื่อออก
ในทำนองเดียวกันการใช้งาน
history | grep "apt-get" | tac | less
เพื่อเลื่อนดูคำสั่งทั้งหมดที่ดำเนินการด้วย " apt-get
" ในพวกเขา (รวมถึงอาร์กิวเมนต์) เริ่มต้นด้วยคำล่าสุดที่ด้านบน กดqเพื่อออก
นอกจากคำตอบที่ยอดเยี่ยมของ minerz029 แล้ว
หากต้องการย้ำอีกครั้ง - คำสั่ง 'ประวัติ' จะพิมพ์ประวัติพร้อมกับตัวเลขที่อยู่ติดกับมัน
คุณสามารถไพพ์เอาต์พุตของประวัติลงใน grep, น้อยลงเป็นต้น
ouput แห่งประวัติศาสตร์ยังแสดงตัวเลขทางด้านซ้ายถัดจากเอาท์พุท เช่น
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
ด้วยหมายเลขนี้คุณสามารถเรียกใช้คำสั่งอีกครั้ง
เช่นเมื่อต้องการเรียกใช้ 473 อีกครั้งฉันจะพิมพ์ในเทอร์มินัล
admin@xen1~$ !473
ตามด้วยปุ่ม Enter เพื่อทำซ้ำคำสั่งที่อยู่ถัดจาก 473 ในเอาต์พุตประวัติ
นอกจากนี้คุณยังสามารถค้นหาย้อนหลังในประวัติคำสั่งโดยการพิมพ์ctrl + r
ปุ่มจากนั้นเริ่มพิมพ์เนื้อหาบางส่วนของคำสั่งและมันจะค้นหาและกรอกข้อมูล เมื่อคุณพบแล้วคุณสามารถพิมพ์ Enter เพื่อทำซ้ำหรือกด[tab]
ปุ่มเพื่อคัดลอกไปยังบรรทัดคำสั่งเพื่อแก้ไขคำสั่งก่อน
แน่นอนว่าสองตัวเลือกสุดท้ายนั้นทำงานในเชลล์ bash ฉันไม่แน่ใจว่าคุณสมบัติเหล่านี้ทำงานในเปลือกอื่น ๆ แต่เนื่องจาก bash เป็นเชลล์เริ่มต้นของ Ubuntu คุณจึงควรหามันไว้ที่นั่น
คุณอาจต้องการลอง "แนะนำกล่อง" - ประวัติเหมือนhttps://github.com/dvorka/hstr - มันอ่านประวัติทุบตีและอนุญาตให้นำทางอย่างรวดเร็ว
history | less