Pourquoi les fichiers. Underscore sont-ils créés et comment puis-je les éviter?

156

J'utilise différents systèmes d'exploitation sur différentes machines et à différents endroits. J'utilise un disque flash USB pour conserver mes fichiers (codes source, etc.).

Je suis nouveau sur Mac OS X et je réalise maintenant que de nombreux fichiers sont créés avec un ._préfixe de soulignement de point .

Des questions

Pourquoi les ._fichiers sont créés?

Quel est leur but?

Comment puis-je les éviter?

nimcap
la source
3
Je ne les aime pas aussi, mais j'ai appris à cohabiter pacifiquement avec eux.
boehj
1
Si le lecteur flash est formaté au format HFS +, cela devrait supprimer la création de ._fichiers, mais je ne sais pas quelles options existent sur vos autres systèmes d'exploitation non spécifiés pour lire les volumes HFS +.
Daniel
Pas idéal, mais ls --ignore="._*"comme un alias ou une reliure de touche va un long chemin.
Sridhar Sarnobat

Réponses:

107

Vous ne pouvez pas les éviter (mais consultez la réponse dot_clean de Saeid Zebardast - ils peuvent être supprimés d'un répertoire si c'est ce dont vous avez besoin). Ils sont créés pour stocker des informations sur les fichiers qui entreraient autrement dans un attribut étendu sur des volumes HFS + (natif Apple) ou Unix / UFS; dans les versions antérieures de Mac OS, il s’agissait de la fourchette de ressources. Les opérations de fichiers du Finder les créeront automatiquement pour stocker les informations d'icône. Time Machine y stockera également certaines informations. Ainsi, si vous copiez un fichier sauvegardé via TM, ces informations seront également copiées.

