Dlaczego tworzone są pliki podkreślenia kropkowego ._ i jak mogę ich uniknąć?

156

Używam różnych systemów operacyjnych na różnych komputerach w różnych lokalizacjach. Korzystam z dysku flash USB, aby zachować moje pliki (kody źródłowe itp.).

Jestem nowy w Mac OS X i teraz zdaję sobie sprawę, że istnieje wiele plików utworzonych z ._przedrostkiem podkreślenia kropką .

pytania

Dlaczego ._tworzone są pliki?

Jakie są ich cele?

Jak mogę ich uniknąć?

nimcap
źródło
2
Też ich nie lubię, ale nauczyłem się z nimi pokojowo mieszkać.
boehj
1
Jeśli dysk flash jest sformatowany w formacie HFS +, powinno to powstrzymywać tworzenie ._plików, ale nie wiem, jakie opcje istnieją w nieokreślonych innych systemach operacyjnych do odczytu woluminów HFS +.
Daniel
Nie idealne, ale ls --ignore="._*"jako alias lub skrót klawiszowy ma długą drogę.
Sridhar Sarnobat

Odpowiedzi:

107

Nie możesz ich uniknąć (ale zobacz odpowiedź dot_clean Saeida Zebardasta - można je usunąć z katalogu, jeśli tego potrzebujesz). Są one tworzone w celu przechowywania informacji o plikach, które w przeciwnym razie byłyby rozszerzone w woluminach HFS + (natywny Apple) lub Unix / UFS; we wcześniejszym systemie Mac OS byłby to rozwidlenie zasobów. Operacje na plikach Findera utworzą je automatycznie do przechowywania informacji o ikonach, a ponadto Time Machine przechowuje w nich pewne informacje, więc jeśli skopiujesz plik z kopii zapasowej za pośrednictwem TM, również te informacje zostaną skopiowane.

(To nic nowego; Zauważyłam, że XP, a później zostawić różne turds wokół także, choć nie całkiem jak wiele).

geekozaur
źródło
48
Zgadzam się, „turd” to dokładny opis :)
Drahcir
2
Zauważyłem, że mój Mac pozostawia tandety na moim serwerze samby z Linuksem, kiedy używam kolorowych etykiet (używając Path Finder 7). Dla każdego kolorowego elementu istnieje plik ._ <koloryzowany>.
Jonathan Komar
5
Mamy taką samą sytuację na naszym serwerze plików linux samba w pracy. Ponieważ nie potrzebujemy metadanych kolorów dla plików, skorzystaliśmy z naszych opcji veto files = /._*/i, aby zapobiec tworzeniu takich plików. Zamiast tego zostawiamy pliki takimi, jakie są, ponieważ są one przydatne do ustawiania sortowania plików, a dla każdego katalogu jest tylko jeden z nich. delete veto filessmb.conf.DS_STORE
gerlos
5
Przynajmniej w systemie Windows możesz to wyłączyć!
totymedli
7
Zaakceptowano użycie „turds” do opisania tego.
George P,
60

Możesz użyć polecenia dot_clean, aby usunąć lub scalić pliki ._:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Jeśli przeniesiesz pliki do systemu Linux lub masz je Git Bashna komputerze i masz dostęp do findpolecenia, możesz to również zrobić:

find . -type f -name '._*' -delete

I ich nie ma!

Saeid Zebardast
źródło
3
Inne odpowiedzi tak naprawdę nie odpowiadają „Jak mogę ich uniknąć?” część. To robi. Dzięki!
Ninja Fist
10
Od man dot_clean: For each dir, dot_clean recursively merges all ._* files with their corresponding native files according to the rules specified with the given arguments. By default, if there is an attribute on the native file that is also present in the ._ file, the most recent attribute will be used.To polecenie nie tylko usuwa niektóre pliki kropek, ale może nadpisywać poprzednie / rodzime atrybuty dla każdego folderu. Używaj ostrożnie.
William Isted
26

Cele plików .DS_Store i ._

http://diigo.com/0qiwp, aby zobaczyć adnotację na http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html, gdzie Matt Deatherage ( były inżynier Apple ) oferuje wyjaśnienia. Zapamiętaj także »O pochodzeniu .DS_Store  (2006-10-01).

