Perché vengono creati i punti di sottolineatura ._ e come posso evitarli?


156

Sto usando diversi sistemi operativi su macchine diverse in posizioni diverse. Sto usando un disco flash USB per conservare i miei file (codici sorgente, ecc.).

Sono nuovo di Mac OS X e ora mi rendo conto che ci sono molti file creati con un ._prefisso di sottolineatura punto .

Domande

Perché vengono ._creati i file?

Quali sono i loro scopi?

Come posso evitarli?


3
Anche a me non piacciono, ma ho imparato a convivere pacificamente con loro.
Boehj,

1
Se l'unità flash è formattata in formato HFS +, ciò dovrebbe sopprimere la creazione di ._file, ma non so quali opzioni esistono su altri sistemi operativi non specificati per leggere i volumi HFS +.
Daniel


Non ideale, ma ls --ignore="._*"come alias o keybinding fa molta strada.
Sridhar Sarnobat,

Risposte:


107

Non puoi evitarli (ma vedi la risposta dot_clean di Saeid Zebardast: possono essere rimossi da una directory se è quello che ti serve). Sono creati per archiviare informazioni sui file che altrimenti andrebbero in un attributo esteso su volumi HFS + (nativi di Apple) o Unix / UFS; nei precedenti Mac OS questo sarebbe il fork delle risorse. Le operazioni sui file del Finder le creeranno automaticamente per memorizzare le informazioni dell'icona, inoltre Time Machine memorizzerà alcune informazioni in esse, quindi se copi un file di cui è stato eseguito il backup tramite TM, verranno copiate anche quelle informazioni.

(Questa non è una novità; ho notato che XP e versioni successive lasciano vari stronzi intorno pure, anche se non del tutto , come molti.)


50
Sono d'accordo, "turd" è una descrizione accurata :)
Drahcir

2
Ho notato che il mio Mac sta lasciando turds sul mio server samba di Linux quando uso etichette a colori (usando Path Finder 7). Esiste un file ._ <coloreditem> per ogni elemento colorato.
Jonathan Komar,

5
Abbiamo la stessa situazione sul nostro file server samba di Linux al lavoro. Poiché non abbiamo bisogno di metadati di colore per i file, abbiamo utilizzato le opzioni veto files = /._*/e delete veto filesnel nostro smb.confper impedire la creazione di tali file. Invece lasciamo i .DS_STOREfile così come sono, poiché sono utili per impostare l'ordinamento dei file e ne esiste solo uno per ogni directory.
gerlos,

5
Almeno su Windows puoi disattivarlo!
totymedli,

7
È stato votato per l'uso di "turds" per descriverlo.
George P,

60

È possibile utilizzare il comando dot_clean per rimuovere o unire i file ._:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Se sposti i file su Linux o hai Git Bashsul tuo PC e hai accesso al findcomando, potresti anche essere in grado di fare questo:

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

E se ne sono andati!


3
Le altre risposte non rispondono davvero al "Come posso evitarle?" parte. Questo fa. Grazie!
Ninja Fist

11
Da 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.questo comando non rimuove solo determinati file di punti, ma può sovrascrivere gli attributi precedenti / nativi per ogni cartella. Usare con cautela.
William Isted,

Non sono sicuro se sia stato menzionato qui o no, ma fai attenzione a rimuovere grandi quantità di ._file. Potrebbero rimuovere icone di file / cartelle, commenti, etichette, ecc. Assicurati che ovunque
tu li rimuova,

26

Scopi dei file .DS_Store e ._

http://diigo.com/0qiwp per una vista annotata di http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html in cui Matt Deatherage ( un ex ingegnere di Apple ) offre spiegazioni. Anche arnotify »Sulle origini di .DS_Store  (01-10-2006).

Dal momento che ho visto la perdita dei dati dell'utente (contenuto del documento) in cui le ._controparti sono prevenute o perse, sono d'accordo che è:

  • non è accettabile che le cose "svaniscano nell'etere".

Scopi dei file ._

