ไฟล์ที่ไม่ได้บันทึกใน OS X Lion


14

ไฟล์ที่ไม่ได้บันทึกไว้ใน Lion จะอยู่ที่ไหน

ฉันออกจาก TextEdit โดยไม่บันทึกเนื่องจากฉันไม่มีความตั้งใจในการบันทึก แต่ด้วยการบันทึกไฟล์โดยอัตโนมัติยังคงมีการบันทึกที่ไหนสักแห่งตั้งแต่เมื่อฉันเปิด TextEdit อีกครั้งไฟล์ที่ฉันทำงานอยู่นั้นอยู่ที่นั่น ดังนั้นฉันสงสัยว่าไฟล์นั้นได้รับการบันทึกหรือไม่?


2
เราสามารถใช้วิธีการแก้ไขข้อความได้หรือไม่มันอาจไม่เป็นไปตาม Lion idiom ทั่วไปและมีความซับซ้อนอย่างมากระหว่างไฟล์ชั่วคราวไฟล์ที่ไม่ได้บันทึกและสิ่งที่เกิดขึ้นเมื่อคุณบันทึกไฟล์ภายนอกห้องสมุดแล้วมีการแก้ไขใหม่ "ไฟล์" เดียวกันนั้น
bmike

พบมัน !! ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / Unedaved TextEdit Document.rtf
Samantha Catania

คำตอบ:


12

~ / Library / บรรจุภัณฑ์

ไดเรกทอรีนี้มีจุดประสงค์หลายประการซึ่งบางส่วนอาจยังไม่ได้จัดทำเอกสารโดย Apple

ไม่มีชื่อเอกสารที่ไม่ได้บันทึกสำหรับการรองรับแอปพลิเคชัน

แอปพลิเคชั่นเช่นดูตัวอย่างและ TextEdit

ตัวอย่าง

คัดลอกรูปภาพไปยังคลิปบอร์ดของคุณ เปิดดูตัวอย่างปิดหน้าต่างทั้งหมดใช้คำสั่งใหม่จากคลิปบอร์ดออก

เปิด TextEdit ปิดหน้าต่างทั้งหมดพิมพ์บางอย่างในหน้าต่างใหม่ออกจาก

ในเทอร์มินัลให้รันสองคำสั่ง:

ls -@l ~/Library/Containers/com.apple.Preview/Data/Library/Autosave\ Information

ls -@l ~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave\ Information

ไฟล์ที่ไม่ได้บันทึก ...จะแสดงรายการ

เวอร์ชันที่บันทึกโดยระบบของไฟล์ที่ผู้ใช้บันทึกซึ่งระบบไฟล์หรือโวลุ่มไม่สนับสนุนหน่วยเก็บข้อมูลเวอร์ชันถาวร

ระบบไฟล์เช่น MS-DOS (FAT); ปริมาณการติดตั้งโดยใช้ AFP 3.3 หรือ SMB; และอื่น ๆ

ตัวอย่าง

ทำการเชื่อมต่อ AFP หรือ SMB ไปยังเซิร์ฟเวอร์ไฟล์ ใช้ดูตัวอย่างเพื่อเปิดรูปภาพบนเซิร์ฟเวอร์นั้นแก้ไขรูปภาพนั้นออกโดยไม่บันทึกรุ่นยกเลิกการเชื่อมต่อกับเซิร์ฟเวอร์

ใน Terminal ให้เรียกใช้คำสั่ง:

ls -lrt ~/Library/Containers/com.apple.Preview/Data/Library/Autosave\ Information

ที่ส่วนท้ายของรายการจะเป็นไดเรกทอรีที่มีรุ่นที่ระบบบันทึกไว้โดยอัตโนมัติ

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

(ฉันสามารถเข้าไปดูรายละเอียดที่มากขึ้น แต่มันจะเป็นหัวข้อนอกคำถามเปิด)

วัตถุประสงค์อื่น ๆ

นอกเหนือจากวัตถุประสงค์ทั้งสองที่ระบุไว้ข้างต้น~/Library/Containersอาจมีวัตถุประสงค์อื่น

เปรย

อนุญาตให้ระบบจัดการไฟล์ในพื้นที่เหล่านี้

หลีกเลี่ยง dataloss; จะไม่พยายามเปลี่ยนแปลงที่ไม่จำเป็นเพื่อ~/Libraryหรือไดเรกทอรีย่อย


Graham - คำตอบของฉันเป็นคำซ้ำของคุณแน่นอน แต่โปรดยกโทษให้ฉันถ้าฉันเขียนมันด้วยคำจำนวนมากและในลักษณะที่แตกต่างกันมากในการหาคำตอบ ข้อมูลการบันทึกอัตโนมัติและระบบไฟล์ทางเลือกดูเหมือนจะทำให้สมองของฉันเจ็บมากเกินไปและฉันต้องการพื้นฐาน - นี่คือคำตอบสำหรับ mac นอกเหนือจากของคุณ
bmike