Ponieważ widziałem utratę danych użytkownika (treści dokumentu), w przypadku ._których uniemożliwiono lub zagubiono odpowiedniki, zgadzam się, że:

  • niedopuszczalne jest, aby rzeczy „zniknęły w eterze”.

Cele plików ._

Oprócz celów określonych w zaakceptowanej przez geekozaura odpowiedzi , oto kilka przykładów tego, jak Apple i aplikacje innych firm używają lub wymagają ._ w niektórych sytuacjach…


Dokonaj zgłoszenia firmy podczas kopiowania przez Findera

Zobacz moją odpowiedź na pytanie dotyczące przepełnienia stosu.


Wykorzystanie przestarzałych kodów przez NeoOffice

Kod typu HFS NO%Fbez kodu twórcy to:

  • stosowane rozważnie, tylko w stosownych przypadkach.

Przykład NeoOffice 1

NeoOffice 3.2.1 Patch 5 zapisz do JHFS +:

[macbookpro08-centrim:~] gjp22% xattr -l /Users/gjp22/Desktop/product\ of\ NeoOffice\ 3.2.1\ Patch\ 5.docx 
com.apple.FinderInfo:
00000000  4E 4F 25 46 00 00 00 00 00 00 00 00 00 00 00 00  |NO%F............|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000020

Przykład NeoOffice 2

NeoOffice 3.2.1 Patch 5 zapisz na dysk flash USB z MS-DOS FAT32, czyszczenie przez BlueHarvest:

2012-05-12 06:42:08.349 BlueHarvest[31146]: Deleted ._product of NeoOffice 3.2.1 Patch 5.docx in /Volumes/FAT32/example.

Przykład NeoOffice 3

Zapis NeoOffice 3.2.1 Patch 5 na woluminie zamontowanym przez OS X z typem systemu plików webdav, nie SharePoint, czyszczenie przez BlueHarvest:

[macbookpro08-centrim:~] gjp22% mount | grep dav
https://www.box.net/dav/ on /Volumes/dav (webdav, nodev, noexec, nosuid, mounted by gjp22)
[macbookpro08-centrim:~] gjp22% xattr -l /Volumes/dav/product\ of\ NeoOffice\ 3.2.1\ Patch\ 5.docx 
[macbookpro08-centrim:~] gjp22% 
  • zapis przez NeoOffice w webdavsystemie plików nie obejmował atrybutu rozszerzonego
  • BlueHarvest nie był wymagany.

Wskazówka : jeśli Microsoft Office nie webdavmoże zapisać w Microsoft SharePoint (patrz poniżej), NeoOffice się udaje.


Microsoft używa przestarzałych kodów

Najnowsza wersja pakietu Office wymaga to kod typu HFS i HFS kod twórca gdy format, takich jak Microsoft Word ( .docx) jest wybrany. Wydaje się, że podczas zapisywania w systemie plików, który nie obsługuje tych wartości w com.apple.FinderInforozszerzonym atrybucie:

  • Microsoft Office nie może niezawodnie zapisywać bez tworzenia wielu ._plików.

Przykład Microsoft 1

Word 2011 14.2.1 zapisz na woluminie zamontowanym przez OS X z typem systemu plików webdav, a nie SharePoint, czyszczenie przez BlueHarvest:

May 11 18:32:49 macbookpro08 BlueHarvest[14649]: BlueHarvest started.
May 11 18:38:37 macbookpro08 BlueHarvest[14649]: Deleted ._Word Work File D_1.tmp in /Volumes/dav.
May 11 18:39:57 macbookpro08 BlueHarvest[14649]: Deleted ._Hello world, this is Microsoft.docx in /Volumes/dav.
May 11 18:42:28 macbookpro08 BlueHarvest[14649]: Deleted ._Hello world, this is Microsoft.docx in /Volumes/dav.

Przykład Microsoft 2

Zapisywanie programu Word 2011 14.2.2 (120421) example.docxw tym samym środowisku:

