File non salvati in OS X Lion


14

Dove vanno i file non salvati in Lion?

Ho lasciato TextEdit senza salvare poiché non avevo intenzione di salvarlo, ma con il salvataggio automatico il file è stato salvato da qualche parte da quando ho riaperto TextEdit il file su cui stavo lavorando è lì (anche se difficile ho disabilitato riprendi>. <). Quindi mi chiedevo se quel file fosse stato salvato?


2
Possiamo attenerci al modo in cui funziona Text Edit: potrebbe non seguire il linguaggio Lion generale e chiaramente c'è già molta complessità tra file temporanei, file non salvati e cosa succede quando si salva effettivamente il file al di fuori della libreria e quindi si hanno revisioni a quello stesso "file".
bmike

Trovato!! ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / Unsaved TextEdit Document.rtf
Samantha Catania

Risposte:


12

~ / Library / Contenitori

Questa directory ha molteplici scopi, alcuni dei quali potrebbero non essere ancora documentati da Apple.

Documenti senza titolo, non salvati per le applicazioni di supporto

Applicazioni come Anteprima e TextEdit.

Esempio

Copia un'immagine negli appunti. Apri anteprima, chiudi tutte le finestre, usa il comando Nuovo dagli Appunti , esci.

Apri TextEdit, chiudi tutte le finestre, digita qualcosa in una nuova finestra, esci.

Nel Terminale, esegui due comandi:

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

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

I file non salvati verranno elencati.

Versioni salvate dal sistema di file salvati dall'utente, in cui il file system o il volume non supporta l'archiviazione permanente della versione

File system come MS-DOS (FAT); volumi montati utilizzando AFP 3.3 o SMB; e così via.

Esempio

Effettuare una connessione AFP o SMB a un file server. Utilizzare Anteprima per aprire un'immagine su quel server, modificare quell'immagine, uscire senza salvare una versione, disconnettersi dal server.

Nel Terminale, esegui un comando:

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

In fondo all'elenco si trova una directory che contiene la versione salvata automaticamente dal sistema.

Nello stesso ambiente di rete: se si riapre l'anteprima, il sistema potrebbe riconnettersi al file server. Quindi, in una versione browser del file remoto , la sequenza temporale includerà un file locale .

(Potrei entrare in maggiore dettaglio, ma sarebbe fuori tema dalla domanda iniziale.)

Altri scopi

Oltre ai due scopi indicati sopra, ~/Library/Containerspossono avere altri scopi.

Suggerimento

Consentire al sistema di gestire i file in queste aree.

Evitare la perdita di dati; non non tentare inutili modifiche ai ~/Libraryo le sue sottodirectory.


Graham - il nocciolo della mia risposta è un duplicato esatto del tuo, ma perdonami se lo scrivo con molte più parole e in un modo molto diverso di arrivare alla risposta. Le informazioni sul salvataggio automatico e i filesystem alternativi sembravano ferire troppo il mio cervello e volevo una base: questa è tutta una risposta mac oltre alla tua.
bmike

@bmike nessuna scusa necessaria ma grazie :-) e mi sono dimenticato di /private/var/folderset cetera, quindi la tua risposta ha un voto positivo da parte mia. Questa è sicuramente una domanda in cui una miscela di risposte, brevi o lunghe, aggiunge valore.
Graham Perrin,

7

Il luogo principale in cui cercare modifiche non salvate per TextEdit è ~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/

Dipende dallo stato del documento ed è complicato (dal momento che potrebbero essere presenti modifiche non salvate una volta che il file è stato salvato e nominato la prima volta).


Documenti non salvati

Il primo tipo - i file di avvio "dietro le quinte" - iniziano come file temporanei in /private/var/folders/... e alla fine vengono memorizzati in ~/Library/Containers/. Sono denominati senza titolo e senza titolo 2 e così via . Ogni app ottiene la propria directory e, per TextEdit, cercherai un file simile~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/Unsaved TextEdit Document.rtf

Questi documenti senza titolo non ottengono un'icona proxy nella barra del titolo, ma solo il nome scelto da TextEdit:

screenshot di un documento senza titolo in TextEdit

Non si ottiene alcuna versione, blocco o notifica di modifiche diverse dal normale buffer di annullamento / ripetizione con questi file non salvati.

+S

Il primo salvataggio abilita l'archiviazione con versione e tutto ciò che ne consegue. Questo è quando il file ottiene una posizione più familiare nel file system, una possibilità per un nome diverso da X senza titolo . L'icona proxy è l'indizio che non è più un documento di salvataggio automatico.

screenshot di un documento salvato, senza edizione, in TextEdit