(Ceci est rien de nouveau, je l' ai remarqué que XP et laisser plus tard divers étrons autour aussi bien, mais pas tout à fait autant.)

geekosaur
la source
51
Je suis d'accord, "turd" est une description précise :)
Drahcir
2
J'ai remarqué que mon Mac laissait des traces sur mon serveur samba sous Linux lorsque j'utilisais des étiquettes de couleur (avec Path Finder 7). Il existe un fichier ._ <coloreditem> pour chaque élément coloré.
Jonathan Komar
5
Nous avons la même situation sur notre serveur de fichiers Linux Samba au travail. Étant donné que nous n’avons pas besoin de métadonnées de couleur pour les fichiers, nous avons utilisé les options veto files = /._*/et pour empêcher la création de tels fichiers. Au lieu de cela, nous laissons les fichiers en l'état, car ils sont utiles pour définir le tri des fichiers et qu'il n'y en a qu'un pour chaque répertoire. delete veto filessmb.conf.DS_STORE
gerlos
5
Au moins sur Windows, vous pouvez désactiver cela!
Totymedli
7
On a voté pour l'utilisation de "crottes" pour décrire cela.
George P
60

Vous pouvez utiliser la commande dot_clean pour supprimer ou fusionner les fichiers ._:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Si vous déplacez des fichiers sur Linux, ou avez Git Bashsur votre PC, et que vous avez accès à la findcommande, vous pourrez peut-être aussi le faire:

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

Et ils sont partis!

Saeid Zebardast
la source
3
Les autres réponses ne répondent pas vraiment au "Comment puis-je les éviter?" partie. Cela fait. Merci!
Ninja Fist
11
De 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.cette commande ne supprime pas seulement certains fichiers de points, elle peut écraser les attributs précédents / natifs pour chaque dossier. Utiliser avec précaution.
William Isted
Je ne sais pas si cela a été mentionné ici ou non, mais veillez à supprimer les gros volumes de ._fichiers. Ils peuvent supprimer les icônes de fichiers / dossiers, les commentaires, les étiquettes, etc. Assurez-vous que, quel que soit votre problème, ce n'est pas un problème
leetbacoon
26

Objectifs des fichiers .DS_Store et ._

http://diigo.com/0qiwp pour une vue annotée de http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html où Matt Deatherage ( un ancien ingénieur chez Apple ) offre des explications. Aussi arnotify »Sur les origines de .DS_Store  (2006-10-01).

Depuis que j'ai constaté une perte de données utilisateur (contenu du document) ._empêchant ou perdant des équivalents, je conviens que c'est:

  • pas acceptable d'avoir des choses "disparaissent dans l'éther".

Objectifs des fichiers ._

Outre les objectifs énoncés dans la réponse acceptée par geekosaur , voici quelques exemples de la manière dont les applications Apple et tierces utilisent ou ont besoin ._ dans certaines situations…


Classer les affaires lors d'une copie par le Finder

Voir ma réponse à une question sur le dépassement de capacité.


Utilisation par NeoOffice de codes obsolètes

Le code de type HFS NO%Fsans code créateur est:

  • utilisé avec précaution, uniquement lorsque cela convient.

Exemple NeoOffice 1

NeoOffice 3.2.1 Patch 5 enregistrez sur 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

Exemple NeoOffice 2

NeoOffice 3.2.1 Patch 5 enregistrez sur une clé USB avec MS-DOS FAT32, nettoyage par BlueHarvest:

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

Exemple NeoOffice 3

NeoOffice 3.2.1 Patch 5 enregistrez sur un volume monté sous OS X avec le type de système de fichiers webdav, pas SharePoint, nettoyé par 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% 
  • la sauvegarde de NeoOffice sur le webdavsystème de fichiers ne comportait pas d'attribut étendu
  • BlueHarvest n'était pas nécessaire.

Astuce : lorsque Microsoft Office ne parvient pas webdavà enregistrer sur Microsoft SharePoint (voir ci-dessous), NeoOffice réussit.


Utilisation par Microsoft des codes obsolètes

La version la plus récente d'Office requiert un code de type HFS et un code créateur HFS lorsqu'un format tel que Microsoft Word ( .docx) est choisi. Donc, il semble que lors de l’enregistrement sur un système de fichiers qui ne prend pas en charge ces valeurs dans un com.apple.FinderInfoattribut étendu:

  • Microsoft Office ne peut pas enregistrer de manière fiable sans créer plusieurs ._fichiers.

Exemple Microsoft 1

Word 2011 14.2.1 enregistrez sur un volume monté sous OS X avec le type de système de fichiers webdav, pas SharePoint, nettoyé par 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.

Exemple Microsoft 2

Word 2011 14.2.2 (120421), enregistrement example.docxdans le même environnement:

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

Exemple Microsoft 3

Word 2011 14.2.2 (120421) enregistrez another.docxdans le même environnement, quittez puis rouvrez, éditez puis enregistrez, éditez puis fermez et enregistrez:

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.

Astuce : Microsoft Office 2011 ne parvient pas à enregistrer dans Microsoft SharePoint lorsque le type de système de fichiers est différent, webdavcar SharePoint ne prend pas en charge les noms de fichiers commençant par un point .( point ). Voir Demander des réponses différentes à Est-il possible de monter SharePoint en tant que volume dans 10.6?


Codes de type et de créateur: arrière-plan, développeur Apple

Apple a commencé à encourager les développeurs tiers à s'éloigner des codes de types et des codes de créateurs il y a plus de dix ans. Dans l’Annexe B du Guide de programmation du système de fichiers, Types de fichiers et codes de créateur indiquent que ces codes sont les suivants:

généralement obsolètes, vous pouvez les voir dans des fichiers et applications hérités et à certains endroits du système.

Graham Perrin
la source
Lecture recommandée: Attributs étendus: le bon, le moins bon, le mauvais. (2015-07-14)
Graham Perrin
10

Ces fichiers sont créés par le système d'exploitation pour accélérer les recherches, stocker des métadonnées (données utilisées par le système d'exploitation) relatives aux préférences d'un dossier, etc. Windows et OS X contiennent tous deux ce type de fichiers. Voici une description de ces fichiers extraite de http://annoying-file-be-gone.snack.ws/faq.html :

.DS_Store- Le nom d'un fichier du système d'exploitation Apple OS X permettant de stocker les attributs personnalisés d'un dossier, tels que la position des icônes ou le choix d'une image d'arrière-plan (en savoir plus ).

.Spotlight-V100- Ce fichier contient des informations pour accélérer la fonctionnalité de "recherche Spotlight". La suppression forcerait simplement la réindexation de ces informations si vous effectuiez une autre recherche Spotlight pour un élément de ce dossier.

.apDisk - Ce fichier contient des informations sur les dossiers partagés et peut être supprimé en toute sécurité car il sera automatiquement recréé si Apple en a besoin.

