Score:-1

ไดเร็กทอรีการทำงานถูกลบโดยธรรมชาติ

ธง jp

บน อูบุนตู 20.04.3 LTSฉันทำงานใน nvim ใน bash ฉันเปิดแท็บเทอร์มินัลหลายแท็บ มี .git ไดเร็กทอรีในไดเร็กทอรีการทำงาน เมื่อถึงจุดหนึ่ง หลังจากปิดแท็บเทอร์มินัลหนึ่ง ฉันสังเกตเห็นว่าไดเร็กทอรีที่ฉันทำงานอยู่ไม่มีอยู่อีกต่อไป

ฉันตรวจสอบว่าฉันได้ย้ายไดเร็กทอรีโดยไม่ตั้งใจโดยการรันหรือไม่ sudo find / -name "some-file.txt" จากโฮมไดเร็กทอรี ที่ไหน บางไฟล์. txt เป็นชื่อไฟล์ที่ฉันแน่ใจว่าได้อยู่ในไดเร็กทอรีที่ขาดหายไป

ฉันตรวจสอบประวัติการทุบตีสองครั้งและหลังจากครั้งล่าสุด คอมไพล์คอมไพล์ และ git rebase -i HEAD --root ฉันทำแล้ว มีเพียงคำสั่งที่ระบุการค้นหาไดเร็กทอรีที่สูญหายของฉันเท่านั้น ฉันจำได้ว่าใน rebase แบบโต้ตอบฉันเปลี่ยนชื่อการคอมมิตครั้งแรก ถ้าฉันทำอะไรผิดที่นั่น (เช่นใน: หยด คอมมิชชันทั้งหมด เป็นต้น) สิ่งนี้จะยังไม่อธิบายไดเร็กทอรีทั้งหมดที่จะลบ

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

อะไรคือสาเหตุของสิ่งนี้ (เมื่อใดก็ตามที่ฉันพยายาม rm -r ไดเร็กทอรีที่มี a .git ที่เก็บที่มีการคอมมิต ฉันถูกขอให้ยืนยันการลบคอมมิท rm: ลบไฟล์ปกติที่ป้องกันการเขียน .... สิ่งนี้จะไม่เกิดขึ้นเมื่อฉันรันคำสั่งนี้เป็น ซูโดแต่ฉันค่อนข้างแน่ใจว่าฉันไม่ได้ป้อนรหัสผ่าน นอกเหนือจากประวัติการทุบตีแล้ว สิ่งนี้ทำให้ฉันคิดว่าฉันไม่ได้ลบไดเร็กทอรีทั้งหมดโดยไม่ได้ตั้งใจ)

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

muru avatar
us flag
เป็นไปได้ว่าคุณย้ายไดเร็กทอรีไปที่อื่นโดยไม่ตั้งใจ
guiverc avatar
cn flag
อย่าลืมว่าหากคุณรันคำสั่งด้วย `sudo` คุณจะไม่ถูกถามรหัสผ่านหากคุณยังอยู่ในเวลาที่กำหนดของ *คำสั่งยกระดับ* ก่อนหน้านี้ที่เทอร์มินัลที่ใช้คำสั่ง `sudo` .. คุณไม่ได้ให้ OS หรือรายละเอียดการเผยแพร่ใด ๆ ที่จะให้การตอบสนองที่แม่นยำยิ่งขึ้น (เช่น การที่คุณกล่าวถึงการไม่ให้รหัสผ่านอาจไม่จำเป็นสำหรับ `sudo` แม้ว่าจะมีผลิตภัณฑ์ Ubuntu ที่ต้องใช้รหัสผ่านในทันที แต่ คุณไม่ได้เจาะจง)
jonathan.scholbach avatar
jp flag
@guiverc ขอบคุณสำหรับความคิดเห็น ฉันได้เพิ่ม Ubunutu release แล้ว มีรายละเอียดเพิ่มเติมที่ขาดหายไปซึ่งอาจเป็นประโยชน์หรือไม่
muru avatar
us flag
@jonathan.scholbach `` sudo grep "seome-file.txt" \``? สมมติว่าคุณหมายถึง `/` ซึ่งค้นหาสตริง `seome-file.txt` ในไดเร็กทอรี `/` ซึ่งยังคงเป็นข้อผิดพลาดเว้นแต่คุณจะบอกให้ `grep` เรียกซ้ำ และถึงอย่างนั้นมันก็ยังตรวจสอบเนื้อหา ไม่ใช่ชื่อไฟล์ เป็นสิ่งยืนยันสิ่งใดก็ไม่มีความหมาย
jonathan.scholbach avatar
jp flag
@muru คุณพูดถูก ขออภัย ตอนแรกฉันพิมพ์ผิดและครั้งที่สอง ฉันสับสนระหว่าง `grep` และ 'find' ฉันไม่พบไฟล์ที่มี `find` เช่นกัน
muru avatar
us flag
คำสั่ง find ของคุณไม่ได้ทำในสิ่งที่คุณคิดเช่นกัน
Score:0
ธง it