2012-05-12 08:01:07.692 BlueHarvest[41131]: Deleted ._Word Work File D_769960778.tmp in /Volumes/dav.

Przykład Microsoft 3

Zapisywanie programu Word 2011 14.2.2 (120421) another.docxw tym samym środowisku, zamykanie, a następnie ponowne otwieranie, edycja, następnie zapisywanie, edycja, zamykanie i zapisywanie:

2012-05-12 08:15:04.252 BlueHarvest[41131]: Deleted ._Word Work File D_.tmp in /Volumes/dav.
2012-05-12 08:18:48.735 BlueHarvest[41131]: Deleted ._another.docx in /Volumes/dav.
2012-05-12 08:21:12.658 BlueHarvest[41131]: Deleted ._Word Work File D_2.tmp in /Volumes/dav.

Wskazówka : Microsoft Office 2011 nie zapisuje się w Microsoft SharePoint, gdy typem systemu plików jest to, webdavże SharePoint nie obsługuje nazw plików rozpoczynających się od kropki .( kropki ). Zobacz Pytaj Różne odpowiedzi na Czy można zamontować SharePoint jako wolumin w wersji 10.6?


Kody typu i twórcy: tło, programista Apple

Firma Apple zaczęła zachęcać zewnętrznych programistów do rezygnacji z kodów typów i kodów twórców ponad dziesięć lat temu. W załączniku B do Przewodnika po programowaniu systemu plików typy plików i kody twórców informują, że są to następujące kody:

ogólnie przestarzałe, możesz zobaczyć je w starszych plikach i aplikacjach oraz w niektórych miejscach w systemie.

Graham Perrin
źródło
Zalecana lektura: Rozszerzone atrybuty: dobre, nie tak dobre, złe. (2015-07-14)
Graham Perrin
10

Pliki te są tworzone przez system operacyjny w celu przyspieszenia wyszukiwania, przechowywania metadanych (danych używanych przez system operacyjny) na temat preferencji folderów itp. Zarówno Windows, jak i OS X mają takie pliki. Poniżej znajduje się opis tych plików pobranych z http://annoying-file-be-gone.snack.ws/faq.html :

.DS_Store- Nazwa pliku w systemie operacyjnym Apple OS X do przechowywania niestandardowych atrybutów folderu, takich jak położenie ikon lub wybór obrazu tła (Czytaj więcej )

.Spotlight-V100- Ten plik zawiera informacje, aby przyspieszyć funkcję wyszukiwania Spotlight. Usunięcie wymusiłoby po prostu ponowne indeksowanie tych informacji, jeśli wykonałeś kolejne wyszukiwanie Spotlight dla elementu w tym folderze.

.apDisk - Ten plik zawiera informacje o folderach udostępnionych i można go bezpiecznie usunąć, ponieważ zostanie on automatycznie utworzony ponownie, jeśli Apple go potrzebuje.

.VolumeIcon.icns- Ten plik służy do przechowywania ikony woluminu (urządzenia USB), jeśli wolumin używa niestandardowej ikony, a nie domyślnej ikony. Jeśli chcesz, aby urządzenie nadal używało tej domyślnej ikony lub jeśli folder / urządzenie, które chcesz wyczyścić, zawiera aplikację, możesz zatrzymać ten plik w systemie. Na marginesie, jeśli chcesz utworzyć niestandardową ikonę dla swojego urządzenia, możesz utworzyć / pobrać .icnsplik, zmienić jego nazwę .VolumeIcon.icnsi umieścić w folderze / urządzeniu.

.fseventsd- Ten plik jest używany jako bufor dla demona Zdarzenia systemu plików. Jeśli korzystasz z programu monitorującego ten folder / urządzenie, ten plik może służyć do przechowywania danych tymczasowych.

.Trash& .Trashes- Te foldery służą do przechowywania usuniętych elementów w taki sam sposób, jak działa ikona „Kosz” ze stacji dokującej. Jeśli nie potrzebujesz tej funkcji na swoim folderze / urządzeniu, możesz wyczyścić ten folder, aby zaoszczędzić miejsce.

