ฉันจะเปลี่ยนตำแหน่งไฟล์. bash_history ได้อย่างไร


10

ฉันใช้ CentOS 6.x และต้องการย้าย. bash_history ไปยังตำแหน่งอื่น

โฮมไดเรกทอรีของผู้ใช้ของฉันคือ (เพราะฉันเรียกใช้ VPS) /var/www/vhost/<domain>.<tld>ซึ่งสามารถเข้าถึง FTP ได้ (และควรจะเป็น)

ด้วยเหตุนี้ฉันได้เปลี่ยนการAuthorizedKeysFileเชื่อมต่อ SSH ผิดปกติ~/.ssh/authorized_keysเนื่องจากการเชื่อมต่อ FTP จะสามารถค้นหาได้ง่าย

ในเวลาเดียวกันฉันต้องการย้าย.bash_historyไฟล์ไปยัง/home/%u/.bash_historyที่ที่%uผู้ใช้ปัจจุบันอยู่

คำตอบ:


17

คุณต้องตั้งค่า HISTFILE สำหรับผู้ใช้ของคุณไปยังตำแหน่งที่คุณต้องการตั้งค่าต่อไปนี้ใน. bash_profile สำหรับผู้ใช้และสำหรับผู้ใช้ใหม่ตั้งในไดเรกทอรีโครงกระดูกผู้ใช้ /etc/skel/.bash_profile

export HISTFILE=/home/$USER/.bash_history

1
ขอบคุณสำหรับวิธีการตั้งค่าสำหรับผู้ใช้ใหม่โดยอัตโนมัติเช่นกัน
Brian Graham

ในขณะที่คุณกำลังใช้งาน VPS ฉันคิดว่ามันอาจมีประโยชน์ :)
Daniël W. Crompton

หมายเหตุหนึ่ง ... สิ่งนี้จะต้องค่อนข้างเร็วในการแยกวิเคราะห์ไฟล์ RC ทันทีที่มีสิ่งใดที่เขียนถึงประวัติการเปลี่ยนแปลงใด ๆ ของ VAR นี้จะถูกละเว้น
Rich Homolka

@ RichHomolka ตามการเปลี่ยนแปลงของไฟล์ man เป็น HISTFILE จะไม่ถูกมองข้ามโดยเฉพาะ:The name of the file in which command history is saved (see HISTORY below). The default value is ~/.bash_history. If unset, the command history is not saved when an interactive shell exits.
Daniël W. Crompton

@ DaniëlW.Cromptonฉันยอมรับ :) ฉันใช้สิ่งนี้เพื่อแยกไฟล์ประวัติตามttyคำสั่ง ประเด็นของฉันคือเมื่อคุณตั้งค่า ในบางจุดที่ตั้งได้รับการแก้ไขและการเปลี่ยนแปลงเพิ่มเติมจะถูกละเว้น
Rich Homolka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.