Oltre agli scopi indicati nella risposta accettata da geekosaur , ecco alcuni esempi di come Apple e le app di terze parti utilizzano o richiedono ._ in alcune situazioni ...


File aziendale durante una copia da Finder

Vedi la mia risposta a una domanda su Stack Overflow.


Utilizzo di codici obsoleti da parte di NeoOffice

Il codice di tipo HFS NO%Fsenza un codice creatore è:

  • usato considerevolmente, solo dove appropriato.

Esempio di NeoOffice 1

NeoOffice 3.2.1 Patch 5 salva su 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 esempio 2

NeoOffice 3.2.1 Patch 5 salva su un'unità flash USB con MS-DOS FAT32, pulizia di 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 esempio 3

NeoOffice 3.2.1 Patch 5 salva su un volume montato da OS X con tipo di file system webdav, non SharePoint, pulizia di 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% 
  • il salvataggio di NeoOffice nel webdavfile system non comportava un attributo esteso
  • BlueHarvest non era richiesto.

Suggerimento : in cui Microsoft Office non riesce webdava salvare in Microsoft SharePoint (vedi sotto), NeoOffice ha esito positivo.


Utilizzo da parte di Microsoft di codici obsoleti

La versione più recente di Office richiede un codice di tipo HFS e un codice creatore HFS quando .docxviene scelto un formato come Microsoft Word ( ). Quindi - sembra che quando si salva su un file system che non supporta quei valori in un com.apple.FinderInfoattributo esteso:

  • Microsoft Office non può salvare in modo affidabile senza creare più ._file.

Esempio 1 di Microsoft

Word 2011 14.2.1 salva su un volume montato da OS X con tipo di file system webdav, non SharePoint, pulizia di 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 esempio 2

Word 2011 14.2.2 (120421) risparmio example.docxnello stesso ambiente:

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

Esempio 3 di Microsoft

Word 2011 14.2.2 (120421) salvando another.docxnello stesso ambiente, chiudendo quindi riaprendo, modificando quindi salvando, modificando quindi chiudendo e salvando:

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.

Suggerimento : Microsoft Office 2011 non riesce a salvare in Microsoft SharePoint quando il tipo di file system è webdavperché SharePoint non supporta i nomi di file che iniziano con un punto .( punto ). Vedere Chiedi risposte diverse a È possibile montare SharePoint come volume in 10.6?


Codici di tipo e creatore: sfondo, sviluppatore Apple

Apple ha iniziato a incoraggiare gli sviluppatori di terze parti a partire da codici di tipo e codici creatore oltre un decennio fa. Nell'Appendice B della Guida alla programmazione del file system, Tipi di file e Codici creatore indica che i codici sono:

generalmente deprecato, potresti vederli in file e app legacy e in alcuni punti del sistema.



10

Questi file vengono creati dal sistema operativo per velocizzare le ricerche, archiviare i metadati (dati utilizzati dal sistema operativo) sulle preferenze di una cartella, ecc. Windows e OS X hanno entrambi questo tipo di file. Segue una descrizione di questi file estratti da http://annoying-file-be-gone.snack.ws/faq.html :

.DS_Store- Il nome di un file nel sistema operativo Apple OS X per la memorizzazione di attributi personalizzati di una cartella come la posizione delle icone o la scelta di un'immagine di sfondo (Leggi di più )

.Spotlight-V100- Questo file contiene informazioni per velocizzare la funzione "Ricerca Spotlight". L'eliminazione imporrebbe semplicemente la reindicizzazione di queste informazioni se si eseguisse un'altra ricerca Spotlight per un elemento in questa cartella.

.apDisk - Questo file contiene informazioni sulle cartelle condivise e può essere rimosso in modo sicuro poiché verrà ricreato automaticamente se Apple ne ha bisogno.