.TemporaryItems- Ten plik jest używany przez system operacyjny do przechowywania danych tymczasowych podczas kopiowania / przenoszenia / dołączania plików. Jeśli korzystasz z programów uzyskujących dostęp do folderu / urządzenia, które chcesz wyczyścić, a nie kopiujesz ani nie przenosisz żadnych plików, plik ten może po prostu przechowywać stare dane do buforowania.

użytkownik149666
źródło
7

Aby zminimalizować obecność plików podkreślenia kropkowego na dyskach nie sformatowanych w systemie HFS +, możesz użyć panelu preferencji BlueHarvest .

calum_b
źródło
3
BlueHarvest to doskonały produkt, ale niektóre recenzje innych firm wprowadzają w błąd. Wyniki testów pokazują, że nie zapobiega się tworzeniu ; tworzenie jest dozwolone i zgodnie z preferencjami użytkownika BlueHarvest może wyczyścić niektóre z utworzonych treści.
Graham Perrin
5

problem jest, jak mówi @geekosaur, i tak trudno go uniknąć, jeśli używasz narzędzi do plików Apple.

Jednak jeśli użyjesz tylko narzędzi wiersza polecenia i niektórych innych firm i nigdy nie będziesz pisać na USB za pomocą Findera, nie zostaną one utworzone.

użytkownik151019
źródło
Zachowanie nie ogranicza się do oprogramowania Apple. Przykład: Microsoft Office 2011 wymaga ._plików podczas zapisywania w systemach plików, które nie obsługują kodów typu HFS i kodów twórców.
Graham Perrin
5
@GrahamPerrin - miałem na myśli narzędzia do plików Apple do kopiowania itp. - tak, każda aplikacja korzystająca z widelców plików (tj. Biblioteki Apple) będzie je miała. Jeśli korzystasz z narzędzi, które korzystają tylko z bibliotek plików BSD, nie ma plików _.
user151019
3

Służy find . -name "._*" -type fdo zapisywania plików ze ścieżki lokalnej i służy find . -name "._*" -type f -deletedo usuwania wszystkich plików.

użytkownik3636223
źródło
Witamy w Zapytaj inaczej! Chociaż twoja odpowiedź pokazuje, jak usunąć pliki, nie zawiera odpowiedzi na pytanie: dlaczego, czego i jak unikać w OP.
bjbk
@bjbk Ta odpowiedź mówi, jak usunąć pliki, podobnie jak wysoko oceniona odpowiedź Saeida Zebardasta. Zgadzam się, że tak naprawdę nikt nie zastanawia się, jak ich uniknąć , ani dlaczego się pojawiają.
LarsH
1

