วิธีการกู้คืนไฟล์ที่ถูกลบใน Linux
เรื่องนี้ไม่เคยเกิดขึ้นกับคุณ? คุณตระหนักว่าคุณได้ลบไฟล์โดยไม่ตั้งใจ ไม่ว่าจะผ่านทางคีย์ Del หรือใช้ rm
ในบรรทัดคำสั่ง
ในกรณีแรก คุณสามารถไปที่ถังขยะ ค้นหาไฟล์ และคืนค่าไปยังตำแหน่งเดิมได้ตลอดเวลา แต่กรณีที่สองล่ะ? อย่างที่ฉันแน่ใจว่าคุณคงทราบแล้วว่าบรรทัดคำสั่งของ Linux จะไม่ส่งไฟล์ที่ถูกลบไปทุกที่ แต่จะ ลบ ไฟล์เหล่านั้น ก้น. พวกเขาไปแล้ว.
แนะนำให้อ่าน: วิธีการกู้คืนไฟล์/ไดเร็กทอรีที่ถูกลบโดยใช้เครื่องมือ Scalpel
ในบทความนี้ เราจะแบ่งปันเคล็ดลับที่อาจเป็นประโยชน์ในการป้องกันไม่ให้สิ่งนี้เกิดขึ้นกับคุณ และเครื่องมือที่คุณอาจพิจารณาใช้หากคุณไม่ระมัดระวังพอที่จะทำเช่นนั้น ณ จุดใดก็ตาม
สร้างนามแฝงเป็น 'rm -i'
สวิตช์ -i
เมื่อใช้กับ rm (และเครื่องมือจัดการไฟล์อื่นๆ เช่น cp หรือ mv) จะทำให้ข้อความแจ้งปรากฏขึ้นก่อนที่จะลบไฟล์
เช่นเดียวกับการคัดลอก ย้าย หรือการเปลี่ยนชื่อไฟล์ในตำแหน่งที่มีไฟล์ชื่อเดียวกันอยู่แล้ว
พรอมต์นี้ให้โอกาสคุณครั้งที่สองในการพิจารณาว่าคุณต้องการลบไฟล์จริง ๆ หรือไม่ หากคุณยืนยันพรอมต์ ไฟล์นั้นจะหายไป ในกรณีนี้ ฉันเสียใจ แต่เคล็ดลับนี้จะไม่ปกป้องคุณจากความประมาทของคุณเอง
หากต้องการแทนที่ rm ด้วยนามแฝงเป็น 'rm -i'
ให้ทำดังนี้
alias rm='rm -i'
คำสั่ง นามแฝง จะยืนยันว่าขณะนี้ rm เป็นนามแฝงแล้ว:
อย่างไรก็ตาม สิ่งนี้จะคงอยู่เฉพาะระหว่างเซสชันผู้ใช้ปัจจุบันในเชลล์ปัจจุบันเท่านั้น หากต้องการทำการเปลี่ยนแปลงอย่างถาวร คุณจะต้องบันทึกลงใน ~/.bashrc
(การแจกแจงบางส่วนอาจใช้ ~/.profile
แทน) ดังที่แสดงด้านล่าง:
เพื่อให้การเปลี่ยนแปลงใน ~/.bashrc
(หรือ ~/.profile
) มีผลทันที ให้ซอร์สไฟล์จากเชลล์ปัจจุบัน:
. ~/.bashrc
เครื่องมือทางนิติเวช - สำคัญที่สุด
หวังว่าคุณจะระมัดระวังกับไฟล์ของคุณ และจะต้องใช้เครื่องมือนี้เพื่อกู้คืนไฟล์ที่สูญหายจากดิสก์ภายนอกหรือไดรฟ์ USB เท่านั้น
อย่างไรก็ตาม หากคุณรู้ว่าคุณลบไฟล์ออกจากระบบของคุณโดยไม่ได้ตั้งใจ และกำลังจะเกิดอาการตื่นตระหนก อย่าทำเช่นนั้น มาดูเครื่องมือนิติเวชที่ออกแบบมาสำหรับสถานการณ์ประเภทนี้กันดีกว่า
หากต้องการติดตั้งที่สำคัญที่สุดใน CentOS/RHEL 7 คุณจะต้องเปิดใช้งาน Repoforge ก่อน:
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install foremost
ในขณะที่ Debian และอนุพันธ์ก็แค่ทำ
aptitude install foremost
เมื่อการติดตั้งเสร็จสิ้น เรามาทดสอบแบบง่ายๆ กันต่อ เราจะเริ่มต้นด้วยการลบไฟล์รูปภาพชื่อ nosdos.jpg
ออกจากไดเร็กทอรี /boot/images:
cd images
rm nosdos.jpg
หากต้องการกู้คืน ให้ใช้สิ่งที่สำคัญที่สุดดังนี้ (คุณจะต้องระบุพาร์ติชันที่ซ่อนอยู่ก่อน - /dev/sda1
คือตำแหน่งที่ /boot
อยู่ในกรณีนี้):
foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued
โดยที่ /home/gacanepa/rescued เป็นไดเร็กทอรีบนดิสก์ที่แยกจากกัน โปรดทราบว่าการกู้คืนไฟล์ในไดรฟ์เดียวกันกับที่ไฟล์ที่ถูกลบออกนั้นไม่ใช่การดำเนินการที่ชาญฉลาด
หากในระหว่างการกู้คืน คุณใช้เซกเตอร์ของดิสก์เดียวกันกับไฟล์ที่ถูกลบไปแล้ว อาจไม่สามารถกู้คืนสิ่งใดๆ ได้ นอกจากนี้ สิ่งสำคัญคือต้องหยุดกิจกรรมทั้งหมดของคุณก่อนดำเนินการฟื้นฟู
หลังจากที่ดำเนินการสำคัญที่สุดเสร็จแล้ว ไฟล์ที่กู้คืน (หากสามารถกู้คืนได้) จะอยู่ในไดเร็กทอรี /home/gacanepa/rescued/jpg
สรุป
ในบทความนี้ เราได้อธิบายวิธีการหลีกเลี่ยงการลบไฟล์โดยไม่ตั้งใจ และวิธีพยายามกู้คืนไฟล์หากเกิดเหตุการณ์ที่ไม่พึงประสงค์ดังกล่าว อย่างไรก็ตาม โปรดทราบว่าสิ่งสำคัญที่สุดอาจใช้เวลาสักครู่ในการทำงาน ทั้งนี้ขึ้นอยู่กับขนาดของพาร์ติชัน
และเช่นเคย อย่าลังเลที่จะแจ้งให้เราทราบหากคุณมีคำถามหรือความคิดเห็น โปรดส่งข้อความถึงเราโดยใช้แบบฟอร์มด้านล่าง