Чому створені файли підкреслення ._ і як я можу їх уникнути?


156

Я використовую різні операційні системи на різних машинах у різних місцях. Я використовую флеш-диск USB, щоб зберігати файли (вихідні коди тощо).

Я новачок у Mac OS X, і тепер я розумію, що існує безліч файлів, створених з ._префіксом підкреслення .

Запитання

Чому створюються ._файли?

Яке їх призначення?

Як я можу їх уникнути?


2
Мені теж їх не подобається, але я навчився мирно співживати з ними.
boehj

1
Якщо флешка відформатована у форматі HFS +, це повинно придушити створення ._файлів, але я не знаю, які варіанти існують у ваших не визначених інших операційних системах для зчитування томів HFS +.
Даниїл


Не ідеально, але ls --ignore="._*"як псевдонім або прив'язка клавіш проходить довгий шлях.
Шрідхар Сарнобат

Відповіді:


107

Ви не можете їх уникнути (але дивіться відповідь dot_clean від Саїда Зебардаста - їх можна видалити з каталогу, якщо це те, що вам потрібно). Вони створені для зберігання інформації про файли, яка в іншому випадку перетвориться на розширений атрибут на HFS + (Apple native) або Unix / UFS томах; у попередній Mac OS це буде вилка ресурсу. Операції з файлом Finder створюватимуть їх автоматично для зберігання інформації про іконки, плюс Time Machine зберігає деяку інформацію в них, тому якщо ви скопіюєте файл, створений із резервної копії через TM, ця інформація також буде скопійована.

(Це нічого нового; я помітив, що XP і пізніше також залишають різні коси, хоча і не дуже багато.)


48
Я згоден, "turd" - це точний опис :)
Drahcir

2
Я помітив, що мій Mac залишає косинки на моєму сервері linux samba, коли я використовую кольорові мітки (використовуючи Path Finder 7). Існує файл ._ <coloreditem> для кожного кольорового елемента.
Джонатан Комар

5
У нас така ж ситуація на нашому файловому сервері linux Samba на роботі. Оскільки нам не потрібні кольорові метадані для файлів, ми використовували параметри veto files = /._*/та delete veto filesнаші параметри, smb.confщоб запобігти створенню таких файлів. Замість цього ми залишаємо .DS_STOREфайли такими, якими вони є, оскільки вони корисні для встановлення сортування файлів, і є лише один з них для кожного dir.
Герлос

5
Принаймні, у Windows ви можете вимкнути це!
totymedli

7
Запропоновано використовувати "черепашки" для опису цього.
Джордж П

60

Ви можете використовувати команду dot_clean для видалення або об'єднання файлів ._:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Якщо ви переміщаєте файли в Linux або Git Bashна вашому ПК і маєте доступ до findкоманди, ви також можете це зробити:

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

І вони пішли!


3
Інші відповіді насправді не відповідають "Як я можу їх уникнути?" частина. Це робить. Дякую!
Кулак Ніндзя

10
З 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.Ця команда не просто видаляє певні крапкові файли, вона може замінити попередні / нативні атрибути для кожної папки. Використовуйте обережно.
Вільям Істед

26

Призначення файлів .DS_Store та ._

http://diigo.com/0qiwp для поясненого перегляду http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html, де Метт Детірадж ( колишній інженер Apple ) пропонує пояснення. Також арнотифікуйте »Про витоки .DS_Store  (2006-10-01).

Оскільки я бачив втрату даних користувачів (вміст документа), коли ._аналоги запобіжені або втрачені, я погоджуюся, що це:

  • Неприпустимо, щоб речі «зникали в ефір».

Призначення файлів ._

Окрім цілей, викладених у прийнятій відповіді geekosaur , ось декілька прикладів того, як Apple та сторонні програми застосовують або вимагають ._ у деяких ситуаціях…


Файловий бізнес під час копіювання Finder

Дивіться мою відповідь на запитання щодо переповнення стека.


Використання NeoOffice застарілих кодів

Код типу HFS NO%Fбез коду творця:

  • використовувати обережно, лише де це доречно.

Приклад NeoOffice 1

NeoOffice 3.2.1 Патч 5 зберегти в 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 2

NeoOffice 3.2.1 Патч 5 збережіть на флеш-накопичувачі USB за допомогою MS-DOS FAT32, прибираючи BlueHarvest:

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

Приклад 3 NeoOffice

NeoOffice 3.2.1 Патч 5 зберегти до обсягу, встановленого OS X з типом файлової системи webdav, а не SharePoint, очищення 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% 
  • збереження NeoOffice у webdavфайловій системі не передбачало розширеного атрибута
  • BlueHarvest не потрібно.

Підказка : якщо Microsoft Office не webdavзможе зберегти в Microsoft SharePoint (див. Нижче), NeoOffice досягає успіху.


Microsoft використовує застарілі коди

Сама остання версія офісу вимагає в код типу HFS і HFS код творець , коли формат , такий як Microsoft Word ( .docx) буде обраний. Отже - здається, що при збереженні у файловій системі, яка не підтримує ці значення в com.apple.FinderInfoрозширеному атрибуті:

  • Microsoft Office не може надійно економити без створення декількох ._файлів.

