¿Por qué se crean los puntos de subrayado ._ y cómo puedo evitarlos?

156

Estoy usando diferentes sistemas operativos en diferentes máquinas en diferentes ubicaciones. Estoy usando un disco flash USB para guardar mis archivos (códigos fuente, etc.).

Soy nuevo en Mac OS X y ahora me doy cuenta de que hay muchos archivos creados con un ._prefijo de subrayado de puntos .

Preguntas

¿Por qué se ._crean los archivos?

¿Cuáles son sus propósitos?

¿Cómo puedo evitarlos?

nimcap
fuente
3
Tampoco me gustan, pero he aprendido a convivir con ellos pacíficamente.
boehj
1
Si la unidad flash está formateada en formato HFS +, eso debería suprimir la creación de ._archivos, pero no sé qué opciones existen en sus otros sistemas operativos no especificados para leer volúmenes HFS +.
Daniel
No es ideal, pero ls --ignore="._*"como un alias o combinación de teclas recorre un largo camino.
Sridhar Sarnobat

Respuestas:

107

No puede evitarlos (pero vea la respuesta dot_clean de Saeid Zebardast: pueden eliminarse de un directorio si eso es lo que necesita). Se crean para almacenar información de archivo que de otro modo iría a un atributo extendido en volúmenes HFS + (nativo de Apple) o Unix / UFS; en Mac OS anterior este sería el tenedor de recursos. Las operaciones del archivo Finder los crearán automáticamente para almacenar la información del icono, además, Time Machine almacena cierta información en ellos, por lo que si copia un archivo respaldado a través de TM, también tendrá esa información copiada.

(Esto no es nada nuevo; me he dado cuenta de que XP y versiones posteriores dejan varios turds alrededor también, aunque no bastante como muchos.)

geekosaur
fuente
50
Estoy de acuerdo, "turd" es una descripción precisa :)
Drahcir
2
Noté que mi Mac está dejando turds en mi servidor Linux Samba cuando uso etiquetas de color (usando Path Finder 7). Hay un archivo ._ <coloreditem> para cada elemento coloreado.
Jonathan Komar
55
Tenemos la misma situación en nuestro servidor de archivos Linux Samba en el trabajo. Como no necesitamos metadatos de color para los archivos, utilizamos las opciones veto files = /._*/y para evitar la creación de dichos archivos. En su lugar, dejamos los archivos como están, ya que son útiles para establecer la clasificación de archivos, y solo hay uno de ellos para cada directorio. delete veto filessmb.conf.DS_STORE
gerlos
55
¡Al menos en Windows puedes desactivar esto!
totymedli
77
Votó a favor del uso de "turds" para describir esto.
George P
60

Puede usar el comando dot_clean para eliminar o fusionar los archivos ._:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Si mueve archivos a Linux, o tiene Git Bashen su PC, y tiene acceso al findcomando, también podría hacer esto:

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

¡Y se han ido!

Saeid Zebardast
fuente
3
Las otras respuestas no responden realmente al "¿Cómo puedo evitarlas?" parte. Esto hace. ¡Gracias!
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.Este comando no solo elimina ciertos archivos de puntos, sino que puede sobrescribir atributos anteriores / nativos para cada carpeta. Usar con precaución.
William Isted
No estoy seguro de si se ha mencionado aquí o no, pero tenga cuidado al eliminar grandes cantidades de ._archivos. Podrían eliminar el archivo / carpeta iconos, comentarios, etiquetas, etc. Asegúrese de que donde quiera que usted es la eliminación de ellos esto no es un problema
leetbacoon
26

Fines de los archivos .DS_Store y ._

http://diigo.com/0qiwp para una vista comentada de http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html donde Matt Deatherage ( un ex ingeniero de Apple ) ofrece explicaciones. También arnotify »Sobre los orígenes de .DS_Store  (2006-10-01).

Como he visto la pérdida de datos del usuario (contenido del documento) donde ._se evitan o pierden las contrapartes, estoy de acuerdo en que es:

  • No es aceptable que las cosas "desaparezcan en el éter".

Fines de los archivos ._

