Warum werden ._-Dateien mit Punkt-Unterstrich erstellt und wie kann ich diese vermeiden?

156

Ich verwende verschiedene Betriebssysteme auf verschiedenen Computern an verschiedenen Standorten. Ich verwende ein USB-Flash-Laufwerk, um meine Dateien (Quellcodes usw.) zu speichern.

Ich bin neu in Mac OS X und stelle jetzt fest, dass viele Dateien mit einem Punkt-Unterstrich- ._Präfix erstellt wurden.

Fragen

Warum werden ._Dateien erstellt?

Welchen Zweck verfolgen sie?

Wie kann ich sie vermeiden?

Nimcap
quelle
3
Ich mag sie auch nicht, aber ich habe gelernt, friedlich mit ihnen zusammen zu leben.
Boehj
1
Wenn das Flash-Laufwerk im HFS + -Format formatiert ist, sollte dies die Erstellung von ._Dateien unterdrücken , aber ich weiß nicht, welche Optionen auf Ihren nicht angegebenen anderen Betriebssystemen zum Lesen von HFS + -Volumes vorhanden sind.
Daniel
Nicht ideal, aber ls --ignore="._*"als Alias ​​oder Tastenkombination geht ein langer Weg.
Sridhar Sarnobat

Antworten:

107

Sie können sie nicht umgehen (aber siehe die dot_clean-Antwort von Saeid Zebardast - sie können aus einem Verzeichnis entfernt werden, wenn Sie dies benötigen). Sie werden erstellt, um Dateiinformationen zu speichern, die andernfalls in ein erweitertes Attribut auf HFS + (Apple native) - oder Unix / UFS-Volumes eingehen würden. In früheren Mac OS-Versionen wäre dies die Ressourcengabel. Finder-Dateioperationen erstellen sie automatisch, um die Symbolinformationen zu speichern, und Time Machine speichert einige Informationen in ihnen. Wenn Sie also eine über TM gesicherte Datei kopieren, werden diese Informationen ebenfalls kopiert.

(Dies ist nichts Neues. Ich habe bemerkt, dass XP und später auch verschiedene Scheiße herumliegen, wenn auch nicht ganz so viele.)

Geekosaurier
quelle
49
Ich stimme zu, "turd" ist eine genaue Beschreibung :)
Drahcir
2
Ich habe festgestellt, dass mein Mac auf meinem Linux-Samba-Server Fehler hinterlässt, wenn ich Farbetiketten verwende (mit Path Finder 7). Für jedes farbige Objekt gibt es eine ._ <coloreditem> -Datei.
Jonathan Komar
5
Wir haben die gleiche Situation in unserem Linux-Samba-Dateiserver bei der Arbeit. Da wir keine Farbmetadaten für Dateien benötigen, haben wir die Optionen veto files = /._*/und delete veto filesin unseren verwendet smb.conf, um die Erstellung solcher Dateien zu verhindern. Stattdessen belassen wir die .DS_STOREDateien so, wie sie sind, da sie nützlich sind, um die Dateisortierung festzulegen, und es gibt nur eine für jedes Verzeichnis.
Gerlos
5
Zumindest unter Windows können Sie dies ausschalten!
Totymedli
7
Upvoted für die Verwendung von "turds", um dies zu beschreiben.
George P
60

Mit dem Befehl dot_clean können Sie die ._-Dateien entfernen oder zusammenführen:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Wenn Sie Dateien auf Linux verschieben oder Git Bashauf Ihrem PC haben und Zugriff auf den findBefehl haben, können Sie dies möglicherweise auch tun:

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

Und sie sind weg!

Saeid Zebardast
quelle
3
Die anderen Antworten beantworten nicht wirklich die Frage "Wie kann ich sie vermeiden?" Teil. Das macht. Vielen Dank!
Ninja Faust
11
Von 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.Dieser Befehl entfernt nicht nur bestimmte Punktedateien, sondern überschreibt möglicherweise vorherige / native Attribute für jeden Ordner. Mit Vorsicht verwenden.
William Isted
Nicht sicher, ob es hier erwähnt wurde oder nicht, aber bitte seien Sie vorsichtig, wenn Sie große Mengen von ._Dateien entfernen . Sie könnten Datei / Ordner - Symbole, Kommentare, Etiketten usw. Achten Sie darauf , entfernen , dass , wo immer du bist , sie zu entfernen dies kein Problem ist
leetbacoon
26

