OS X Lion中未保存的文件


14

未保存的文件在Lion中会放在哪里?

我不保存就退出了TextEdit,因为我没有保存的意图,但是通过自动保存文件,仍然可以保存文件,因为当我重新打开TextEdit时,我正在处理的文件就在那里了(即使我很难使用简历>。<)。所以我想知道文件是否被保存了吗?


2
我们能否坚持一下Text Edit的工作原理-它可能不遵循一般的Lion习惯用法,并且在临时文件,未保存的文件之间存在明显的复杂性,一旦将文件实际保存到库外然后进行了修订,会发生什么情况相同的“文件”。
bmike

找到了!!〜/ Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / Unsaved TextEdit Document.rtf
Samantha Catania

Answers:


12

〜/图书馆/容器

该目录有多种用途,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连接。使用“预览”在该服务器上打开图像,编辑该图像,退出而不保存版本,并断开与服务器的连接。

在终端中,运行命令:

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

列表的底部将是一个目录,其中包含系统自动保存的版本。

在相同的网络环境中:如果重新打开“预览”,则系统可能会重新连接到文件服务器。然后,在远程文件的版本浏览器视图中,时间轴将包括本地文件。

(我可以更详细地介绍,但这与开头的问题无关。)

其他目的

除了上面提到的两个目的外,~/Library/Containers还有其他目的。

暗示

允许系统管理这些区域中的文件。

避免数据丢失;不要尝试不必要的更改~/Library或子目录。


格雷厄姆(Graham)-我的答案与您的答案完全相同,但请原谅,如果我用更多的单词写出来,并且以完全不同的方式获得答案。自动保存信息和备用文件系统似乎对我的大脑造成了很大的伤害,我想要一个基本的-除了您之外,这都是mac的答案。
bmike

@bmike无需道歉,但谢谢:-),我忘记了/private/var/folders等等,因此您的回答获得了我的赞成。这绝对是一个问题,答案的混合(简短或长期)可以增加价值。
Graham Perrin

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 /文件夹PS我的图书馆文件夹没有隐藏
Samantha Catania


1
@Samantha我改正/Library/Contents了阅读/Library/Containers……bmike,我做了一些其他更改,希望不会破坏您原著的本质。我们有不同的写作风格,因此回滚等不会造成任何犯罪。特别令人感兴趣(没有给出示例):有时在标题栏中显示“已编辑 ” 时,~/Library/Containers将包含至少一个由用户明确保存的版本,而不包含系统自动保存的版本。电影作为答案的一部分(针对一个不同但重叠的问题),应有助于使事情更清晰,但不要仓促。
Graham Perrin

@Samantha ~/Library临时显示是无害的(这是Finder的“转到”菜单中的alt / option键选项)。我建议谨慎地永久显示它,它是楔子的细端。在该楔形的其他厚度上有诸如防止写入某些区域的概念(例如),其中某些概念在最不期望的情况下肯定会引起问题,因此,我鼓励人们在楔形最薄的一端尊重系统行为……除此以外的任何事物。通常由用户承担风险。希望能有所帮助。
Graham Perrin

1
我将Library文件夹和所有隐藏文件设为可见,因为作为开发人员,我有时需要查看那些文件的内容,但是我绝对不建议普通用户使用隐藏文件,因为如果它们弄乱了它们,它们将很难修复>。<
Samantha Catania

5

根据John Siracusa对Lion的评论,它保存在/.DocumentRevisions-V100中


该文件在那里(假设您有隐藏文件),并且您可以访问该文件(假设您以root用户身份登录),您提到的文件夹中有一堆空文件夹,其中有几个文件之一是一个plist文件,但是看起来不包含未保存的文件。
萨曼莎·卡塔尼亚

您也可以通过终端访问该文件,但仍然找不到我未保存的文件>。<
萨曼莎·卡塔尼亚

1
@Samantha,您应该在其中探索SQLite数据库。在评论中:“…(/.DocumentRevisions-V100/db-V1/db.sqlite)包含用于跟踪文件的表,这些文件的各个版本(Apple称为“世代”)以及数据的存储位置。”
贾里·凯纳嫩(JariKeinänen)2011年

2
看看fseventer [ fernlightning.com/doku.php?id=software:fseventer:start],追踪它可能会有所帮助!
阿戈斯

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文档。库不是经验不足的用户不应该浪费的文件夹。据我了解,Lion现在甚至默认将其隐藏。我想它的内容也不会出现在Spotlight中。如果没有自动删除文件,则“桌面”或“文档”文件夹似乎是自动保存的更好目的地。


有趣。在其中~/Library/Autosave Information我找不到与TextEdit有关的任何内容,但是在该应用程序中,我确实有许多无标题的窗口可以恢复。也许值得在“我是否可以更改Lion的“版本”功能保存文件的频率?
格雷厄姆·佩林

重要的一点是波浪号~/Library/Autosave Information所指的含义。对于常规应用程序,这是用户的主文件夹。但是对于沙盒应用程序(例如TextEdit),实际上是这样~/Library/Containers/com.company.AppIdentifier/Data,在TextEdit的情况下给出了最终结果:~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information
Mike Abdullah 2013年

3

似乎未命名,未保存文件的位置因应用程序而异。不管您使用哪个自动启用保存功能的应用程序创建文件,都可以使用Spotlight查找未保存的临时文件。

  1. 启动启用自动保存的应用程序
  2. 导航到要在文件系统中找到的无标题文档的窗口
  3. 添加一个不同的字符串(例如,zyzyx)
  4. 退出应用
  5. 在Spotlight(命令+空格)中输入zyzyx
  6. 您修改的文件应该出现。将鼠标悬停在其上以查看预览。命令单击文件以转到Finder中的封闭文件夹。

极好的使用聚光灯!除了~/Library/Containers发现您以外,还有哪些地方?
bmike

主题演讲,数字,页面:〜/ Library / Autosave \ Information
Adam Tauen 2011年

0

我通过执行TM备份找到了文件,并能够恢复其中一些未保存的编辑(但不是我要找的)。我在〜/ Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information /文件夹中找到了文件。.因此,谢谢和TM备份可能对某些人有所帮助。


1年前的评论中已经提到了这一点。
guwac 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.