Gdzie idą niezapisane pliki w Lion?
Wychodziłem z TextEdit bez zapisywania, ponieważ nie miałem zamiaru zapisywać, ale dzięki autozapisowi plik wciąż został gdzieś zapisany, ponieważ po ponownym otwarciu TextEdit plik, nad którym pracowałem, już tam jest (nawet jeśli wyłączyłem wznawianie>. <). Zastanawiałem się, czy ten plik został zapisany?
Odpowiedzi:
~ / Biblioteka / Kontenery
Ten katalog służy wielu celom, z których niektóre mogą nie być jeszcze udokumentowane przez Apple.
Untitled, Niezapisane dokumenty do obsługi aplikacji
Aplikacje takie jak Preview i TextEdit.
Przykład
Skopiuj obraz do schowka. Otwórz podgląd, zamknij wszystkie okna, użyj polecenia Nowy ze schowka , wyjdź.
Otwórz TextEdit, zamknij wszystkie okna, wpisz coś w nowym oknie, wyjdź.
W terminalu uruchom dwa polecenia:
ls -@l ~/Library/Containers/com.apple.Preview/Data/Library/Autosave\ Information
ls -@l ~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave\ Information
Niezapisane… pliki zostaną wyświetlone na liście.
Zapisane przez system wersje plików zapisanych przez użytkownika, w których system plików lub wolumin nie obsługuje trwałego przechowywania wersji
Systemy plików, takie jak MS-DOS (FAT); woluminy zamontowane przy użyciu AFP 3.3 lub SMB; i tak dalej.
Przykład
Nawiąż połączenie AFP lub SMB z serwerem plików. Użyj podglądu, aby otworzyć obraz na tym serwerze, edytować ten obraz, wyjść bez zapisywania wersji, rozłączyć się z serwerem.
W terminalu uruchom polecenie:
ls -lrt ~/Library/Containers/com.apple.Preview/Data/Library/Autosave\ Information
U stóp listy znajduje się katalog zawierający wersję automatycznie zapisaną przez system.
W tym samym środowisku sieciowym: jeśli ponownie otworzysz Podgląd, system może ponownie połączyć się z serwerem plików. Następnie w widoku przeglądarki wersji pliku zdalnego oś czasu będzie zawierać plik lokalny .
(Mógłbym bardziej szczegółowo, ale byłoby to nie na temat pytania otwierającego).
Inne cele
Poza dwoma wymienionymi powyżej celami
~/Library/Containers
mogą mieć także inne cele.Wskazówka
Pozwól systemowi zarządzać plikami w tych obszarach.
Unikaj utraty danych; nie podejmuj prób niepotrzebnych zmian
~/Library
lub podkatalogów.źródło
/private/var/folders
et cetera, więc twoja odpowiedź ma ode mnie głos w górę. Jest to z pewnością pytanie, w którym połączenie odpowiedzi, krótkich lub długich, stanowi wartość dodaną.Podstawowym miejscem, w którym należy szukać niezapisanych zmian w TextEdit, jest
~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/
Zależy to od stanu dokumentu i jest skomplikowane (ponieważ niezapisane zmiany mogą również istnieć, gdy plik zostanie zapisany i nazwany po raz pierwszy).
Niezapisane dokumenty
Pierwszy typ - pliki startowe „za kulisami” - zaczynają się jako pliki tymczasowe w
/private/var/folders/
… i ostatecznie są przechowywane~/Library/Containers/
. Są one nazwane bez tytułu i bez tytułu 2 i tak dalej . Każda aplikacja otrzymuje własny katalog, a dla TextEdit - będziesz szukać pliku takiego jak~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/Unsaved TextEdit Document.rtf
Te bez tytułu dokumenty nie mają ikony proxy na pasku tytułu - wystarczy nazwa wybrana przez TextEdit:
Z tymi niezapisanymi plikami nie otrzymujesz żadnych wersji, blokowania ani powiadomień o zmianach innych niż normalny bufor cofania / ponawiania.
⌘+S
Pierwszy zapis włącza przechowywanie wersji i wszystko, co się z tym wiąże. Dzieje się tak, gdy plik otrzymuje bardziej znaną lokalizację w systemie plików, co jest szansą na nazwę inną niż X bez tytułu . Ikona proxy jest wskazówką, że nie jest to już dokument AutoSave.
Plik nie jest już przechowywany wyłącznie w
~/Library/Containers/
- pierwsza edycja jest zapisywana wszędzie tam, gdzie użytkownik wybierze w oknie dialogowym otwierania / zapisywania pliku.Edycja (e) do zapisanego dokumentu
Wszelkie modyfikacje zapisanego dokumentu spowodują pojawienie się edytowanego słowa na pasku tytułu:
Powyższy plik zawiera:
W tym momencie masz pełen zakres narzędzi do przywracania zmian w tym pliku:
~/Library/Containers/
/.DocumentRevisions-V100
Zapisanie wersji spowoduje, że edytowane słowo zniknie z paska tytułu. W tym miejscu wyświetli się menu wersji, jeśli najedziesz myszą na nazwę pliku i cała infrastruktura wersji przejmie kontrolę. Zostawię mechanikę tego na inną odpowiedź - to wystarczająco długo.
Wiele innych plików jest aktualizowanych, gdy TextEdit tworzy i modyfikuje pliki:
Podejścia systemowe do automatycznego zapisywania i wersje powinny zapewnić, że:
źródło
/Library/Contents
aby przeczytać/Library/Containers
… bmike, wprowadziłem kilka innych zmian, miejmy nadzieję, że nie łamię istoty twojego oryginału. Mamy różne style pisania, więc wycofywanie itp. Nie spowoduje obrażeń. Szczególnie interesujące (bez podania przykładów): czasami, gdy Edycja pojawia się na pasku tytułowym,~/Library/Containers
będzie zawierać co najmniej jedną wersję wyraźnie zapisaną przez użytkownika, ale nie edycję automatycznie zapisaną przez System. Film jako część odpowiedzi (na inne, pokrywające się pytanie) powinien pomóc w wyjaśnieniu, ale bez pośpiechu.~/Library
tymczasowo jest nieszkodliwe (jest to klawisz Alt / Option w menu Idź Findera). Ciągłe pokazywanie tego jest, sugeruję ostrożnie, cienkim końcem klina. Przy innych grubościach tego klina istnieją pojęcia, takie jak zapobieganie zapisom w niektórych obszarach ( przykład ), z których niektóre z pewnością mogą powodować problemy, gdy są najmniej oczekiwane, dlatego zachęcam ludzi do szanowania zachowania systemu na najcieńszym końcu klina… cokolwiek poza tym jest ogólnie na ryzyko użytkowników. Mam nadzieję, że to pomaga.Według recenzji Johna Siracusa na temat Lion jest on zapisany w /.DocumentRevisions-V100
źródło
/.DocumentRevisions-V100/db-V1/db.sqlite
) zawierającej tabele do śledzenia plików, poszczególne wersje tych plików (które Apple nazywa„ generacjami ”) oraz miejsce przechowywania danych.”Zgodnie z dokumentacją programistyczną Apple wszystkie nowe dokumenty, które nie zostały jeszcze jawnie zapisane, są automatycznie zapisywane w
~/Library/Autosave Information
:Część z napisem „Ponadto
NSDocument
zapisuje wcześniejsze wersje dokumentów w innym miejscu” odnosi się do ukrytego.DocumentRevisions-V100
folderu, który zakładam.Jeśli więc masz nowy dokument wystarczająco długo otwarty, aby mógł zostać zapisany automatycznie więcej niż jeden raz, wszystko to powinno oznaczać, że najnowsza wersja jest przechowywana w pliku,
~/Library/Autosave Information
podczas gdy wcześniejsze wersje były przechowywane w.DocumentRevisions-V100
folderze (w katalogu głównym dysk, na którym znajduje się folder domowy).Uwaga dodatkowa: nie zastanawiam się, czy pliki
~/Library/Autosave Information
zostaną automatycznie usunięte w pewnym momencie, aby uniknąć gromadzenia tego typu szybkich dokumentów TextEdit, których nie zamierzałeś zapisać. Biblioteka nie jest folderem, do którego niedoświadczeni użytkownicy powinni się włamać; i o ile rozumiem, Lion teraz nawet domyślnie to ukrywa. Zakładam, że jego zawartość również nie pojawia się w Spotlight. Jeśli pliki nie zostaną automatycznie usunięte, folder Desktop lub Documents wydaje się być lepszym miejscem do automatycznego zapisywania.źródło
~/Library/Autosave Information
znajdę nic dotyczącą TextEdit, ale w tej aplikacji mam liczne Untitled ... oknami, które CV. Może warto poszukać odpowiedzi w / dookoła w części Czy mogę zmienić częstotliwość zapisywania plików przez funkcję „Wersje” Lion'a? .~/Library/Autosave Information
. W przypadku zwykłych aplikacji jest to folder domowy użytkownika. Ale w przypadku aplikacji w trybie piaskownicy (np. TextEdit) jest to w rzeczywistości~/Library/Containers/com.company.AppIdentifier/Data
efekt końcowy w przypadku TextEdit:~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information
Wygląda na to, że lokalizacja niezatytułowanych, niezapisanych plików różni się w zależności od aplikacji. Użyj reflektora, aby znaleźć niezapisany plik tymczasowy, niezależnie od tego, której aplikacji z funkcją automatycznego zapisu użyłeś do jego utworzenia.
źródło
~/Library/Containers
nie odkryłeś?Znalazłem moje pliki, wykonując kopię zapasową TM i udało mi się odzyskać niektóre z niezapisanych zmian (ale nie tych, których szukałem). Znalazłem pliki w folderze ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / folder .. Tak więc dzięki i kopia zapasowa TM może być pomocna dla niektórych ..
źródło