ค้นหาเว็บไซต์

วิธีการกู้คืนไฟล์ที่ถูกลบใน 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

สรุป

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

และเช่นเคย อย่าลังเลที่จะแจ้งให้เราทราบหากคุณมีคำถามหรือความคิดเห็น โปรดส่งข้อความถึงเราโดยใช้แบบฟอร์มด้านล่าง