To naprawdę jest proste, NTFS (obecny Windows) FAT32 (stary Windows) ma bardzo specyficzną strukturę danych dla takich rzeczy jak uprawnienia, jaki program jest przypisany do otwarcia tego pliku, data utworzenia, data modyfikacji, tagi, komentarze do pliku, ikona i inne metadane. Zauważysz również, że te same właściwości nie będą wyświetlane w innym systemie operacyjnym. (Data utworzenia IE może oznaczać, że był to 1/1/1990, a inne metadane nie są dostępne z innego systemu operacyjnego. Ilekroć używasz zarówno komputera zapisującego z HFS do NTFS lub FAT32, jak i komputera zapisującego je w natywnym FAT32 lub NTFS. lub ._ pliki wraz z plikami sklepu DS pojawią się. To pokazuje, że system operacyjny radzi sobie z czynnikiem niezgodności różnych elementów powyżej, które nie są spójne. Więc prawdopodobnie chcesz zachować te pliki, jeśli przełączasz się między nimi system operacyjny ” s, aby użyć tych plików. Jeśli korzystasz tylko z jednego systemu operacyjnego lub drugiego, upewnij się, że nośnik (dysk twardy, karta SD itp.) Jest odpowiednio sformatowany lub masz sterownik, który pozwala Twojemu systemowi na zapisywanie w formacie napędu innym niż system operacyjny. (Są one dostępne zarówno dla OSX, aby umożliwić mu zapisywanie plików NTFS i FAT32 przy użyciu właściwości natywnych, a dla Windows 7 i 8 zapisywanie na dyskach HFS + i EXFat (linux) przy użyciu właściwości rodzimych.) Nie są one bezpłatne, ale jeśli robić dużo tam iz powrotem, to odcina nadmiar zduplikowanych danych zaśmiecających dysk.

użytkownik44674
źródło
-1

Możesz je usunąć za pomocą FileZilla lub podobnego menedżera plików.

Mazzieh71
źródło
Nie jestem pewien, dlaczego zostało to odrzucone, ponieważ większość pozytywnych odpowiedzi nawet nie daje rozwiązania. Jest to moim zdaniem najłatwiejsze rozwiązanie ... Ponieważ pliki ._ i .DS_Store są plikami powiązanymi z Finderem, oczywistym rozwiązaniem jest uniknięcie wyszukiwarki. Osobiście wolę używać Transmit, ale Filezilla to świetna darmowa alternatywa.
Bryan Willis,
3
Nie głosowałem negatywnie, ale jest to niepożądana sugestia i pomija intencję pytania, które dotyczy raczej zapobiegania niż leczenia. Kto chce spędzić połowę czasu na usuwaniu plików, które są ciągle generowane? P: „Co mam zrobić z problemem śmieci w naszym mieście?” Odp .: „Podnieś go i włóż do kosza.
Sridhar Sarnobat
-1

Używam następującej metody dla łatwości. * Eliminacja pliku prefiksu na dyskach flash: wyjmij dysk flash z komputera Apple, włóż do komputera z systemem Windows, wyszukaj na dysku flash ciąg „. *. *”, a następnie, gdy wyszukiwanie wyświetli pliki z prefiksem ._, usuń je. Nigdy nie usuwam plików .Trashes ani .DS Store. Jak dotąd żadnych problemów. Mam nadzieję, że nie stwarzam dla siebie problemu w przyszłości.

Jim VdPas
źródło
1
Usunięcie ręczne? Własność komputera z systemem Windows, gdy jesteś użytkownikiem komputera Mac? Wiem, że dokumentujesz tylko to, co działa dla ciebie, ale nie wyobrażam sobie, aby ktokolwiek mógł zastosować twoją metodę.
Sridhar Sarnobat
-1

Tak, niektórzy z nas używają zarówno komputerów Mac, jak i Windows, a ja korzystałem z tej metody. A jeśli masz USB z wieloma plikami .jpg, które chcesz odtwarzać jako pokaz slajdów, musisz pozbyć się tych nieznośnych plików ._, aby to zrobić. Po wielu poszukiwaniach znalazłem sposób, aby użyć mojego komputera Mac do usunięcia plików ._:

za pomocą terminalu:

  • ls -a wyświetli listę wszystkich plików, w tym jednego rozpoczynającego się od ._
  • aby usunąć tylko jeden plik z katalogu: rm -rf ._whateveryourfilenameis.jpg
  • aby usunąć wszystkie ._pliki:rm -rf ._*
  • aby usunąć niechciane katalogi, w tym .Trashes :rm -r .Trashes*

Wyczyściłem moje urządzenie USB do użytku jako wejście telewizyjne

T. Parlament
źródło
-2

Zachowaj ostrożność przy usuwaniu plików ._ związanych z Git, Visual Studio i Xcode! Mam aplikację z dużą ilością plików .mov i obrazów, a te pliki „._” pokazały się do zatwierdzenia. Usunąłem je za pomocą zmian Visual Studio Team Explorer i jakoś ten folder projektu powiększył się z około 500 MB do 40 GB bez dodawania plików ... nadal nie jestem pewien, co się dokładnie stało, ale domyślam się, że było to związane z usunięciem tych plików, więc każde zatwierdzenie buforowane każdy .mov i obraz wiele razy, zanim złapałem. Widziałem każde .mov i .png powtarzane 20-30 razy, gdy w Finderze> Wszystkie pliki.

Po prostu dodaj „._ *” do pliku .gitignore, a nie będą się one wyświetlać jako zmieniony plik podczas korzystania z TFS dla twojego projektu iOS Xcode.

dlaczego?
źródło