.VolumeIcon.icns- Ce fichier est utilisé pour stocker l'icône du volume (périphérique USB) si le volume utilise une icône personnalisée et non l'icône par défaut. Si vous souhaitez que le périphérique continue à utiliser cette icône par défaut ou si le dossier / périphérique que vous souhaitez nettoyer contient une application, vous pouvez conserver ce fichier sur votre système. Remarque: si vous souhaitez créer une icône personnalisée pour votre appareil, vous pouvez créer / télécharger un .icnsfichier, le renommer .VolumeIcon.icnset le placer dans votre dossier / appareil.

.fseventsd- Ce fichier est utilisé comme tampon pour le démon d'événements de système de fichiers. Si vous utilisez un programme qui surveille ce dossier / périphérique, ce fichier peut être utilisé pour stocker des données temporaires.

.Trash& .Trashes- Ces dossiers sont utilisés pour contenir les éléments supprimés de la même manière que l’icône 'Corbeille' du dock. Si vous n'avez pas besoin de cette fonctionnalité sur votre dossier / périphérique, vous pouvez nettoyer ce dossier pour économiser de l'espace.

.TemporaryItems- Ce fichier est utilisé par le système d'exploitation pour stocker des données temporaires lorsque les fichiers sont copiés / déplacés / ajoutés. Si vous exécutez des programmes qui accèdent au dossier / périphérique que vous souhaitez nettoyer et que vous ne copiez ou ne déplacez aucun fichier, ce fichier peut simplement contenir d'anciennes données pour la mise en cache.

utilisateur149666
la source
7

Pour réduire la présence de fichiers soulignés par des points sur des lecteurs non formatés HFS +, vous pouvez utiliser le volet des préférences BlueHarvest .

calum_b
la source
3
BlueHarvest est un excellent produit, mais certaines des critiques par des tiers sont trompeuses. Les résultats des tests montrent que la création n'est pas empêchée. cette création est autorisée et, selon les préférences de l'utilisateur, BlueHarvest peut nettoyer une partie de ce qui a été créé.
Graham Perrin
5

le problème est comme @geekosaur dit et si difficile à éviter si vous utilisez des outils de fichier Apple.

Toutefois, si vous utilisez uniquement des outils de ligne de commande et des outils tiers et que vous n'écrivez jamais sur l'USB avec le Finder, ils ne seront pas créés.

utilisateur151019
la source
Le comportement ne se limite pas aux logiciels Apple. Exemple: Microsoft Office 2011 requiert des ._fichiers lors de l'enregistrement sur des systèmes de fichiers ne prenant pas en charge les codes de type HFS et les codes de créateur.
Graham Perrin
5
@GrahamPerrin - Je parlais des outils de fichiers d'Apple pour la copie, etc. Si vous utilisez des outils qui utilisent uniquement les bibliothèques de fichiers BSD, aucun fichier _.
user151019
3

Utilisez find . -name "._*" -type fpour classer les fichiers du chemin local et find . -name "._*" -type f -deletepour supprimer tous les fichiers.

utilisateur3636223
la source
Bienvenue à Ask Different! Bien que votre réponse indique comment supprimer les fichiers, elle ne répond pas aux questions Pourquoi, Quoi et Comment éviter dans le PO.
bjbk
@bjbk Cette réponse explique comment supprimer les fichiers, comme le fait la réponse très votée de Saeid Zebardast. Je conviens que ni l’un ni l’autre ne s’intéresse vraiment à la manière de les éviter , ni à la raison pour laquelle ils apparaissent.
LarsH
1

C’est vraiment simple, NTFS (Windows actuel) FAT32 (Old Windows) possède une structure de données très spécifique pour les autorisations, le programme affecté à l’ouverture de ce fichier, la date de création, la date de modification, les balises, les commentaires de fichier, les icônes, etc. métadonnées. Vous remarquerez également que les mêmes propriétés ne s'afficheront pas dans l'autre système d'exploitation. (La date de création d’IE peut indiquer qu’elle était en 1/1/1990 et que les autres métadonnées ne sont pas accessibles depuis l’autre système d’exploitation. Chaque fois que vous utilisez une machine écrivant de HFS vers NTFS ou FAT32 avec une machine écrivant ces derniers en FAT32 ou NTFS natif. Des fichiers ou ._ ainsi que des fichiers de magasin DS apparaîtront.Il indique que le système d’exploitation traite du facteur d’incompatibilité des divers éléments ci-dessus qui ne sont pas cohérents. Par conséquent, vous souhaiterez probablement conserver ces fichiers si vous permutez entre l'OS ' s utiliser ces fichiers. Si vous utilisez uniquement un système d'exploitation, assurez-vous que le support (disque dur, carte SD, etc.) est correctement formaté ou qu'un pilote permet à votre système d'exploitation d'écrire au format de lecteur non natif de votre système d'exploitation. (Ils sont disponibles pour OSX afin de lui permettre d’écrire des fichiers NTFS et FAT32 à l’aide de propriétés natives et pour Windows 7 et 8 d’écrire sur des lecteurs HFS + & EXFat (linux) à l’aide des propriétés natives.) Ils ne sont pas libres, mais si vous faire beaucoup de va-et-vient, il supprime les données en double en excès qui encombrent le lecteur.