Приклад Microsoft 1

Word 2011 14.2.1 зберегти в томі, встановленому OS X з типом файлової системи webdav, а не SharePoint, очищення 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.

Приклад 2 Microsoft

Word 2011 14.2.2 (120421) збереження example.docxв одному середовищі:

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

Приклад Microsoft 3

Word 2011 14.2.2 (120421) збереження another.docxв тому ж середовищі, закриття та повторне відкриття, редагування, а потім збереження, редагування та закриття та збереження:

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.

Підказка : Microsoft Office 2011 не вдається зберегти в Microsoft SharePoint, коли тип файлової системи є webdavтим, що SharePoint не підтримує імена файлів, починаючи з крапки .(періоду). Див. Запитувати різні відповіді на те, чи можна монтувати SharePoint як об'єм у 10.6?


Типи та коди творців: фон, Apple Developer

Більше десятиліття тому Apple почала заохочувати сторонніх розробників від типів кодів та кодів творців. У Додатку B до Посібника з програмування файлової системи, Типи файлів та Коди творців вказується, що коди:

як правило, застарілі, ви можете бачити їх у застарілих файлах та додатках та в деяких місцях системи.



10

Ці файли створені операційною системою для прискорення пошуку, збереження метаданих (даних, що використовуються ОС) про налаштування папок тощо. У Windows і OS X є такі файли. Далі, опис цих файлів, витягнутих з http://annoying-file-be-gone.snack.ws/faq.html :

.DS_Store- Файл в операційній системі Apple OS X для зберігання призначених для користувача атрибутів папки , таких як положення іконок або вибір фонового зображення (Читати докладніше )

.Spotlight-V100- Цей файл містить інформацію для прискорення функції "Прожекторного прожектора". Видалення просто примусить повторно індексувати цю інформацію, якщо ви здійснили інший пошук у центрі уваги для елемента в цій папці.

.apDisk - Цей файл містить інформацію про спільні папки і його можна безпечно видалити, оскільки він буде автоматично створений, якщо Apple потребує цього.

.VolumeIcon.icns- Цей файл використовується для зберігання піктограми гучності (USB-пристрою), якщо для гучності використовується спеціальна піктограма, а не піктограма за замовчуванням. Якщо ви хочете, щоб пристрій продовжував використовувати цю піктограму за замовчуванням, або якщо папка / пристрій, який ви бажаєте очистити, містить додаток, можливо, ви захочете зберегти цей файл у вашій системі. Як бічна примітка, якщо ви хочете створити спеціальний значок для свого пристрою, ви можете створити / завантажити .icnsфайл та перейменувати його .VolumeIcon.icnsта розмістити у своїй папці / пристрої.

.fseventsd- Цей файл використовується як буфер для демона подій файлової системи. Якщо ви використовуєте програму, яка контролює цю папку / пристрій, цей файл може використовуватися для зберігання тимчасових даних.

.Trash& .Trashes- Ці папки використовуються для зберігання видалених елементів так само, як працює значок "Кошик" із док-станції. Якщо вам не потрібна ця функція у вашій папці / пристрої, ви можете очистити цю папку, щоб заощадити місце.

.TemporaryItems- Цей файл використовується ОС для зберігання тимчасових даних під час копіювання / переміщення / додавання файлів. Якщо ви запускаєте будь-які програми, які мають доступ до папки / пристрою, який ви хочете очистити, і ви не копіюєте та не переміщуєте жодні файли, то цей файл може просто зберігати старі дані для кешування.


7

Щоб мінімізувати наявність підкреслених файлів на дисках, що не форматуються HFS +, ви можете скористатися панеллю переваг BlueHarvest .


3
BlueHarvest - чудовий продукт, але деякі відгуки сторонніх осіб вводять в оману. Результати тестування показують, що створення не заважає; що створення дозволено, і відповідно до уподобань користувача BlueHarvest може очистити частину створеного.
Грем Перрін

5

це питання, як говорить @geekosaur, і його важко уникнути, якщо ви використовуєте інструменти для файлів Apple.

Однак якщо ви використовуєте лише інструменти командного рядка та деякі сторонні інструменти та ніколи не записуєте на USB за допомогою Finder, вони не будуть створені.


Поведінка не обмежується програмним забезпеченням Apple. Приклад: Microsoft Office 2011 вимагає ._файлів під час збереження у файлових системах, які не підтримують коди типу HFS та коди творців.
Грем Перрін

5
@GrahamPerrin - Я мав на увазі файлові інструменти Apple для копіювання тощо - так, будь-яке додаток, що використовує форк-файли (тобто бібліотеки Apple), матиме їх. Якщо ви використовуєте інструменти, які просто використовують бібліотеки файлів BSD, тоді файлів немає _.
користувач151019

3

Використовуйте find . -name "._*" -type fдля подачі файлів з локального шляху та використовуйте find . -name "._*" -type f -deleteдля видалення всіх файлів.


Ласкаво просимо до "Запитайте різних" Хоча у вашій відповіді показано, як видалити файли, вона не відповідає на те, чому, чого та як цього уникати в ОП.
bjbk