Zweck von .DS_Store- und ._-Dateien

http://diigo.com/0qiwp für eine kommentierte Ansicht von http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html, in der Matt Deatherage ( ein ehemaliger Ingenieur bei Apple ) Erklärungen anbietet. Auch nicht benachrichtigen »Über die Ursprünge von .DS_Store  (01.10.2006).

Da ich den Verlust von Benutzerdaten (Dokumenteninhalt) festgestellt habe, bei denen ._Gegenstücke verhindert werden oder verloren gehen, bin ich damit einverstanden, dass es sich um Folgendes handelt:

  • Es ist nicht akzeptabel, Dinge "im Äther verschwinden zu lassen".

Zwecke von ._-Dateien

Zusätzlich zu den in der akzeptierten Antwort von Geekosaurier beschriebenen Zwecken finden Sie hier einige Beispiele dafür, wie Apple- und Drittanbieter-Apps in bestimmten Situationen verwendet oder benötigt ._ werden.


Aktengeschäft während einer Kopie durch Sucher

Siehe meine Antwort auf eine Frage zum Stapelüberlauf.


NeoOffice verwendet veraltete Codes

Der HFS-Typcode NO%Fohne Erstellercode lautet:

  • rücksichtsvoll verwendet, nur wo angebracht.

NeoOffice Beispiel 1

NeoOffice 3.2.1 Patch 5 auf JHFS + speichern:

