วิธีสำรองข้อมูลประวัติเทอร์มินัลลินุกซ์

วิธีสำรองข้อมูลประวัติเทอร์มินัลลินุกซ์

เทอร์มินัล Linux มีคุณลักษณะ "ประวัติ" ด้วยคุณสมบัตินี้ ทุกคำสั่งที่คุณป้อนจะถูกสำรองไว้ใช้ในภายหลัง เนื่องจากคำสั่งเทอร์มินัลทั้งหมดของคุณจะถูกบันทึกไว้ใน "ประวัติ" จึงจำเป็นต้องสำรองข้อมูลไว้เพื่อความปลอดภัย

ในคู่มือนี้ เราจะแสดงวิธีสำรองข้อมูลประวัติเทอร์มินัล Linux และวิธีคืนค่าข้อมูลสำรองด้วย ดังนั้นเปิดโปรแกรมจำลองเทอร์มินัล Linux ที่คุณชื่นชอบแล้วทำตาม!

ประวัติเทอร์มินัล Linux ถูกเก็บไว้ที่ไหน?

เทอร์มินัล Linux เก็บประวัติในไฟล์ ไฟล์นี้มีชื่อว่า “.bash_history” ทุกคนสามารถแก้ไขได้ และจะถูกเก็บไว้ในโฮมไดเร็กทอรี เนื่องจากไฟล์ประวัติเทอร์มินัลสำหรับ Linux ถูกเก็บไว้ในไดเร็กทอรีผู้ใช้ ผู้ใช้ทุกคนในระบบจึงมีไฟล์

การอนุญาตพิเศษไม่ได้ป้องกันไฟล์ประวัติเหล่านี้ และผู้ใช้ในระบบสามารถดูประวัติของผู้อื่นได้ด้วยคำสั่งง่ายๆ ตัวอย่างเช่น หากฉันต้องการดูประวัติเทอร์มินัล/บรรทัดคำสั่งของชื่อผู้ใช้ “ผู้ใช้” บนระบบ Linux ของฉัน ฉันจะทำ:

วิธีสำรองข้อมูลประวัติเทอร์มินัลลินุกซ์

cat /home/user/.bash_history

ผู้ใช้ยังสามารถดูประวัติของผู้ใช้ปัจจุบันที่ลงชื่อเข้าใช้ในเทอร์มินัลเชลล์ของ Linux ได้ เพียงดำเนินการคำสั่ง "ประวัติ"

ประวัติศาสตร์

เหนือสิ่งอื่นใด เนื่องจาก "ประวัติ" เป็นเพียงไฟล์ จึงสามารถค้นหาได้เหมือนกับไฟล์ข้อความทั่วไปโดยใช้ฟังก์ชัน grep ตัวอย่างเช่น การค้นหาอินสแตนซ์ของ "git clone" ในชื่อผู้ใช้โดยใช้คำสั่งด้านล่าง

cat /home/user/.bash_history | grep 'git โคลน'

นอกจากนี้ยังทำงานเป็นผู้ใช้ที่เข้าสู่ระบบปัจจุบันด้วยคำสั่ง "ประวัติ"

ประวัติศาสตร์ | grep 'คำค้นหา'

บันทึกประวัติเทอร์มินัลลงในการสำรองข้อมูล

ในส่วนก่อนหน้าของคู่มือนี้ ฉันได้พูดถึงว่า "ประวัติ" สำหรับเทอร์มินัล Linux เป็นเพียงไฟล์ข้อความที่ซ่อนไว้อย่างเรียบร้อยซึ่งมีคำสั่งที่ผู้ใช้ป้อนทั้งหมดได้อย่างไร เนื่องจากเป็นเพียงไฟล์ จึงสามารถสำรองข้อมูลเพื่อความปลอดภัยได้ง่ายมาก

หากต้องการสร้างข้อมูลสำรอง ให้ใช้  คำสั่งcat ทำไม? ด้วย  catคุณสามารถดูไฟล์ข้อความทั้งหมดได้จากเทอร์มินัล เราสามารถใช้คำสั่งนี้ร่วมกับสัญลักษณ์ “>” เพื่อเปลี่ยนเส้นทางผลลัพธ์การดูไปยังไฟล์สำรอง

ตัวอย่างเช่น หากต้องการสำรองข้อมูลประวัติปัจจุบันของคุณ ให้รันคำสั่งcatกับ “~/.bash_history” และบันทึกลงในไฟล์ที่มีป้ายกำกับว่า “history_backup”

วิธีสำรองข้อมูลประวัติเทอร์มินัลลินุกซ์

cat ~/.bash_history > history_backup

คุณยังสามารถเรียกใช้คำสั่งประวัติร่วมกับ “>” และบันทึกด้วยวิธีนั้นได้

ประวัติ > history_backup

สุดท้ายนี้ เป็นไปได้ที่จะสำรองข้อมูลประวัติบรรทัดคำสั่ง/เทอร์มินัลของผู้ใช้รายอื่นที่ไม่ได้เข้าสู่ระบบโดยใช้คำสั่งด้านล่าง

หมายเหตุ: อย่าลืมเปลี่ยน “ชื่อผู้ใช้” เป็นผู้ใช้ที่คุณต้องการบันทึกประวัติ

cat /home/username/.bash_history > history_backup

สำรองข้อมูลรายการประวัติบางรายการเท่านั้น

คุณอาจต้องการสำรองคำสั่งเฉพาะในประวัติเทอร์มินัล Linux ของคุณเท่านั้น วิธีการทำเช่นนี้คือการดูไฟล์ประวัติและรวมเข้ากับคำสั่งgrepซึ่งจะกรองคำหลักเฉพาะ