.VolumeIcon.icns- Questo file viene utilizzato per memorizzare l'icona del volume (dispositivo USB) se il volume utilizza un'icona personalizzata e non l'icona predefinita. Se si desidera che il dispositivo continui a utilizzare questa icona predefinita o se la cartella / dispositivo che si desidera pulire contiene un'applicazione, è possibile che si desideri conservare questo file nel proprio sistema. Come nota a margine, se si desidera creare un'icona personalizzata per il proprio dispositivo è possibile creare / scaricare un .icnsfile e rinominarlo .VolumeIcon.icnse inserirlo nella cartella / dispositivo.

.fseventsd- Questo file viene utilizzato come buffer per il demone Eventi file system. Se si utilizza un programma che sta monitorando questa cartella / dispositivo, questo file potrebbe essere utilizzato per archiviare dati temporanei.

.Trash& .Trashes- Queste cartelle vengono utilizzate per contenere gli elementi eliminati nello stesso modo in cui funziona l'icona "Cestino" dal dock. Se non hai bisogno di questa funzione sulla tua cartella / dispositivo, puoi pulire questa cartella per risparmiare spazio.

.TemporaryItems- Questo file viene utilizzato dal sistema operativo per contenere dati temporanei quando i file vengono copiati / spostati / aggiunti. Se stai eseguendo programmi che accedono alla cartella / dispositivo che desideri pulire e non stai copiando o spostando alcun file, questo file può semplicemente contenere vecchi dati per la memorizzazione nella cache.


7

Per ridurre al minimo la presenza di file di sottolineatura dei punti su unità non formattate HFS +, è possibile utilizzare il riquadro delle preferenze BlueHarvest .


3
BlueHarvest è un prodotto eccellente ma alcune delle recensioni di terzi sono fuorvianti. I risultati dei test mostrano che la creazione non è impedita; tale creazione è consentita e in base alle preferenze dell'utente BlueHarvest potrebbe ripulire parte di ciò che è stato creato.
Graham Perrin,

5

il problema è come dice @geekosaur e così difficile da evitare se si utilizzano gli strumenti di file Apple.

Tuttavia, se si utilizzano solo strumenti da riga di comando e alcuni di terze parti e non si scrive mai su USB con Finder, questi non verranno creati.


Il comportamento non è limitato al software Apple. Esempio: Microsoft Office 2011 richiede ._file durante il salvataggio su file system che non supportano i codici di tipo HFS e i codici creatore.
Graham Perrin,

5
@GrahamPerrin - Intendevo gli strumenti per i file di Apple per la copia, ecc. Sì, qualsiasi app che usa i file fork (cioè le librerie di Apple) li avrà. Se usi strumenti che usano solo le librerie di file BSD, allora nessun _ file.
user151019,

3

Utilizzare find . -name "._*" -type fper archiviare i file dal percorso locale e utilizzare find . -name "._*" -type f -deleteper eliminare tutti i file.


Benvenuti a chiedere diverso! Sebbene la tua risposta mostri come rimuovere i file, non risponde al perché, cosa e come evitare nell'OP.
bjbk,

@bjbk Questa risposta spiega come eliminare i file, proprio come fa la risposta altamente votata di Saeid Zebardast. Sono d'accordo sul fatto che nessuno si occupi davvero di come evitarli , né perché compaiano.
LarsH,

1

È davvero semplice, NTFS (Windows corrente) FAT32 (Windows precedente) ha una struttura di dati molto specifica per cose come permessi, quale programma è assegnato per aprire questo file, data di creazione, data di modifica, tag, commenti di file, icona e altro metadati. Noterai anche che le stesse proprietà non verranno visualizzate nell'altro sistema operativo. (La data di creazione di IE potrebbe indicare che era nell'1 / 1/1990 e altri metadati non sono accessibili dall'altro sistema operativo. Ogni volta che si utilizza una macchina che scrive da HFS a NTFS o FAT32 insieme a una macchina che scrive FAT32 nativo o NTFS questi. o ._ insieme ai file dell'archivio DS verranno visualizzati. Mostra l'accordo del sistema operativo con il fattore di incompatibilità dei vari elementi sopra che non sono coerenti. Quindi probabilmente vorrai tenere questi file in giro se stai passando avanti e indietro tra il sistema operativo " s per usare questi file. Se si utilizza solo un sistema operativo o l'altro, assicurarsi di avere il supporto (disco rigido, scheda SD, ecc.) Formattato correttamente o di disporre di un driver che consenta al sistema operativo di scrivere nel formato dell'unità non nativo nel sistema operativo. (Questi sono disponibili sia per OSX che per consentire la scrittura di file NTFS e FAT32 utilizzando le proprietà native e per Windows 7 e 8 per scrivere su unità HFS + & EXFat (linux) utilizzando le proprietà native.) Non sono gratuiti, ma se si fare un sacco di avanti e indietro taglia i dati duplicati in eccesso ingombrando l'unità.