@bike ไม่จำเป็นต้องขอโทษ แต่ขอบคุณ :-) และฉันลืมเกี่ยวกับ/private/var/folderset cetera ดังนั้นคำตอบของคุณจึงได้รับการโหวตจากฉัน นี่เป็นคำถามที่แน่นอนว่าการผสมผสานของคำตอบสั้นหรือยาวเพิ่มมูลค่า
เกรแฮมเพอร์ริน

7

สถานที่หลักในการค้นหาการเปลี่ยนแปลงที่ไม่ได้บันทึกสำหรับ TextEdit คือ ~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/

ขึ้นอยู่กับสถานะของเอกสารและมีความซับซ้อน (เนื่องจากการเปลี่ยนแปลงที่ไม่ได้บันทึกอาจมีอยู่เมื่อไฟล์ถูกบันทึกและตั้งชื่อเป็นครั้งแรก)


เอกสารที่ไม่ได้บันทึก

ประเภทเริ่มต้น - ไฟล์เริ่มต้น "เบื้องหลัง" - เริ่มเป็นไฟล์ชั่วคราวใน/private/var/folders/... และจะถูกเก็บไว้ใน~/Library/Containers/ที่สุด พวกเขาจะถูกตั้งชื่อไม่มีชื่อและไม่มีชื่อ 2 และอื่น ๆ แต่ละแอปจะได้รับเป็นไดเรกทอรีของตัวเองและสำหรับ TextEdit คุณจะค้นหาไฟล์เช่นนั้น~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/Unsaved TextEdit Document.rtf

เอกสารที่ไม่มีชื่อเหล่านี้ไม่ได้รับไอคอนพร็อกซี่ในแถบชื่อเรื่อง - เพียงชื่อที่เลือกโดย TextEdit:

สกรีนช็อตของเอกสารที่ไม่มีชื่อใน TextEdit

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

+S

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

สกรีนช็อตของเอกสารที่บันทึกโดยไม่มีเอดิชันใน TextEdit

ไฟล์จะไม่ถูกเก็บไว้ในเพียงอย่างเดียวอีกต่อไป~/Library/Containers/- รุ่นแรกจะถูกบันทึกทุกที่ที่ผู้ใช้เลือกในกล่องโต้ตอบเปิด / บันทึก

ฉบับไปยังเอกสารที่บันทึก

การแก้ไขใด ๆ ในเอกสารที่บันทึกไว้จะทำให้คำที่แก้ไขปรากฏในแถบชื่อเรื่อง:

สกรีนช็อตของรุ่นใน TextEdit

ไฟล์ด้านบนมี:

  • รุ่นที่คุณบันทึกไว้อย่างชัดเจน
  • ฉบับบวกที่ถูกบันทึกไว้โดยอัตโนมัติโดยระบบ

ณ จุดนี้คุณมีเครื่องมือมากมายที่จะย้อนกลับการเปลี่ยนแปลงด้วยไฟล์นั้น:

  • บัฟเฟอร์การเลิกทำ
  • บันทึกอัตโนมัติหรือข้อมูลรุ่นใน ~/Library/Containers/
  • สถานะที่บันทึกล่าสุดในระบบไฟล์
  • รุ่นเก็บจาก /.DocumentRevisions-V100

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

สกรีนช็อตของเมนูรุ่นใน TextEdit


ไฟล์อื่น ๆ จำนวนมากได้รับการอัพเดตเมื่อ TextEdit สร้างและแก้ไขไฟล์:

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

แนวทางของระบบในการบันทึกอัตโนมัติและรุ่นควรตรวจสอบให้แน่ใจว่า:

  • ข้อมูลจะไม่สูญหายเมื่อ TextEdit หยุดทำงานตามปกติ
  • รุ่นไม่เกินสองสามวินาทีจะหายไปหากแอปพลิเคชันหยุดทำงานโดยไม่คาดคิด

ฉันไม่มี ~ / Library / Contents / folder PS โฟลเดอร์ Library ของฉันไม่ถูกซ่อนอยู่
Samantha Catania