ค้นหาสาเหตุ:

nvim ยังมาพร้อมกับคำสั่งต่างๆ (และส่วนขยายที่ติดตั้งไว้ล่วงหน้า) ที่สามารถทำได้ หากคุณกำลังพยายามหาสาเหตุของการลบ ให้ตรวจสอบของคุณ nvim บันทึกเช่นกัน

การกู้คืนข้อมูล:

คุณกล่าวถึงก .git ไดเรกทอรี ไดเร็กทอรีของคุณมี git remote หรือไม่? ถ้าเป็นเช่นนั้น เพียงโคลนไปยังท้องถิ่นและแก้ไขปัญหา

หากไม่ตรวจสอบไดเร็กทอรีชื่อ ".ถังขยะ-{$USER_ID}" หากต้นฉบับอยู่บนไดรฟ์ภายนอกที่ต่อเชื่อมอยู่ หรือ .local/share/ถังขยะ มิฉะนั้น. มันอาจจะอยู่ในนั้น (เว้นแต่ rm ถูกใช้ในการลบ ในกรณีนั้น เว้นแต่ว่าคุณกำลังสำรองข้อมูลระบบไฟล์ ระบบอาจหายไป)

การปกป้องระบบของคุณจากปัญหานี้:

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

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

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

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

ข้อเสียของ รีซิงค์ คือว่าไม่มี "ตั้งไว้แล้วลืม" วิธีการในตัว อย่างไรก็ตามตัวจัดการแพ็คเกจของ Ubuntu มีตัวเลือกการสำรองข้อมูลเพิ่มเติมมากมายซึ่งแต่ละตัวมีลักษณะเฉพาะของตัวเอง

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

jonathan.scholbach avatar
jp flag
เกี่ยวกับ repo ระยะไกล: อย่างที่ฉันพูด ฉันไม่ได้ผลักดัน เกี่ยวกับการสำรองข้อมูล: ฉันใช้การสำรองข้อมูลสัปดาห์ละครั้ง ฉันสูญเสียงานของวัน
Nate T avatar
it flag
การสูญเสียงานในหนึ่งวันยังคงเป็นเรื่องที่แย่ แต่มันอาจจะแย่กว่านั้นมาก สำหรับสาเหตุ ในที่สุดคุณเท่านั้นที่มีทรัพยากรที่จะคิดออก มีวิธีต่างๆ มากมายที่สามารถลบข้อมูลได้ มันอาจเป็นโปรแกรมโกง bg ที่รันรูทหรือ `SIGSEGV` สำหรับทั้งหมดที่เรารู้ ที่กล่าวว่าฉันรับประกันได้ว่าคำตอบอยู่ในไฟล์บันทึกที่ไหนสักแห่งในระบบของคุณ อีกอย่าง คุณตรวจถังขยะหรือยัง ตราบใดที่ไม่ใช่ `rm`ed (เหมือนในการเรียกระบบ ไม่ใช่ยูทิลิตี้ cli) คุณควรจะพบมันที่นั่น

โพสต์คำตอบ

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