@bjbk Ця відповідь розповідає про те, як видалити файли, як і високовідхилена відповідь Саїда Зебардаста. Я погоджуюся, жоден із насправді не звертається до уваги, як їх уникнути , а також чому вони з'являються.
LarsH

1

Це дуже просто, NTFS (поточна Windows) FAT32 (стара Windows) має дуже специфічну структуру даних для таких речей, як дозволи, яка програма призначена для відкриття цього файлу, дати створення, модифікованої дати, тегів, коментарів до файлів, значка та іншого метадані. Ви також помітите, що ті ж властивості не відображатимуться в іншій ОС. (Дата створення IE може сказати, що це було в 1.01.1990 р., А інші метадані не доступні для іншої ОС. Кожного разу, коли ви використовуєте як машинне записування з HFS на NTFS, так і на FAT32 разом з машиною, записуючи їх власними FAT32 або NTFS. або ._ файли разом з файлами магазину DS відображатимуться. Це відображає справу ОС з коефіцієнтом несумісності різноманітних елементів, наведених вище, які не є несуперечливими. Отже, ви, мабуть, хочете зберегти ці файли, якщо перемикаєтесь назад і назад між ОС ' s, щоб використовувати ці файли. Якщо ви використовуєте лише одну ОС або іншу, переконайтеся, що ви маєте належний формат носія (жорсткий диск, sd-карта тощо) або маєте драйвер, який дозволяє вашій ОС записувати у формат диска, який не є вашим ОС. (Вони доступні для обох OSX, щоб вони могли записувати файли NTFS & FAT32 за допомогою властивостей Native, а для Windows 7 і 8 писати на диски HFS + & EXFat (Linux) за допомогою власних властивостей.) Вони не вільні, але якщо ви зробіть багато назад і вперед, це вирізає зайві дублікати даних, захаращуючи диск.


-1

Ви можете видалити їх через FileZilla або подібний менеджер файлів.


Не впевнений, чому це було знято, оскільки більшість схвалених відповідей навіть насправді не дає рішення. На мою думку, це найпростіше рішення ... Оскільки ._ і .DS_Store - це файли, пов'язані з Finder, очевидним рішенням є уникати пошуку. Особисто я вважаю за краще використовувати Transmit, але Filezilla - чудова безкоштовна альтернатива.
Брайан Вілліс

3
Я не заявив, що це є небажаною пропозицією і упускає намір питання, яке просить запобігти, а не лікувати. Хто хоче витратити половину свого часу на видалення цих файлів, які постійно створюються? Питання: "Що мені робити з проблемою засмічення нашого міста?" Відповідь: "Візьміть його і покладіть у відро, ага".
Шрідхар Сарнобат

-1

Я легко використовую наступний метод. * Усунення префіксальних файлів на флеш-накопичувачах: Видаліть флешку з комп'ютера Apple, вставте в машину Windows, пошукайте на флешці ". *. *", а тоді, коли пошук відображатиме файли з префіксом ._, видаліть їх. Я ніколи не видаляю .Trashes або .DS Зберігайте файли. Поки жодних питань. Я сподіваюся, що я не завдаю собі проблем у майбутньому.


1
Видалення вручну? Власність на комп'ютер Windows, коли ви користуєтеся Mac? Я знаю, що ти просто документуєш те, що працює для тебе, але я не можу уявити, щоб хтось дотримувався твого методу.
Шрідхар Сарнобат

-1

Так, деякі з нас використовують як для Macs, так і для Windows-машин, і я використовував цей метод. І якщо у вас є USB з купою .jpgs, які ви хочете відтворити як слайд-шоу, вам доведеться позбутися цих примхливих файлів ._, щоб це зробити. Після довгого пошуку я знайшов спосіб використовувати свій Mac для видалення файлів ._:

за допомогою терміналу:

  • ls -a буде перераховано всі файли, включаючи той, з якого починається ._
  • щоб видалити лише один файл із каталогу: rm -rf ._whateveryourfilenameis.jpg
  • щоб видалити всі ._файли:rm -rf ._*
  • видалити небажані каталоги, включаючи .Trashes :rm -r .Trashes*

Очистив USB-диск прямо для використання в якості телевізійного входу


-2

Будьте обережні при видаленні ._, пов’язаних з Git, Visual Studio та Xcode! У мене є додаток з великою кількістю .mov та зображень, і ці "._" файли виявились виконаними. Я видалив їх за допомогою змін у програмі Visual Studio Team Explorer і якось ця папка проекту розгорнулася від 500 Мб до 40 Гб, не додаючи файли ... все ще не впевнений, що саме сталося, але я здогадуюсь, що це було пов’язано з видаленням цих файлів, так що кожен прихильний вміст кешований кожен .mov та зображення декілька разів, перш ніж я пішов на. Я бачив кожного .mov і .png повторювався 20-30 разів, коли в Finder> All Files.

Просто додайте "._ *" у свій .gitignore файл, і вони не відображатимуться як змінений файл при використанні TFS для вашого проекту iOS Xcode.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.