[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

NeoOffice Beispiel 2

NeoOffice 3.2.1 Patch 5 auf einem USB-Stick mit MS-DOS FAT32 speichern, Reinigung durch BlueHarvest:

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

NeoOffice Beispiel 3

NeoOffice 3.2.1 Patch 5 auf einem von OS X gemounteten Volume mit Dateisystemtyp webdavund nicht SharePoint speichern und mit BlueHarvest bereinigen:

[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% 
  • Das Speichern von NeoOffice im webdavDateisystem enthielt kein erweitertes Attribut
  • BlueHarvest war nicht erforderlich.

Tipp : Wenn Microsoft Office beim webdavSpeichern in Microsoft SharePoint (siehe unten) fehlschlägt , ist NeoOffice erfolgreich.


Microsoft verwendet veraltete Codes

Die neueste Version von Office erfordert einen HFS-Typcode und einen HFS-Erstellungscode, wenn ein Format wie Microsoft Word ( .docx) ausgewählt wird. Es sieht also so aus, als ob beim Speichern in einem Dateisystem, das diese Werte in einem com.apple.FinderInfoerweiterten Attribut nicht unterstützt, Folgendes zutrifft:

  • Microsoft Office kann nicht zuverlässig speichern, ohne mehrere ._Dateien zu erstellen.

Microsoft-Beispiel 1

Word 2011 14.2.1 auf einem von OS X bereitgestellten Volume mit Dateisystemtyp webdavund nicht SharePoint speichern und mit BlueHarvest bereinigen:

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.

Microsoft-Beispiel 2

Speichern von Word 2011 14.2.2 (120421) example.docxin derselben Umgebung:

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

Microsoft-Beispiel 3

Word 2011 14.2.2 (120421) Speichern another.docxin derselben Umgebung, Beenden und erneutes Öffnen, Bearbeiten und Speichern, Bearbeiten und Schließen und Speichern:

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.

Tipp : Microsoft Office 2011 kann nicht in Microsoft SharePoint gespeichert werden, wenn der Dateisystemtyp lautet, webdavweil SharePoint keine Dateinamen unterstützt, die mit einem Punkt .(Punkt) beginnen. Weitere Informationen finden Sie unter Andere Antworten anfordern auf Ist es möglich, SharePoint in 10.6 als Volume bereitzustellen?


Typ- und Erstellercodes: Hintergrund, Apple Developer

Apple hat vor mehr als einem Jahrzehnt damit begonnen, Drittanbieter dazu zu ermutigen, keine Typen- und Erstellercodes mehr zu verwenden. In Anhang B des Handbuchs zur Dateisystemprogrammierung wird unter Dateitypen und Erstellercodes Folgendes angegeben :

Im Allgemeinen veraltet, werden sie möglicherweise in älteren Dateien und Apps sowie an einigen Stellen im System angezeigt.

Graham Perrin
quelle
Literaturempfehlung: Erweiterte Attribute: die guten, die nicht so guten, die schlechten. (14.07.2015)
Graham Perrin,
10

Diese Dateien werden vom Betriebssystem erstellt, um die Suche zu beschleunigen, Metadaten (vom Betriebssystem verwendete Daten) zu Ordnereinstellungen usw. zu speichern. Sowohl Windows als auch OS X verfügen über diese Art von Dateien. Im Folgenden finden Sie eine Beschreibung dieser Dateien, die von http://annoying-file-be-gone.snack.ws/faq.html abgerufen wurden :

.DS_Store- Der Name einer Datei im Apple OS X-Betriebssystem zum Speichern benutzerdefinierter Attribute eines Ordners, z. B. die Position von Symbolen oder die Auswahl eines Hintergrundbilds. ( Weitere Informationen )

.Spotlight-V100- Diese Datei enthält Informationen zur Beschleunigung der Spotlight-Suche. Durch das Löschen werden diese Informationen einfach neu indiziert, wenn Sie eine weitere Spotlight-Suche nach einem Element in diesem Ordner durchgeführt haben.

.apDisk - Diese Datei enthält Informationen zu freigegebenen Ordnern und kann sicher entfernt werden, da sie bei Bedarf von Apple automatisch neu erstellt wird.

.VolumeIcon.icns- In dieser Datei wird das Symbol des Volumes (USB-Gerät) gespeichert, wenn das Volume ein benutzerdefiniertes Symbol und nicht das Standardsymbol verwendet. Wenn Sie möchten, dass das Gerät dieses Standardsymbol weiterhin verwendet, oder wenn der Ordner / das Gerät, den / das Sie bereinigen möchten, eine Anwendung enthält, möchten Sie diese Datei möglicherweise in Ihrem System behalten. Wenn Sie ein benutzerdefiniertes Symbol für Ihr Gerät erstellen möchten, können Sie eine .icnsDatei erstellen / herunterladen, umbenennen .VolumeIcon.icnsund in Ihrem Ordner / Gerät ablegen.

.fseventsd- Diese Datei wird als Puffer für den Dateisystemereignis-Dämon verwendet. Wenn Sie ein Programm verwenden, das diesen Ordner / dieses Gerät überwacht, wird diese Datei möglicherweise zum Speichern temporärer Daten verwendet.

.Trash& .Trashes- In diesen Ordnern werden gelöschte Objekte gespeichert, genauso wie das Symbol "Papierkorb" im Dock funktioniert. Wenn Sie diese Funktion für Ihren Ordner / Ihr Gerät nicht benötigen, können Sie diesen Ordner bereinigen, um Speicherplatz zu sparen.

.TemporaryItems- Diese Datei wird vom Betriebssystem verwendet, um temporäre Daten zu speichern, wenn Dateien kopiert, verschoben oder angehängt werden. Wenn Sie Programme ausführen, die auf den Ordner / das Gerät zugreifen, den / das Sie bereinigen möchten, und Sie keine Dateien kopieren oder verschieben, kann diese Datei einfach alte Daten zum Zwischenspeichern enthalten.

user149666
quelle
7

Verwenden Sie den BlueHarvest-Einstellungsbereich , um das Vorhandensein von Punkt-Unterstrich-Dateien auf nicht mit HFS + formatierten Laufwerken zu minimieren .

calum_b
quelle
3
BlueHarvest ist ein ausgezeichnetes Produkt, aber einige der Bewertungen von Drittanbietern sind irreführend. Testergebnisse zeigen, dass die Erstellung nicht verhindert wird; Diese Erstellung ist zulässig, und BlueHarvest kann je nach Benutzereinstellung einen Teil der erstellten Daten bereinigen.
Graham Perrin
5

Das Problem ist, wie @geekosaur sagt und so schwer zu vermeiden, wenn Sie Apple-Datei-Tools verwenden.

Wenn Sie jedoch nur Befehlszeilentools und einige Tools von Drittanbietern verwenden und niemals mit Finder auf den USB-Stick schreiben, werden diese nicht erstellt.

user151019
quelle
Das Verhalten ist nicht auf Apple-Software beschränkt. Beispiel: Microsoft Office 2011 erfordert ._Dateien beim Speichern in Dateisystemen, die HFS-Typcodes und Erstellercodes nicht unterstützen.
Graham Perrin
5
@GrahamPerrin - Ich meinte Apples Dateitools zum Kopieren usw. - Ja, jede App, die Dateigabeln verwendet (dh Apples Bibliotheken), wird sie haben. Wenn Sie Werkzeuge verwenden, die nur BSD-Dateibibliotheken verwenden, dann keine _-Dateien.
user151019
3

Dient find . -name "._*" -type fzum Ablegen der Dateien vom lokalen Pfad und find . -name "._*" -type f -deletezum Löschen aller Dateien.

user3636223
quelle
Willkommen bei Ask Different! Ihre Antwort zeigt zwar, wie Sie die Dateien entfernen, beantwortet jedoch nicht das Warum, Was und Wie, das Sie im OP vermeiden müssen.
Bjbk
@bjbk Diese Antwort erklärt, wie man die Dateien löscht, genau wie Saeid Zebardasts hoch gelobte Antwort. Ich bin damit einverstanden, dass niemand wirklich darauf eingeht, wie man sie vermeidet und warum sie auftauchen.
LarsH
1

Es ist wirklich einfach, NTFS (aktuelles Windows) FAT32 (Altes Windows) hat eine sehr spezifische Datenstruktur für Dinge wie Berechtigungen, welches Programm zum Öffnen dieser Datei zugewiesen ist, Erstellungsdatum, Änderungsdatum, Tags, Dateikommentare, Symbol und andere Metadaten. Sie werden auch feststellen, dass die gleichen Eigenschaften im anderen Betriebssystem nicht angezeigt werden. (Das Erstellungsdatum des IE kann bedeuten, dass es am 1.1.1990 liegt und dass auf andere Metadaten vom anderen Betriebssystem aus nicht zugegriffen werden kann. Wenn Sie sowohl einen Computer verwenden, der von HFS auf NTFS oder FAT32 schreibt, als auch einen Computer, der native FAT32- oder NTFS-Daten schreibt. oder ._-Dateien zusammen mit DS-Speicherdateien werden angezeigt. Dies zeigt, dass das Betriebssystem mit dem Inkompatibilitätsfaktor der oben genannten verschiedenen Elemente nicht konsistent ist. Sie möchten diese Dateien also wahrscheinlich beibehalten, wenn Sie zwischen diesen hin- und herwechseln das Betriebssystem s, um diese Dateien zu verwenden. Wenn Sie nur ein oder das andere Betriebssystem verwenden, stellen Sie sicher, dass das Medium (Festplatte, SD-Karte usw.) ordnungsgemäß formatiert ist oder dass ein Treiber vorhanden ist, mit dem Ihr Betriebssystem in das Laufwerksformat schreiben kann, das nicht für Ihr Betriebssystem typisch ist. (Diese sind sowohl für OSX verfügbar, damit NTFS- und FAT32-Dateien mit nativen Eigenschaften geschrieben werden können, als auch für Windows 7 und 8, um mit nativen Eigenschaften auf HFS + und EXFat-Laufwerke (Linux) zu schreiben.) Sie sind nicht kostenlos Durch häufiges Hin- und Herbewegen werden die überschüssigen doppelten Daten, die das Laufwerk überladen, entfernt.

user44674
quelle
-1

Sie können sie über FileZilla oder einen ähnlichen Dateimanager löschen.

Mazzieh71
quelle
Ich bin mir nicht sicher, warum dies abgelehnt wurde, da die meisten der aufgestimmten Antworten nicht einmal wirklich eine Lösung bieten. Dies ist meiner Meinung nach die einfachste Lösung ... Da ._ und .DS_Store Finder-bezogene Dateien sind, ist es die naheliegende Lösung, Finder zu meiden. Persönlich bevorzuge ich die Verwendung von Transmit, aber Filezilla ist eine großartige kostenlose Alternative.
Bryan Willis
3
Ich habe nicht abgelehnt, aber es ist ein unerwünschter Vorschlag und verfehlt die Absicht der Frage, die eher nach Vorbeugung als nach Heilung verlangt. Wer möchte die Hälfte seiner Zeit damit verbringen, diese Dateien zu löschen, die ständig generiert werden? F: "Was mache ich gegen das Müllproblem in unserer Stadt?" A: "Nimm es und leg es in den Mülleimer, duh."
Sridhar Sarnobat
-1

Ich habe die folgende Methode für einfach verwendet. * Entfernen von Präfixdateien auf Flash-Laufwerken: Entfernen Sie das Flash-Laufwerk vom Apple-Computer, fügen Sie es in einen Windows-Computer ein, durchsuchen Sie das Flash-Laufwerk nach ". *. *". Wenn bei der Suche die Dateien mit dem Präfix "._" angezeigt werden, löschen Sie sie. Ich lösche niemals .Trashes oder .DS Store-Dateien. Bisher keine Probleme. Ich hoffe, ich verursache mir kein zukünftiges Problem.

Jim VdPas
quelle
1
Manuelles Löschen? Eigentümer eines Windows-Computers, wenn Sie ein Mac-Benutzer sind? Ich weiß, dass Sie nur dokumentieren, was für Sie funktioniert, aber ich kann mir nicht vorstellen, dass jemand Ihrer Methode folgt.
Sridhar Sarnobat
-1

Ja, einige von uns können sowohl auf Macs als auch auf Windows-Computern verwendet werden, und ich habe diese Methode verwendet. Und wenn Sie einen USB-Stick mit einer Reihe von .jpgs haben, die Sie als Diashow abspielen möchten, müssen Sie diese lästigen ._-Dateien entfernen, um dies zu tun. Nach langem Suchen habe ich eine Möglichkeit gefunden, mit meinem Mac die ._-Dateien zu entfernen:

mit Terminal:

  • ls -a listet alle Dateien auf, einschließlich der mit ._
  • So entfernen Sie nur eine Datei aus dem Verzeichnis: rm -rf ._whateveryourfilenameis.jpg
  • um alle ._Dateien zu entfernen :rm -rf ._*
  • unerwünschte Verzeichnisse zu entfernen, einschließlich .Trashes :rm -r .Trashes*

Bereinigte meinen USB-Stick für die Verwendung als TV-Eingang

T. Parlament
quelle
-2

Seien Sie vorsichtig beim Löschen von ._ in Bezug auf Git, Visual Studio und Xcode! Ich habe eine App mit vielen .mov- und Bilddateien, und diese "._" -Dateien haben sich als Commit-Dateien erwiesen. Ich habe sie über die Änderungen von Visual Studio Team Explorer gelöscht und irgendwie ist der Projektordner von ca. 500 MB auf 40 GB aufgebläht, ohne dass Dateien hinzugefügt wurden. Ich bin mir immer noch nicht sicher, was genau passiert ist jedes .mov und Bild mehrmals, bevor ich auffing. Ich habe jede .mov- und .png-Datei in Finder> All Files 20 bis 30 Mal wiederholt.

Fügen Sie einfach "._ *" zu Ihrer .gitignore-Datei hinzu und sie werden nicht als geänderte Datei angezeigt, wenn Sie TFS für Ihr iOS Xcode-Projekt verwenden.

whyoz
quelle