Además de los propósitos descritos en la respuesta aceptada de geekosaur , aquí hay algunos ejemplos de cómo Apple o aplicaciones de terceros usan o requieren ._ en algunas situaciones ...


Archivo de negocios durante una copia de Finder

Vea mi respuesta a una pregunta sobre Stack Overflow.


Uso de NeoOffice de códigos obsoletos

El código de tipo HFS NO%Fsin un código creador es:

  • usado con consideración, solo donde sea apropiado.

Ejemplo 1 de NeoOffice

NeoOffice 3.2.1 Patch 5 guardar en 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

NeoOffice ejemplo 2

NeoOffice 3.2.1 Patch 5 guardar en una unidad flash USB con MS-DOS FAT32, limpieza por 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 ejemplo 3

NeoOffice 3.2.1 Patch 5 guardar en un volumen montado por OS X con el tipo de sistema de archivos webdav, no SharePoint, limpieza por 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% 
  • el guardado por NeoOffice en el webdavsistema de archivos no implicaba un atributo extendido
  • BlueHarvest no fue requerido.

Sugerencia : donde Microsoft Office no webdavpuede guardar en Microsoft SharePoint (ver más abajo), NeoOffice tiene éxito.


Uso de Microsoft de códigos obsoletos

La versión más reciente de Office requiere un código de tipo HFS y un código de creador HFS cuando .docxse elige un formato como Microsoft Word ( ). Entonces, parece que al guardar en un sistema de archivos que no admite esos valores en un com.apple.FinderInfoatributo extendido:

  • Microsoft Office no puede guardar de manera confiable sin crear múltiples ._archivos.

Microsoft ejemplo 1

Word 2011 14.2.1 guardar en un volumen montado por OS X con tipo de sistema de archivos webdav, no SharePoint, limpieza por 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.

Microsoft ejemplo 2

Word 2011 14.2.2 (120421) guardar example.docxen el mismo entorno:

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

Microsoft ejemplo 3

Word 2011 14.2.2 (120421) guardar another.docxen el mismo entorno, salir y volver a abrir, editar, guardar, editar, cerrar y guardar:

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.

Sugerencia : Microsoft Office 2011 no puede guardar en Microsoft SharePoint cuando el tipo de sistema de archivos se webdavdebe a que SharePoint no admite nombres de archivos que comienzan con un punto .( punto ). Consulte Preguntar diferentes respuestas a ¿Es posible montar SharePoint como un volumen en 10.6?


Tipo y códigos de creador: antecedentes, Apple Developer

Apple comenzó a alentar a los desarrolladores externos a alejarse de los códigos de tipo y los códigos de creador hace más de una década. En el Apéndice B de la Guía de programación del sistema de archivos, Tipos de archivo y Códigos de creador informa que los códigos son:

en general en desuso, puede verlos en archivos y aplicaciones heredados y en algunos lugares del sistema.

Graham Perrin
fuente
Lectura recomendada: atributos extendidos: lo bueno, lo no tan bueno, lo malo. (14/07/2015)
Graham Perrin
10

El sistema operativo crea estos archivos para acelerar las búsquedas, almacenar metadatos (datos utilizados por el sistema operativo) sobre las preferencias de una carpeta, etc. Tanto Windows como OS X tienen este tipo de archivos. A continuación, se incluye una descripción de estos archivos extraídos de http://annoying-file-be-gone.snack.ws/faq.html :

.DS_Store- El nombre de un archivo en el sistema operativo Apple OS X para almacenar atributos personalizados de una carpeta, como la posición de los iconos o la elección de una imagen de fondo (Leer más )

.Spotlight-V100- Este archivo contiene información para acelerar la función 'Búsqueda de Spotlight'. Eliminar simplemente obligaría a que esta información se vuelva a indexar si realizó otra búsqueda de Spotlight para un elemento en esta carpeta.

.apDisk - Este archivo contiene información sobre carpetas compartidas y se puede eliminar de forma segura, ya que se volverá a crear automáticamente si Apple lo necesita.