Il file non viene più archiviato solo in ~/Library/Containers/: la prima edizione viene salvata ovunque l'utente scelga nella finestra di dialogo Apri / Salva file.

Edizione / i in un documento salvato

Qualsiasi modifica a un documento salvato farà apparire la parola Modificato nella sua barra del titolo:

screenshot di un'edizione in TextEdit

Il file sopra ha:

  • la versione che è stata esplicitamente salvata da te
  • più l'edizione che viene automaticamente salvata dal sistema .

A questo punto, hai l'intera gamma di strumenti per ripristinare le modifiche con quel file:

  • il buffer di annullamento
  • i dati di salvataggio automatico o versioni in ~/Library/Containers/
  • l'ultimo stato salvato nel filesystem
  • le versioni archiviano da /.DocumentRevisions-V100

Salvando una versione, la parola Modificata scomparirà dalla barra del titolo. È qui che verrà visualizzato un menu delle versioni se si passa con il mouse sul nome del file e subentra un'intera versione dell'infrastruttura. Lascerò i meccanismi di questo per un'altra risposta - questo è abbastanza lungo.

screenshot del menu delle versioni in TextEdit


Molti altri file vengono aggiornati quando TextEdit crea e modifica i file:

  • l'elenco dei file recenti
  • l'elenco dei file attualmente aperti per quando l'app stessa si chiude
  • lo stato dell'app da riprodurre nel caso in cui il Mac si riavvii (anche in modo imprevisto).

Il sistema si avvicina al salvataggio automatico e le versioni dovrebbero garantire che:

  • i dati non vengono mai persi quando TextEdit si chiude normalmente
  • non più di alcuni secondi di edizione vanno persi se l'applicazione si chiude improvvisamente.

Non ho una cartella ~ / Library / Contents / PS Le mie librerie PS non sono nascoste
Samantha Catania


1
@ Samantha ho corretto /Library/Contentsper leggere /Library/Containers... bmike, ho apportato alcune altre modifiche, speriamo non rompa l'essenza del tuo originale. Abbiamo stili di scrittura diversi, quindi i rollback ecc. Non causeranno offese. Di particolare interesse (senza fornire esempi): a volte quando Modificato appare nella barra del titolo, ~/Library/Containersconterrà almeno una versione salvata esplicitamente dall'utente ma non quella salvata automaticamente dal Sistema. Un film come parte di una risposta (a una domanda diversa ma sovrapposta) dovrebbe aiutare a rendere le cose più chiare, ma senza fretta.
Graham Perrin,

La visualizzazione di @Samantha ~/Librarytemporaneamente è innocua (è un'opzione chiave alt / opzione nel menu Vai di Finder). Mostrarlo permanentemente è, suggerisco con cautela, la fine sottile di un cuneo. Ad altri spessori in quel cuneo ci sono nozioni come prevenire le scritture in determinate aree ( esempio ), alcune delle quali nozioni possono certamente causare problemi quando meno previsto, quindi incoraggio le persone a rispettare il comportamento del sistema all'estremità più sottile del cuneo ... qualsiasi cosa oltre è generalmente a rischio dell'utente. Spero possa aiutare.
Graham Perrin,

1
Rendo visibile la cartella Libreria e tutti i file nascosti perché come sviluppatore a volte ho bisogno di visualizzare il contenuto di quei file ma sicuramente non consiglio di fare casino con i file nascosti per l'utente medio perché se sbagliano qualcosa trovo difficile risolverlo>. <
Samantha Catania,

5

Secondo la recensione di Lion di John Siracusa su Lion , viene salvato in /.DocumentRevisions-V100


il file è lì (a condizione che tu abbia i file nascosti) e puoi accedere al file (a condizione che tu acceda come utente root) ci sono un sacco di cartelle vuote nella cartella che hai citato, uno dei pochi file che ci sono è un file plist ma non sembra contenere file non salvati.
Samantha Catania,

Puoi anche accedere a quel file tramite il terminale, ma non hai ancora trovato il mio file non salvato>. <
Samantha Catania,

1
@ Samantha dovresti esplorare il database SQLite in esso. Dalla recensione: "... ( /.DocumentRevisions-V100/db-V1/db.sqlite) contenente tabelle per il tracciamento dei file, le singole versioni di quei file (che Apple chiama" generazioni ") e la posizione di archiviazione dei dati."
Jari Keinänen,

2
Dai un'occhiata a fseventer [ fernlightning.com/doku.php?id=software:fseventer:start] , potrebbe essere utile rintracciarlo!
Agos,

2
Quella pagina della recensione di Ars Technica è più focalizzata sulle revisioni dei file salvati; la domanda riguarda i file non salvati.
Graham Perrin,

5

Secondo la documentazione per gli sviluppatori di Apple , tutti i nuovi documenti che non sono stati ancora salvati esplicitamente vengono salvati automaticamente in ~/Library/Autosave Information:

Il salvataggio automatico dei documenti è supportato dall'implementazione del salvataggio automatico in atto . Il salvataggio automatico in atto e il salvataggio automatico altrove proteggono entrambi dalla perdita di lavoro da parte dell'utente a causa di arresti anomali dell'applicazione, panico del kernel e interruzioni di corrente. Tuttavia, il salvataggio automatico in atto differisce dal salvataggio automatico altrove in quanto sovrascrive il file di documento effettivo anziché scrivere un nuovo file accanto ad esso contenente il contenuto del documento salvato automaticamente. (Il salvataggio automatico in atto esegue un salvataggio sicuro scrivendo prima in un nuovo file, quindi spostandolo nella posizione del file del documento al termine.)

L'architettura del documento utilizza ancora il salvataggio automatico altrove per salvare documenti senza titolo che hanno contenuto ma che non sono stati salvati e denominati esplicitamente dall'utente. In questo caso, i documenti senza titolo vengono salvati automaticamente ~/Library/Autosave Information. Inoltre, NSDocumentsalva le revisioni precedenti dei documenti altrove, offrendo all'utente l'accesso alle versioni precedenti.

La parte che dice "Inoltre, NSDocumentsalva le revisioni precedenti dei documenti altrove" si riferisce alla .DocumentRevisions-V100cartella nascosta presumo.

Quindi, se il nuovo documento è stato aperto sufficientemente a lungo per essere salvato automaticamente più di una volta, tutto ciò dovrebbe implicare che l'ultima versione sia archiviata in un file ~/Library/Autosave Informationmentre le versioni precedenti sono state archiviate nella .DocumentRevisions-V100cartella (nella radice di l'unità su cui risiede la cartella principale).

