Несохраненные файлы в OS X Lion

14

Куда идут несохраненные файлы в Lion?

Я вышел из TextEdit без сохранения, так как у меня не было намерения сохранять, но с помощью автосохранения файл все еще сохранялся где-то, поскольку при повторном открытии TextEdit файл, над которым я работал, уже есть (даже если я отключил резюме>. <). Так что мне было интересно, где этот файл был сохранен?

Саманта Катания
источник
2
Можем ли мы придерживаться того, как работает Text Edit - он может не соответствовать общепринятому языку Lion, и очевидно, что между временными файлами, несохраненными файлами и тем, что происходит, когда вы действительно сохраняете файл за пределами библиотеки, а затем вносите изменения, уже много сложностей. тот самый "файл".
bmike
Нашел это !! ~ / Библиотека / Контейнеры / com.apple.TextEdit / Данные / Библиотека / Автосохранение информации / Несохраненный TextEdit Document.rtf
Саманта Катания

Ответы:

12

~ / Library / Контейнеры

Этот каталог служит нескольким целям, некоторые из которых могут быть еще не задокументированы Apple.

Без названия, несохраненные документы для поддержки приложений

Такие приложения, как Preview и TextEdit.

пример

Скопируйте изображение в буфер обмена. Откройте Preview, закройте все окна, используйте команду New from Clipboard , выйдите.

Откройте 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 соединение с файловым сервером. Используйте Preview, чтобы открыть изображение на этом сервере, отредактировать это изображение, выйти без сохранения версии, отключиться от сервера.

В Терминале выполните команду:

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

Внизу списка будет каталог, содержащий версию, автоматически сохраненную Системой.

В той же сетевой среде: если вы снова откроете Preview, система может повторно подключиться к файловому серверу. Затем в представлении браузера удаленного файла на временной шкале будет отображаться локальный файл.

(Я мог бы вдаваться в подробности, но это было бы не по теме из первого вопроса.)

Другие цели

Помимо двух целей, указанных выше, ~/Library/Containersмогут быть и другие цели.

намек

Разрешить Системе управлять файлами в этих областях.

Избегайте потери данных; делать не пытаться ненужных изменений ~/Libraryили его подкаталогах.

Грэм Перрин
источник
Грэм, часть моего ответа - точная копия твоего, но прости меня, если я напишу его с гораздо большим количеством слов и совершенно другим способом получения ответа. Автосохранение информации и альтернативных файловых систем, казалось, слишком сильно повредили мой мозг, и я хотел базового - это все ответы Mac, в дополнение к вашему.
bmike
@bmike извинений не требуется, но спасибо :-), и я забыл о /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/- первая редакция сохраняется там, где пользователь выбирает в диалоге открытия / сохранения файла.

Издание (я) в сохраненный документ

Любое изменение в сохраненном документе приведет к появлению слова Edited в строке заголовка:

скриншот издания в TextEdit

Файл выше имеет:

  • версия, которая была явно сохранена вами
  • плюс издание, которое автоматически сохраняется Системой .

На данный момент у вас есть полный набор инструментов для отката изменений в этом файле:

  • буфер отмены
  • автоматическое сохранение или версии данных в ~/Library/Containers/
  • последнее сохраненное состояние в файловой системе
  • магазин версий из /.DocumentRevisions-V100

Сохранение версии приведет к тому, что слово Edited исчезнет из строки заголовка. Именно здесь будет отображаться меню версий , если вы наведите курсор на имя файла и вся инфраструктура версий вступит во владение. Я оставлю механику этого для другого ответа - это достаточно долго.

снимок экрана с меню версий в TextEdit


Многие другие файлы обновляются, когда TextEdit создает и изменяет файлы:

  • список последних файлов
  • список открытых в данный момент файлов, когда само приложение закрывается
  • состояние приложения для воспроизведения в случае перезагрузки Mac (даже неожиданно).

Система подходит к автоматическому сохранению, и ее версии должны обеспечивать:

  • данные никогда не теряются при обычном выходе из TextEdit
  • при неожиданном завершении работы приложения теряется не более нескольких секунд редакции.
bmike
источник
У меня нет папки ~ / Library / Contents / PS PS Мои библиотеки не скрыты
Саманта Катания
Увлекательный, чтобы этого не хватало. Вы отключили автосохранение или иным образом заблокированные папки в папке « Сохраненное состояние приложения »
bmike
1
@Samantha Я исправил, /Library/Contentsчтобы прочитать /Library/Containers... bmike, я сделал некоторые другие изменения, надеюсь, не нарушая суть вашего оригинала. У нас разные стили написания, поэтому откаты и т. Д. Не вызовут обид. Особый интерес (не приводя примеров): иногда, когда в строке заголовка появляется « Отредактировано» , оно ~/Library/Containersсодержит хотя бы одну версию, явно сохраненную пользователем, но не версию, автоматически сохраняемую Системой. Фильм как часть ответа (на другой, но частично совпадающий вопрос) должен помочь прояснить ситуацию, но без спешки.
Грэм Перрин
@Samantha, показывающий ~/Libraryвременно, безвреден (это опция alt / option key в меню Go в Finder). Постоянно показывать это, осторожно предлагаю, тонкий конец клина. В толще этого клина есть такие понятия, как предотвращение записи в определенные области ( пример ), некоторые из которых, безусловно, могут вызывать проблемы, когда их меньше всего ожидают, поэтому я призываю людей уважать поведение системы на самом тонком конце клина ... что-нибудь за этим как правило, на риск пользователей. Надеюсь, это поможет.
Грэм Перрин
1
Я делаю папку «Библиотека» и все скрытые файлы видимыми, потому что, как разработчик, мне иногда нужно просматривать содержимое этих файлов, но я определенно не рекомендую возиться со скрытыми файлами среднему пользователю, потому что, если они что-то испортят, они собираются мне трудно это исправить>. <
Саманта Катания
5

