มีขนาดสูงสุดของไฟล์ประวัติทุบตีหรือไม่?


17

ฉันสามารถเพิ่มขนาดของประวัติคำสั่งเป็น bash ได้หรือไม่?

โปรดทราบว่าฉันใช้คอมพิวเตอร์ Red Hat Linux ในแผนกฟิสิกส์ดาราศาสตร์ระดับปริญญาตรีที่นี่ (ดังนั้นฉันจึงไม่ได้รับสิทธิพิเศษมากมาย)


คำตอบ:


15

แทนที่จะระบุหมายเลขคุณสามารถทำได้

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

ในกรณีนี้มีเพียงขนาดดิสก์ของคุณ (และ "ขีด จำกัด ไฟล์ที่ใหญ่ที่สุดของคุณ" หากระบบปฏิบัติการหรือ FS ของคุณมีหนึ่งขนาด) คือขีด จำกัด

อย่างไรก็ตามโปรดทราบว่านี่จะช้าลงในการทุบตีมากขึ้นเรื่อย ๆ ดูเอกสาร BashFAQนี้และบทความการบริหารเดเบียน (ลิงก์เดิมเสียชีวิตดูในมิเรอร์: archive.isและarchive.org ) สำหรับเทคนิคที่ขยายขนาดได้ดีขึ้น


นอกจากนี้คุณยังอาจต้องมีการเพิ่มในของคุณhistory-size inputrc
Chris Down

คำเตือน: ตามที่ระบุไว้ [ unix.stackexchange.com/a/76129/78713 เหมือน(ด้านล่าง)สิ่งนี้อาจทำให้ Bash รับค่าเริ่มต้นและหากคุณมี.bash_historyขนาดใหญ่กว่าที่มีอยู่เพื่อตัดทอนมัน
Chris Povirk

8

คุณสามารถใช้logrotateเพื่อเก็บรักษารายการเก่าไว้ มันช่วยให้คุณสามารถตั้งค่าการ จำกัด ขนาดที่จะทำให้การเก็บถาวร โดยปกติจะรันจาก cronjob รายวัน แต่คุณก็อาจเรียกใช้จาก.bash_logoutสคริปต์ของคุณเช่นกัน


ดูเหมือนว่าแนวทางที่ยั่งยืนที่สุดสำหรับฉันเนื่องจากการลบขีด จำกัด ขนาดในระยะยาวจะส่งผลกระทบต่อประสิทธิภาพการทำงาน ในขณะที่ฉันไม่แน่ใจฉันจะไปที่ลานกว้างเมื่อไม่นานนี้ฉันกลัวว่าจะต้องใช้เวลาสักพักกว่าจะเริ่มสังเกตเห็นผลกระทบดังกล่าว Btw ให้ลองเพิ่มการกำหนดค่าที่คุณตั้งไว้และคำสั่ง optionnal bash logout ที่จะเพิ่ม
Balmipour

ลิงก์ไม่ทำงาน อาจแก้ไขเพื่อชี้ไปยังลิงก์อื่นที่มีข้อมูลเดียวกันหรือไม่
ดร. เบโก

7

@Phomom การตั้งค่า vars สภาพแวดล้อมเหล่านั้นไม่ได้สำหรับฉันเลย! สำหรับฉันนี่ทำให้ bash ใช้ค่าเริ่มต้นของ inbuilt (ดูเหมือน) ในการตัดทอน. bash_history ไปประมาณ 9KiB

สิ่งที่ใช้ได้ผลกับฉันคือ. bashrc ต่อไปนี้:

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