.VolumeIcon.icns- Este archivo se utiliza para almacenar el ícono del volumen (dispositivo USB) si el volumen usa un ícono personalizado y no el ícono predeterminado. Si desea que el dispositivo continúe usando este icono predeterminado, o si la carpeta / dispositivo que desea limpiar contiene una aplicación, es posible que desee mantener este archivo en su sistema. Como nota al margen, si desea crear un icono personalizado para su dispositivo, puede crear / descargar un .icnsarchivo y cambiarle el nombre .VolumeIcon.icnsy colocarlo en su carpeta / dispositivo.

.fseventsd- Este archivo se utiliza como un búfer para el demonio de eventos del sistema de archivos. Si está utilizando un programa que está monitoreando esta carpeta / dispositivo, este archivo podría usarse para almacenar datos temporales.

.Trash& .Trashes- Estas carpetas se usan para guardar elementos eliminados de la misma manera que funciona el ícono 'Papelera' del muelle. Si no necesita esta función en su carpeta / dispositivo, puede limpiar esta carpeta para ahorrar espacio.

.TemporaryItems- El sistema operativo utiliza este archivo para almacenar datos temporales cuando los archivos se copian / mueven / anexan. Si está ejecutando algún programa que está accediendo a la carpeta / dispositivo que desea limpiar, y no está copiando ni moviendo ningún archivo, entonces este archivo simplemente puede contener datos antiguos para el almacenamiento en caché.

usuario149666
fuente
7

Para minimizar la presencia de archivos de subrayado de puntos en unidades sin formato HFS +, puede usar el panel de preferencias de BlueHarvest .

calum_b
fuente
3
BlueHarvest es un producto excelente, pero algunas de las revisiones de terceros son engañosas. Los resultados de la prueba muestran que la creación no se impide; esa creación está permitida y, de acuerdo con las preferencias del usuario, BlueHarvest puede limpiar parte de lo creado.
Graham Perrin
5

el problema es como dice @geekosaur y es muy difícil de evitar si usas herramientas de archivos de Apple.

Sin embargo, si solo usa herramientas de línea de comandos y algunas de terceros y nunca escribe en el USB con Finder, no se crearán.

usuario151019
fuente
El comportamiento no se limita al software de Apple. Ejemplo: Microsoft Office 2011 requiere ._archivos al guardar en sistemas de archivos que no son compatibles con los códigos de tipo HFS y los códigos de creador.
Graham Perrin
55
@GrahamPerrin: me refería a las herramientas de archivos de Apple para copiar, etc., sí, cualquier aplicación que use tenedores de archivos (es decir, las bibliotecas de Apple) las tendrá. Si usa herramientas que solo usan bibliotecas de archivos BSD, entonces no hay archivos _.
user151019
3

Use find . -name "._*" -type fpara archivar los archivos desde la ruta local y use find . -name "._*" -type f -deletepara eliminar todos los archivos.

usuario3636223
fuente
Bienvenido a Ask Different! Aunque su respuesta muestra cómo eliminar los archivos, no responde el por qué, qué y cómo evitar en el OP.
bjbk
@bjbk Esta respuesta le indica cómo eliminar los archivos, tal como lo hace la respuesta altamente votada de Saeid Zebardast. Estoy de acuerdo en que ninguno aborda cómo evitarlos ni por qué aparecen.
LarsH
1

Realmente es simple, NTFS (Windows actual) FAT32 (Windows anterior) tiene una estructura de datos muy específica para cosas como permisos, qué programa se asigna para abrir este archivo, fecha de creación, fecha de modificación, etiquetas, comentarios de archivo, icono y otros metadatos También notará que las mismas propiedades no se mostrarán en el otro sistema operativo. (La fecha de creación de IE puede decir que fue en 1/1/1990 y otros metadatos no son accesibles desde el otro sistema operativo. Siempre que esté utilizando una máquina que escribe desde HFS a NTFS o FAT32 junto con una máquina que escribe FAT32 o NTFS nativo). o ._ se mostrarán los archivos junto con los archivos de la tienda DS. Se muestra el trato del sistema operativo con el factor de incompatibilidad de los diversos elementos anteriores que no son consistentes. Por lo tanto, es probable que desee mantener estos archivos si cambia de un lado a otro el SO ' s para usar estos archivos. Si solo está utilizando un sistema operativo u otro, asegúrese de tener los medios (disco duro, tarjeta SD, etc.) formateados correctamente o tener un controlador que permita que su sistema operativo escriba en el formato de unidad que no es nativo de su sistema operativo. (Estos están disponibles para OSX para permitirle escribir archivos NTFS y FAT32 usando propiedades nativas y para Windows 7 y 8 escribir en unidades HFS + y EXFat (linux) usando las propiedades nativas). No son gratuitos, pero si usted hacer mucho de ida y vuelta, elimina el exceso de datos duplicados que saturan la unidad.