Согласно обзору Джона Сиракузы о Льве, он сохраняется в /.DocumentRevisions-V100

user151019
источник
файл находится там (при условии, что у вас есть скрытые файлы), и вы можете получить доступ к файлу (при условии, что вы вошли в систему как пользователь root) в указанной вами папке есть куча пустых папок, один из немногих файлов есть файл plist, но не похоже, что он содержит несохраненные файлы.
Саманта Катания
Вы также можете получить доступ к этому файлу через терминал, но все еще не повезло найти мой несохраненный файл>. <
Саманта Катания
1
@ Саманта, ты должен исследовать базу данных SQLite в ней. Из обзора: «… ( /.DocumentRevisions-V100/db-V1/db.sqlite) содержащий таблицы для отслеживания файлов, отдельные версии этих файлов (которые Apple называет« поколениями ») и место хранения данных».
Яри ​​Кейнянен
2
Взгляните на fseventer [ fernlightning.com/doku.php?id=software:fseventer:start] , может быть полезно отследить его!
Agos
2
Эта страница обзора Ars Technica больше сфокусирована на ревизиях сохраненных файлов; вопрос о несохраненных файлах.
Грэм Перрин
5

Согласно документации разработчика Apple , любые новые документы, которые вы еще не сохранили явно, автоматически сохраняются в ~/Library/Autosave Information:

Автоматическое сохранение документов поддерживается внедрением автосохранения на месте . Автосохранение на месте и автосохранение в другом месте защищают пользователя от потери работы из-за сбоев приложений, паники ядра и сбоев питания. Однако автосохранение на месте отличается от автосохранения в другом месте тем, что оно перезаписывает фактический файл документа, а не записывает новый файл рядом с ним, содержащий содержимое автосохраненного документа. (Автосохранение на месте выполняет безопасное сохранение, сначала записав в новый файл, а затем переместив его на место файла документа.)

Архитектура документа все еще использует автосохранение в другом месте для сохранения документов без названия, которые имеют содержимое, но не были явно сохранены и названы пользователем. В этом случае документы без названия автоматически сохраняются в ~/Library/Autosave Information. Кроме того, NSDocumentсохраняет более ранние версии документов в другом месте, предоставляя пользователю доступ к предыдущим версиям.

Часть, которая гласит «Кроме того, NSDocumentсохраняет более ранние версии документов в другом месте», относится к скрытой .DocumentRevisions-V100папке, которую я предполагаю.

Таким образом, если новый документ был открыт достаточно долго, чтобы его можно было сохранять автоматически более одного раза, это означает, что последняя версия хранится в файле, ~/Library/Autosave Informationтогда как более ранние версии хранятся в .DocumentRevisions-V100папке (в корне диск, на котором находится ваша домашняя папка).

Примечание: это ~/Library/Autosave Informationзаставляет меня задуматься о том, автоматически ли удаляются файлы в какой-то момент, чтобы избежать накопления таких быстрых документов TextEdit, которые вы не собирались сохранять. Библиотека - это не папка, в которую неопытным пользователям приходится разбираться; и, насколько я понял, Лев теперь даже скрывает это по умолчанию. Я предполагаю, что его содержимое также не отображается в центре внимания. Если файлы не удаляются автоматически, папка «Рабочий стол» или «Документы» могут показаться лучшим местом для автосохранения.

Rinzwind
источник
Интересный. В ~/Library/Autosave InformationI ничего не найти , касающееся TextEdit, но в этом приложении у меня есть многочисленные Untitled ... окна , что резюме. Может быть, стоит поискать ответы на вопросы в разделе « Могу ли я изменить, как часто функция« Версии »» Lion сохраняет файлы? ,
Грэм Перрин
Важным моментом является то, к чему относится тильда ~/Library/Autosave Information. Для обычных приложений это домашняя папка пользователя. Но для приложений с песочницей (например, TextEdit) это на самом деле ~/Library/Containers/com.company.AppIdentifier/Dataдает конечный результат в случае TextEdit:~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information
Майк Абдулла
3

Кажется, что местоположение неназванных, несохраненных файлов варьируется от приложения к приложению. Используйте центр внимания, чтобы найти несохраненный временный файл, независимо от того, какое приложение с автосохранением вы использовали для его создания.

  1. Запустите приложение с автосохранением
  2. Перейдите к окну документа без названия, который вы хотите найти в файловой системе.
  3. Добавить отличную строку (например, Zyzyx)
  4. Выйти из приложения
  5. В центре внимания (команда + пробел) введите Zyzyx
  6. Ваш измененный файл должен появиться. Наведите курсор мыши, чтобы увидеть предварительный просмотр. Командой нажмите на файл, чтобы перейти к вложенной папке в Finder.
Адам Тауэн
источник
Потрясающее использование прожектора! Какие места, кроме ~/Library/Containersвы обнаружили?
bmike
Ключевые слова, цифры, страницы: ~ / Библиотека / Автосохранение \ Информация
Адам Тауэн,
0

Я нашел мои файлы, выполнив резервное копирование ТМ, и смог восстановить некоторые из этих несохраненных изменений (но не ту, которую я искал). Я нашел файлы в папке ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information /. Так что спасибо и резервное копирование TM может помочь некоторым ...

Маленькая Т
источник
Это уже упоминалось в комментарии 1 год назад.
Guwac