utilisateur44674
la source
-1

Vous pouvez les supprimer via FileZilla ou un gestionnaire de fichiers similaire.

Mazzieh71
la source
Je ne sais pas pourquoi cela a été voté à la baisse puisque la plupart des réponses votées ne donnent même pas vraiment de solution. C’est à mon avis la solution la plus simple ... Puisque ._ et .DS_Store sont des fichiers liés au Finder, la solution évidente consiste à éviter les recherches. Personnellement, je préfère utiliser Transmit, mais Filezilla est une excellente alternative gratuite.
Bryan Willis
3
Je n'ai pas voté par sous, mais c'est une suggestion indésirable et passe à côté de l'intention de la question qui demande de prévenir plutôt que de guérir. Qui veut passer la moitié de son temps à supprimer ces fichiers qui continuent à être générés? Q: "Qu'est-ce que je fais à propos du problème des déchets de notre ville?" A: "Prends-le et mets-le à la poubelle, duh."
Sridhar Sarnobat
-1

J'ai utilisé la méthode suivante pour facile. * Suppression du fichier de préfixe sur les lecteurs flash: Retirez le lecteur flash de l'ordinateur Apple, insérez-le dans un ordinateur Windows, recherchez ". *. *" dans le lecteur flash , puis supprimez-le lorsque la recherche affiche les fichiers avec le préfixe ._. Je ne supprime jamais les fichiers .Tash ou .DS Store. Jusqu'à présent, pas de problèmes. J'espère que je ne me pose pas de problème à l'avenir.

Jim VdPas
la source
1
Suppression manuelle? Propriété d'un ordinateur Windows lorsque vous êtes un utilisateur Mac? Je sais que vous ne faites que documenter ce qui fonctionne pour vous, mais je ne peux imaginer que quelqu'un suive votre méthode.
Sridhar Sarnobat le
-1

Oui, certains d’entre nous ont une utilisation à la fois des ordinateurs Mac et Windows, et j’avais l’habitude d’utiliser cette méthode. Et si vous avez une clé USB avec un groupe de fichiers .jpgs que vous souhaitez lire sous forme de diaporama, vous devez vous débarrasser de ces fichiers fastidieux ._ pour le faire. Après de nombreuses recherches, j'ai trouvé un moyen d'utiliser mon Mac pour supprimer les fichiers ._:

utilisant Terminal:

  • ls -a listera tous les fichiers, y compris celui commençant par ._
  • pour ne supprimer qu'un fichier du répertoire: rm -rf ._whateveryourfilenameis.jpg
  • pour supprimer tous les ._fichiers:rm -rf ._*
  • pour supprimer les répertoires indésirables, notamment .Trashes :rm -r .Trashes*

Nettoyé ma clé USB pour l'utiliser comme entrée de télévision

T. Parlement
la source
-2

Faites attention lorsque vous supprimez ._ en rapport avec Git, Visual Studio et Xcode! J'ai une application avec beaucoup de .mov et d'images et ces fichiers "._" se sont révélés être validés. Je les ai supprimés via les modifications de Visual Studio Team Explorer et, d'une manière ou d'une autre, ce dossier de projet gonflé d'environ 500 Mo à 40 Go sans ajouter de fichiers ... je ne sais toujours pas exactement ce qui s'est passé, mais je suppose que cela était lié à la suppression de ces fichiers afin que chaque validation soit mise en cache chaque .mov et image plusieurs fois avant que j'ai attrapé. J'ai vu chaque. Mov et. Png répété 20-30 fois dans Finder> Tous les fichiers.

Ajoutez simplement "._ *" à votre fichier .gitignore et ils ne s'afficheront pas en tant que fichier modifié lors de l'utilisation de TFS pour votre projet iOS Xcode.

pourquoi
la source