usuario44674
fuente
-1

Puede eliminarlos a través de FileZilla o un administrador de archivos similar.

Mazzieh71
fuente
No estoy seguro de por qué esto fue rechazado, ya que la mayoría de las respuestas que votaron realmente no dan una solución. En mi opinión, esta es la solución más fácil ... Dado que ._ y .DS_Store son archivos relacionados con Finder, la solución obvia es evitar el buscador. Personalmente prefiero usar Transmitir, pero Filezilla es una gran alternativa gratuita.
Bryan Willis
3
No voté en contra, pero es una sugerencia indeseable y pierde la intención de la pregunta que pide más prevención que cura. ¿Quién quiere pasar la mitad de su tiempo eliminando estos archivos que se siguen generando? P: "¿Qué hago con respecto al problema de la basura de nuestra ciudad?" A: "Recógelo y ponlo en el contenedor, duh".
Sridhar Sarnobat
-1

He estado usando el siguiente método para facilitar. * Eliminación de archivos de prefijo en unidades flash: retire la unidad flash de la computadora Apple, insértela en una máquina Windows, busque ". *. *" en la unidad flash , luego, cuando la búsqueda muestre los archivos con el prefijo ._, elimínelos. Nunca elimino archivos .Trashes o .DS Store. Hasta el momento no hay problemas. Espero no causarme un problema en el futuro.

Jim VdPas
fuente
1
¿Eliminación manual? ¿Propiedad de una computadora con Windows cuando eres usuario de Mac? Sé que solo estás documentando lo que funciona para ti, pero no puedo imaginar que alguien siga tu método.
Sridhar Sarnobat
-1

Sí, algunos de nosotros tenemos un uso tanto para Mac como para Windows, y yo solía usar ese método. Y si tiene un USB con un montón de archivos .jpgs que desea reproducir como una presentación de diapositivas, debe deshacerse de esos molestos archivos ._ para hacerlo. Después de mucho buscar, encontré una manera de usar mi mac para eliminar los archivos ._:

usando Terminal:

  • ls -a enumerará todos los archivos, incluido el que comienza con ._
  • para eliminar solo un archivo del directorio: rm -rf ._whateveryourfilenameis.jpg
  • para eliminar todos los ._archivos:rm -rf ._*
  • para eliminar directorios no deseados que incluyen .Trashes :rm -r .Trashes*

Limpié mi USB para usarlo como entrada de TV

T. Parlamento
fuente
-2

¡Tenga cuidado al eliminar ._ relacionado con Git, Visual Studio y Xcode! Tengo una aplicación con muchos archivos .mov e imágenes y estos archivos "._" aparecieron como comprometidos. Los eliminé a través de los cambios de Visual Studio Team Explorer y de alguna manera esa carpeta del proyecto se hinchó de alrededor de 500 MB a 40 GB sin agregar archivos ... todavía no estoy seguro de qué sucedió exactamente, pero supongo que estaba relacionado con la eliminación de esos archivos, así que cada confirmación se almacenó en caché cada .mov e imagen varias veces antes de comprender. Vi cada .mov y .png repetido 20-30 veces cuando estaba en Finder> Todos los archivos.

Simplemente agregue "._ *" a su archivo .gitignore y no se mostrarán como un archivo modificado cuando use TFS para su proyecto Xcode de iOS.

whyoz
fuente