1
@ Samantha ฉันแก้ไข/Library/Contentsให้อ่าน/Library/Containers... bmike ฉันได้ทำการเปลี่ยนแปลงอื่น ๆ หวังว่าจะไม่ทำลายแก่นแท้ของต้นฉบับของคุณ เรามีรูปแบบการเขียนที่แตกต่างกันดังนั้นการย้อนกลับ ฯลฯ จะไม่ก่อให้เกิดความผิด สิ่งที่น่าสนใจเป็นพิเศษ (โดยไม่ให้ตัวอย่าง): บางครั้งเมื่อการแก้ไขปรากฏในแถบชื่อเรื่อง~/Library/Containersจะมีผู้ใช้อย่างน้อยหนึ่งรุ่นที่บันทึกไว้อย่างชัดเจนแต่ผู้ใช้ไม่ใช่รุ่นที่บันทึกไว้โดยอัตโนมัติ ภาพยนตร์ที่เป็นส่วนหนึ่งของคำตอบ (สำหรับคำถามที่แตกต่าง แต่ซ้อนทับกัน) ควรช่วยให้สิ่งต่าง ๆ ชัดเจนขึ้น แต่ไม่ต้องรีบเร่ง
Graham Perrin

@Samantha แสดง~/Libraryชั่วคราวไม่เป็นอันตราย (มันเป็นตัวเลือกที่สำคัญ alt / ตัวเลือกในเมนูไปของ Finder) แสดงอย่างถาวรคือผมขอแนะนำอย่างระมัดระวังปลายบางของลิ่ม ที่ความหนาอื่น ๆ ในลิ่มนั้นเป็นความคิดเช่นการป้องกันการเขียนไปยังบางพื้นที่ ( ตัวอย่าง ) ความคิดบางอย่างอาจทำให้เกิดปัญหาเมื่อคาดหวังอย่างน้อยที่สุดดังนั้นฉันจึงกระตุ้นให้ผู้คนเคารพพฤติกรรมของระบบที่ปลายบางที่สุดของลิ่ม ... โดยทั่วไปอยู่ในความเสี่ยงของผู้ใช้ หวังว่าจะช่วย
เกรแฮมเพอร์ริน

1
ฉันทำให้โฟลเดอร์ Library & ไฟล์ที่ซ่อนอยู่ทั้งหมดมองเห็นได้เพราะในฐานะนักพัฒนาบางครั้งฉันจำเป็นต้องดูเนื้อหาของไฟล์เหล่านั้น แต่ฉันไม่แนะนำให้ยุ่งกับไฟล์ที่ถูกซ่อนให้ผู้ใช้โดยเฉลี่ยเพราะถ้าพวกเขาทำสิ่งที่ผิดพลาด พบว่ามันยากที่จะแก้ไข>> <
Samantha Catania

5

ตามการทบทวนของ John Siracusa เรื่อง Lionมันถูกบันทึกไว้ใน /.DocumentRevisions-V100


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

คุณสามารถเข้าถึงไฟล์นั้นผ่านเทอร์มินัล แต่ก็ยังไม่มีโชคในการหาไฟล์ที่ไม่ได้บันทึกของฉัน>. <
Samantha Catania

1
@ Samantha คุณควรสำรวจฐานข้อมูล SQLite ในนั้น จากการตรวจสอบ: "... ( /.DocumentRevisions-V100/db-V1/db.sqlite) มีตารางสำหรับการติดตามไฟล์แต่ละเวอร์ชันของไฟล์เหล่านั้น (ซึ่ง Apple เรียกว่า" รุ่น ") และที่เก็บข้อมูลของข้อมูล"
Jari Keinänen

2
ลองดูที่ fseventer [ fernlightning.com/doku.php?id=software:fseventer:start]มันอาจมีประโยชน์ในการติดตามมัน!
Agos

2
หน้านั้นของการทบทวน Ars Technica มุ่งเน้นไปที่การแก้ไขไฟล์ที่บันทึกไว้ คำถามเกี่ยวกับไฟล์ที่ไม่ได้บันทึก
Graham Perrin

5

ตามเอกสารประกอบสำหรับนักพัฒนาของ Apple เอกสารใหม่ใด ๆ ที่คุณยังไม่ได้บันทึกอย่างชัดเจนจะถูกบันทึกอัตโนมัติใน~/Library/Autosave Information:

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

สถาปัตยกรรมเอกสารยังคงใช้การบันทึกอัตโนมัติที่อื่นเพื่อบันทึกเอกสารที่ไม่มีชื่อซึ่งมีเนื้อหา แต่ยังไม่ได้บันทึกและตั้งชื่อโดยผู้ใช้อย่างชัดเจน ~/Library/Autosave Informationในกรณีนี้เอกสารที่ไม่มีชื่อในบันทึกอัตโนมัติ นอกจากนี้NSDocumentจะบันทึกการแก้ไขเอกสารก่อนหน้านี้ที่อื่นทำให้ผู้ใช้สามารถเข้าถึงเวอร์ชันก่อนหน้าได้