Nota a margine: questo mi lascia chiedermi se ~/Library/Autosave Informationad un certo punto anche i file verranno automaticamente eliminati, per evitare di accumulare questi tipi di documenti TextEdit rapidi che non avevi intenzione di salvare. La libreria non è una cartella in cui gli utenti inesperti dovrebbero trovarsi a galla; e per quanto ho capito, Lion ora lo nasconde anche per impostazione predefinita. Presumo che anche i suoi contenuti non vengano visualizzati in Spotlight. Se i file non vengono eliminati automaticamente, il desktop o la cartella Documenti sembrano essere le destinazioni migliori per il salvataggio automatico.


Interessante. In ~/Library/Autosave Informationnon trovo nulla relativo a TextEdit, ma in quell'applicazione ho numerose finestre Untitled ... che riprendono. Forse vale la pena guardare dentro / intorno alle risposte sotto Posso cambiare la frequenza con cui la funzione "Versioni" di Lion salva i file? .
Graham Perrin,

La parte importante è ciò a cui si ~/Library/Autosave Informationriferisce la tilde . Per le app normali, questa è la cartella principale dell'utente. Ma per le app sandbox (ad esempio TextEdit), questo è in realtà ~/Library/Containers/com.company.AppIdentifier/Data, dando un risultato finale nel caso di TextEdit di:~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information
Mike Abdullah

3

Sembra che la posizione per i file senza titolo e non salvati varia da un'applicazione all'altra. Usa Spotlight per trovare il tuo file temporaneo non salvato, indipendentemente dall'applicazione abilitata al salvataggio automatico che hai usato per crearlo.

  1. Avviare l'applicazione abilitata al salvataggio automatico
  2. Passare alla finestra del documento senza titolo che si desidera individuare nel file system
  3. Aggiungi una stringa distinta (ad es. Zyzyx)
  4. Esci dall'applicazione
  5. In spotlight (comando + spazio) digitare zyzyx
  6. il tuo file modificato dovrebbe apparire. Passa sopra con il mouse per vedere un'anteprima. Comando fai clic sul file per andare alla cartella allegata nel Finder.

Fantastico uso dei riflettori! Quali luoghi diversi da quelli ~/Library/Containersche hai scoperto?
bmike

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

0

Ho trovato i miei file eseguendo un backup TM ed è stato in grado di recuperare alcune di queste modifiche non salvate (ma non quella che stavo cercando). Ho trovato i file nella cartella ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / .. Quindi grazie e un backup TM potrebbe essere di aiuto per alcuni ..


Questo è già stato menzionato in un commento 1 anno fa.
Guwac,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.