ตัวอย่างเช่น หากต้องการสำรองเฉพาะคำสั่งในประวัติเทอร์มินัล Linux ของคุณที่มีคำสั่งgit cloneหรือgitคุณสามารถเรียกใช้การดำเนินการด้านล่าง

หมายเหตุ: ในตัวอย่างเหล่านี้ เราใช้ “>>” แทน “>” สาเหตุของ “>>” คือจะไม่เขียนทับเนื้อหาของการสำรองข้อมูลไฟล์ประวัติ และสามารถเรียกใช้ซ้ำได้หลายครั้งเพื่อเพิ่มลงในข้อมูลสำรอง

cat ~/.bash_history | grep 'git' >> history_backup

หรือ

cat /home/username/.bash_history | grep 'git' >> history_backup

การกรองด้วยgrepสามารถใช้กับคำสั่งhistoryได้เช่นกัน

ประวัติศาสตร์ | grep 'git' >> history_backup

หากต้องการสำรองคีย์เวิร์ดบางคำจากไฟล์ประวัติ ให้แทนที่ “git” ในตัวอย่างด้านบนด้วยคำสั่งใดๆ ที่คุณต้องการสำรองข้อมูล เรียกใช้คำสั่งนี้ซ้ำได้ตามต้องการ

วิธีคืนค่าการสำรองข้อมูลประวัติ

การกู้คืนข้อมูลสำรองประวัติทำได้ง่ายเพียงแค่ลบไฟล์ต้นฉบับและวางข้อมูลสำรองไว้แทน หากต้องการลบไฟล์ประวัติดั้งเดิม ให้ใช้คำสั่งrmในหน้าต่างเทอร์มินัลเพื่อลบ “.bash_history”

rm ~/.bash_history

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

mv history_backup ~/.bash_history

เมื่อไฟล์ประวัติใหม่อยู่ในสถานที่แล้ว ให้รันคำสั่งhistory -rwเพื่อโหลดฟังก์ชันประวัติของเทอร์มินัลอีกครั้ง

ประวัติศาสตร์ -rw

จากนั้น คุณจะสามารถดูประวัติเทอร์มินัลของคุณด้วย:

ประวัติศาสตร์

กู้คืนข้อมูลสำรองสำหรับผู้ใช้รายอื่น

ต้องการเรียกคืนข้อมูลสำรองประวัติจากผู้ใช้รายอื่นในระบบหรือไม่? ในการดำเนินการนี้ ให้เริ่มต้นด้วยการเข้าสู่ระบบของผู้ใช้โดยใช้คำสั่งsu

su username

หลังจากเข้าสู่ระบบผู้ใช้แล้ว ให้ลบไฟล์ประวัติปัจจุบันที่อยู่ในโฮมไดเร็กทอรีของผู้ใช้ (~)

rm ~/.bash_history

จากนั้นเปลี่ยนชื่อไฟล์สำรองข้อมูลประวัติเป็นไฟล์ ".bash_history" ใหม่ในไดเร็กทอรีของผู้ใช้

mv /path/to/backup/file/history-backup ~/.bash_history

เขียนการเปลี่ยนแปลงด้วย:

ประวัติศาสตร์ -rw

เมื่อเสร็จแล้ว ให้เรียกใช้ประวัติเพื่อดูคำสั่งที่กู้คืนในหน้าต่างเทอร์มินัล


วิธีการติดตั้ง GitLab บน Ubuntu Server

วิธีการติดตั้ง GitLab บน Ubuntu Server

คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

เรียนรู้วิธีเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ Ubuntu Linux โดยการติดตั้งและเปิดใช้งาน SELinux

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

ต้องการวิธีที่ง่ายกว่าในการเมานต์การแชร์ NFS บนเซิร์ฟเวอร์ Linux ของคุณหรือไม่ เรียนรู้วิธีเมานต์การแชร์ NFS ด้วยแอป Cockpit

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

การสนับสนุนระยะยาวของ Ubuntu 22.04 อยู่ที่นี่แล้ว! เรียนรู้วิธีอัปเกรดเดสก์ท็อปหรือแล็ปท็อปของคุณเป็น Ubuntu รุ่นล่าสุด

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

ต้องการถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker ของคุณหรือไม่ ด้วยเครื่องมือ Docker cp คุณสามารถย้ายไฟล์เข้าและออกจากคอนเทนเนอร์ได้อย่างง่ายดาย

วิธีติดตั้งไฟล์ DEB บน Linux

วิธีติดตั้งไฟล์ DEB บน Linux

ไฟล์ DEB คืออะไร?? คุณจะทำอย่างไรกับมัน? เรียนรู้หลายวิธีที่คุณสามารถติดตั้งไฟล์ DEB บน Linux PC ของคุณ

วิธีทำให้ GOG Galaxy ทำงานบน Linux

วิธีทำให้ GOG Galaxy ทำงานบน Linux

คุณเป็นเจ้าของเกมบน GOG.com หรือไม่? ต้องการตั้งค่าไคลเอนต์ GOG Galaxy บนพีซี Linux ของคุณเพื่อเพลิดเพลินกับวิดีโอเกมหรือไม่? ทำตามคำแนะนำนี้ในขณะที่เราแสดง

วิธีการติดตั้ง Docker Engine บน CentOS

วิธีการติดตั้ง Docker Engine บน CentOS

Docker Engine เป็นโปรแกรมเปิดคอนเทนเนอร์สำหรับ Linux และแพลตฟอร์มอื่นๆ Docker Engine จัดการคอนเทนเนอร์ในตัวที่ทำงานคล้ายกับ

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

คุณเหนื่อยกับการติดตั้ง Slack, Discord และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ บนระบบ Linux ของคุณหรือไม่? คุณหวังว่าพวกเขาจะรวมเป็นหนึ่งเดียวได้ไหม