ส่วนที่ระบุว่า“ นอกจากนี้การNSDocumentบันทึกการแก้ไขเอกสารก่อนหน้านี้ที่อื่น” หมายถึง.DocumentRevisions-V100โฟลเดอร์ที่ซ่อนอยู่ซึ่งฉันถือว่า

ดังนั้นหากคุณเปิดเอกสารใหม่นานพอที่จะทำการบันทึกอัตโนมัติมากกว่าหนึ่งครั้งสิ่งนี้ควรหมายความว่าเวอร์ชันล่าสุดถูกเก็บไว้ในไฟล์ใน~/Library/Autosave Informationขณะที่เวอร์ชันก่อนหน้าถูกเก็บไว้ใน.DocumentRevisions-V100โฟลเดอร์ (ที่รากของ ไดรฟ์ที่โฟลเดอร์บ้านของคุณอยู่)

หมายเหตุด้านข้าง:นี่ทำให้ฉันสงสัยว่าไฟล์ใน~/Library/Autosave Informationบางครั้งจะถูกลบโดยอัตโนมัติหรือไม่เพื่อหลีกเลี่ยงการซ้อนทับเอกสาร TextEdit อย่างรวดเร็วเหล่านี้ซึ่งคุณไม่ต้องการบันทึก Library ไม่ใช่โฟลเดอร์ที่ผู้ใช้ที่ไม่มีประสบการณ์ควรมีโคลนใน และเท่าที่ฉันเข้าใจตอนนี้ Lion จะซ่อนมันโดยปริยาย ฉันคิดว่าเนื้อหาของมันจะไม่แสดงใน Spotlight ด้วย หากไฟล์ไม่ถูกลบโดยอัตโนมัติโฟลเดอร์เดสก์ท็อปหรือเอกสารน่าจะเป็นปลายทางที่ดีกว่าสำหรับการบันทึกอัตโนมัติ


น่าสนใจ ใน~/Library/Autosave Informationฉันไม่พบอะไรที่เกี่ยวข้องกับ TextEdit แต่ในแอปพลิเคชันนั้นฉันมีwindows ที่ไม่มีชื่อมากมายที่กลับมาทำงานต่อ อาจคุ้มค่าที่จะมองหา / ตอบรอบคำตอบภายใต้ฉันสามารถเปลี่ยนความถี่ของคุณสมบัติ "เวอร์ชั่น" ของไลออนส์ได้หรือไม่? .
เกรแฮมเพอร์ริน

บิตที่สำคัญคือสิ่งที่ตัวหนอน~/Library/Autosave Informationหมายถึง สำหรับแอปทั่วไปนี่เป็นโฟลเดอร์หลักของผู้ใช้ แต่สำหรับแอปแบบแซนด์บ็อกซ์ (เช่น TextEdit) นี่เป็นเรื่องจริง~/Library/Containers/com.company.AppIdentifier/Dataโดยให้ผลลัพธ์สุดท้ายในกรณีของ TextEdit:~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information
Mike Abdullah

3

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

  1. เริ่มต้นแอปพลิเคชันที่เปิดใช้งานการบันทึกอัตโนมัติ
  2. นำทางไปยังหน้าต่างของเอกสารที่ไม่มีชื่อที่คุณต้องการค้นหาในระบบไฟล์
  3. เพิ่มสตริงที่แตกต่าง (เช่น zyzyx)
  4. ออกจากแอปพลิเคชัน
  5. ในสปอตไลท์ (คำสั่ง + ช่องว่าง) พิมพ์ zyzyx
  6. ไฟล์ที่แก้ไขของคุณควรเกิดขึ้น วางเมาส์ไว้เหนือเมาส์เพื่อดูตัวอย่าง คำสั่งคลิกที่ไฟล์เพื่อไปที่โฟลเดอร์ล้อมรอบใน Finder

การใช้สปอตไลท์ยอดเยี่ยม! สถานที่อื่นที่~/Library/Containersคุณไม่ได้ค้นพบ?
bmike

Keynote, Numbers, Pages: ~ / Library / Autosave \ Information
Adam Tauen

0

ฉันพบไฟล์ของฉันโดยทำการสำรองข้อมูล TM และสามารถกู้คืนการแก้ไขที่ไม่ได้บันทึกเหล่านี้ได้ (แต่ไม่ใช่ไฟล์ที่ฉันกำลังมองหา) ฉันพบไฟล์ใน ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / โฟลเดอร์ .. ดังนั้นขอขอบคุณและ TM แบ็คอัพอาจช่วยได้บ้าง ..


เรื่องนี้ถูกกล่าวถึงแล้วในความคิดเห็น 1 ปีที่ผ่านมา
guwac
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.