Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

วิธีการกู้คืนไฟล์ที่ถูกลบบน Linux:คำแนะนำทีละขั้นตอนที่ใช้งานได้จริง

สิ่งนี้เคยเกิดขึ้นกับคุณหรือไม่? คุณตระหนักว่าคุณได้ลบไฟล์โดยไม่ตั้งใจ ไม่ว่าจะผ่านทาง Del คีย์ หรือใช้ 00 ในบรรทัดคำสั่ง

ในกรณีแรก คุณสามารถไปที่ถังขยะได้ตลอดเวลา ค้นหาไฟล์และกู้คืนไปยังตำแหน่งเดิม แต่กรณีที่สองล่ะ? อย่างที่ฉันแน่ใจว่าคุณคงทราบแล้วว่าบรรทัดคำสั่งของ Linux จะไม่ส่งไฟล์ที่ถูกลบไปทุกที่ แต่จะ ลบออก พวกเขา บุ๋ม. พวกเขาไปแล้ว

แนะนำให้อ่าน:วิธีการกู้คืนไฟล์/ไดเร็กทอรีที่ถูกลบโดยใช้เครื่องมือมีดผ่าตัด

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

สร้างนามแฝงเป็น 'rm -i'

16 สวิตช์ เมื่อใช้กับ rm (และเครื่องมือจัดการไฟล์อื่นๆ เช่น cp หรือ mv) จะทำให้ข้อความปรากฏขึ้นก่อนที่จะลบไฟล์

เช่นเดียวกับการคัดลอก ย้าย หรือเปลี่ยนชื่อไฟล์ในตำแหน่งที่มีไฟล์ชื่อเดียวกันอยู่แล้ว

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

เพื่อแทนที่ rm ด้วยนามแฝงเป็น 26 ทำ:

alias rm='rm -i'

นามแฝง คำสั่งจะยืนยันว่า rm ตอนนี้มีนามแฝง:

วิธีการกู้คืนไฟล์ที่ถูกลบบน Linux:คำแนะนำทีละขั้นตอนที่ใช้งานได้จริง เพิ่มคำสั่ง Alias rm

อย่างไรก็ตาม สิ่งนี้จะคงอยู่เฉพาะระหว่างเซสชันผู้ใช้ปัจจุบันในเชลล์ปัจจุบันเท่านั้น หากต้องการทำการเปลี่ยนแปลงอย่างถาวร คุณจะต้องบันทึกลงใน 34 (การแจกแจงบางส่วนอาจใช้ 41 แทน) ดังแสดงด้านล่าง:

วิธีการกู้คืนไฟล์ที่ถูกลบบน Linux:คำแนะนำทีละขั้นตอนที่ใช้งานได้จริง เพิ่มนามแฝงอย่างถาวรใน Linux

เพื่อให้มีการเปลี่ยนแปลงใน 56 (หรือ 61 ) เพื่อให้มีผลทันที ให้ซอร์สไฟล์จากเชลล์ปัจจุบัน:

. ~/.bashrc
วิธีการกู้คืนไฟล์ที่ถูกลบบน Linux:คำแนะนำทีละขั้นตอนที่ใช้งานได้จริง นามแฝงที่ใช้งานอยู่ใน Linux

เครื่องมือทางนิติเวช – สำคัญที่สุด

หวังว่าคุณจะระมัดระวังกับไฟล์ของคุณ และจะต้องใช้เครื่องมือนี้ในขณะที่กู้คืนไฟล์ที่สูญหายจากดิสก์ภายนอกหรือไดรฟ์ 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

ในขณะที่ เดเบียน และอนุพันธ์ แค่ทำ

# aptitude install foremost

เมื่อการติดตั้งเสร็จสิ้น เรามาทดสอบแบบง่ายๆ กันต่อ เราจะเริ่มต้นด้วยการลบไฟล์รูปภาพชื่อ 73 จาก /boot/images ไดเรกทอรี:

# cd images
# rm nosdos.jpg

หากต้องการกู้คืน ให้ใช้สิ่งสำคัญที่สุดดังนี้ (คุณจะต้องระบุพาร์ติชันที่ซ่อนอยู่ก่อน – 86 อยู่ที่ 92 อยู่ในกรณีนี้):

# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

โดยที่ /home/gacanepa/ช่วยเหลือ เป็นไดเร็กทอรีบนดิสก์ที่แยกจากกัน โปรดจำไว้ว่าการกู้คืนไฟล์ในไดรฟ์เดียวกันกับที่ไฟล์ที่ถูกลบออกนั้นไม่ใช่การย้ายที่ชาญฉลาด

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

หลังจากดำเนินการเสร็จสิ้นแล้ว ไฟล์ที่กู้คืน (หากสามารถกู้คืนได้) จะพบอยู่ใน /home/gacanepa/rescued/jpg ไดเร็กทอรี

สรุป

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

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