-1

Puoi eliminarli tramite FileZilla o un file manager simile.


Non sono sicuro del motivo per cui questo è stato annullato poiché la maggior parte delle risposte votate non fornisce nemmeno una soluzione. Questa è secondo me la soluzione più semplice ... Poiché ._ e .DS_Store sono file relativi al Finder, la soluzione ovvia è quella di evitare il finder. Personalmente preferisco usare Transmit, ma Filezilla è un'ottima alternativa gratuita.
Bryan Willis,

3
Non ho espresso il mio voto negativo, ma è un suggerimento indesiderabile e manca l'intenzione della domanda che richiede prevenzione piuttosto che cura. Chi vuole passare metà del tempo a cancellare questi file che continuano a essere generati? D: "Cosa devo fare per il problema dei rifiuti della nostra città?" A: "Raccoglilo e mettilo nel cestino, duh."
Sridhar Sarnobat,

-1

Ho usato il seguente metodo per semplicità. * eliminazione file prefisso su unità flash: rimuovere l'unità flash dal computer Apple, inserirla in un computer Windows, cercare ". *. *" nell'unità flash , quindi quando la ricerca visualizza i file con il prefisso ._, eliminarli. Non elimino mai i file .Trash o .DS Store. Finora nessun problema. Spero di non causare un problema futuro per me stesso.


1
Cancellazione manuale? Proprietà di un computer Windows quando sei un utente Mac? So che stai solo documentando ciò che funziona per te, ma non riesco a immaginare nessuno che segua il tuo metodo.
Sridhar Sarnobat,

-1

Sì, alcuni di noi hanno un uso sia per Mac che per macchine Windows, e io usavo quel metodo. E se hai una USB con un sacco di file .jpg che vuoi riprodurre come una presentazione, devi sbarazzarti di quei fastidiosi file ._ per farlo. Dopo molte ricerche, ho trovato il modo di usare il mio mac per rimuovere i file ._:

utilizzando il terminale:

  • ls -a elencherà tutti i file, incluso quello che inizia con ._
  • per rimuovere un solo file dalla directory: rm -rf ._whateveryourfilenameis.jpg
  • per rimuovere tutti i ._file:rm -rf ._*
  • rimuovere le directory indesiderate tra cui .Trashes :rm -r .Trashes*

Ho pulito il mio USB per usarlo come ingresso TV


-2

Fai attenzione quando elimini ._ relativo a Git, Visual Studio e Xcode! Ho un'app con molti file .mov e immagini e questi file "._" si sono mostrati impegnati. Li ho cancellati tramite le modifiche di Visual Studio Team Explorer e in qualche modo quella cartella del progetto si è gonfiata da circa 500 MB a 40 GB senza aggiungere file ... non sono ancora sicuro di cosa sia successo esattamente, ma suppongo che fosse correlato all'eliminazione di quei file, quindi ogni commit viene memorizzato nella cache ogni .mov e immagine più volte prima che prendessi piede. Ho visto ogni .mov e .png ripetuti 20-30 volte quando in Finder> Tutti i file.

Aggiungi "._ *" al tuo file .gitignore e non verranno visualizzati come file modificati quando usi TFS per il tuo progetto Xcode iOS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.