Як зупинити створення .DS_Store на Mac? [зачинено]


163

Я розробляю сайти на mac і кожен раз, коли я створюю якусь папку (або файл у цій папці) .DS_Store створюється в цій папці.

Як запобігти створенню .DS_Store файла?


Не подобається :) Що я повинен використовувати?
iWizard

1
Термінал @CroiOS + VIM
Грег

Це був коментар як реальна альтернатива - теоретично ви можете використовувати лише термінал або інші інструменти, наприклад, редактори (або я вважаю, що Path Finder як браузер файлів), але на практиці ви застрягли в цих файлах
мммммм

7
Просто ігноруйте файл у вашій системі управління версіями
milimoose

4
Це питання видається поза темою, оскільки йдеться про апаратне та програмне забезпечення Apple - найкраще відповідатиме питання Ask Different.
Dan J

Відповіді:


36

Це можливо за допомогою Mach_inject . Поглянь на Смерть до .DS_Store

Я виявив, що перекриття HFSPlusPropertyStore :: FlushChanges () з функцією, яка просто нічого не робила, успішно перешкоджала створенню файлів .DS_Store як на Snow Leopard, так і на Lion.

DeathToDSStore вихідний код

ПРИМІТКА. 10.11 не можна вводити код у системні програми.


Підкажіть, будь ласка, трохи башту, який я можу скопіювати і вставити в свою оболонку. Це рішення вимагає зовсім небагато взаємодії з літературою.
samthebest

4
Ви можете використовувати DeathToDSStore.app
Parag Bafna

Чи є рішення на 2019 рік? Оскільки DeathToDSStore, здається, більше не працює над останніми MacOS ...
JKL

@JKL Я не знаю жодного робочого рішення.
Параг Бафна

44

Установіть http://asepsis.binaryage.com/ та перезавантажте комп'ютер.

ASEPSIS перенаправляє всі .DS_Store на вашому комп'ютері на /usr/local/.dscage

Після цього ви можете рекурсивно видалити всі .DS_Store зі свого mac.

find ~ -name ".DS_Store" -delete
or
find <your path> -name ".DS_Store" -delete

Ви повинні повторити процедуру після кожного основного оновлення Mac.


1
Примітка для Mac OSX 10.10 слід оновити інструменти командного рядка Xcode і після цього вручну запустити в термінал типу root або з sudo наступну команду xcrun --find codeign. Вручну прийміть Ліцензійний термін та угоду, і ви можете продовжити встановлення
асепсису

Після кожного оновлення системи потрібно перевстановити останню версію.
myset

1
"Asepsis реалізує загальносистемний демон asepsisd, метою якого є відстеження перейменовань (або видалення) загальносистемної системи та відображення цих операцій у папці префікса" Це було написано на сторінці Asepsis. Чи дійсно потрібно рекурсивно видаляти файли .DS_store?
vanguard69

"Будь-ласка, встановіть asepsis" Будь ласка, чи не могли б ви показати мені кілька команд bash, щоб я міг просто скопіювати та вставити їх у свою оболонку?
samthebest

3
Є ще спосіб змусити Асепсіса працювати в Ель-Капітані. Я задокументував кроки тут: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling

41

ПРИМІТКА : "Asepsis вже не знаходиться в активному розвитку і підтримується в ОС X 10.11 (El Capitan) і пізніших версій."


Ось вичерпний огляд ваших варіантів. Асепсис (згадане друге рішення), здається, саме те, що ви шукаєте, він перенаправляє створення .DS_Store створення в єдиний кеш, а не розташований у кожній папці.


6
Якщо посилання колись погана, два найбільш вірогідні варіанти, перелічені на цьому веб-сайті, є Asepsis (переспрямовування створених файлів) та DeathToDSStore (запобігає створенню файлів, відключенню деяких функцій Finder), обидва з яких описані у відповідях на цій сторінці. Інші варіанти стосуються мережевих накопичувачів та зовнішніх накопичувачів - обидва вони вирішують лише частину проблеми.
шавлія

1
@emmanuel: Це дійсно включає в себе основні частини: назва програми і функцію конкретної вона забезпечує , щоб вирішити цю проблему.
Натан Туггі

23

Відкритий термінал. Виконайте цю команду:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Перезавантажте комп'ютер або вийдіть із системи та поверніться до облікового запису користувача.

для отримання додаткової інформації:

http://support.apple.com/kb/ht1629


44
стосується лише мережевих файлових систем
Девід П. Колдвелл

2

Помістіть наступний рядок у файл ".profile".

Відкрийте файл .profile і скопіюйте цей рядок

find ~/ -name '.DS_Store' -delete

Коли ви відкриєте вікно терміналу, він автоматично видалить ваш .DS_Store файл для вас.


9
Запуск цього при вході сповільнив справи, тому я щойно зробив цей псевдонім:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder

6
Ого. Така гарна ідея. Ні. [/ іронія вимкнено] Уявіть, що у вас є багато папок та багато файлів .DS_Store, і уявіть, що всі файли відповідають .DS_Store щоразу, коли ваша оболонка запускається. Я знаю, що це питання давнє, але я думав, що слід написати, що це не дуже гарна ідея.
thonixx

3
Отже, чи [/ іронія вимкнеться] відключення вашої іронії чи припинення іронії виключення змушення її включення?
Коннор

Це прекрасний спосіб вбити (продуктивний) час, поки mac шукає сотні K файлів на диску.
javadba

-7

цей файл починає з'являтися, коли ви вибираєте, система показує вам приховані файли: $ за замовчуванням пишіть com.apple.finder AppleShowAllFiles ІСТИНА Якщо ви запускаєте цю команду, відключіть $ дефолти, напишіть com.apple.finder AppleShowAllFiles FALSE Використовуйте термінал


2
Питання задає питання, як зупинити створення файлів, а не як їх приховати.
Стів Бузонас

-7

функція

find ~/ -name '.DS_Store' -delete

, тимчасово видалено файли .DS. Але я не впевнений, чи повернуться файли на Mac. Також я помітив щось своєрідне, "DS_Store" починає надходити на Mac після встановлення "ATOM". Отож, хлопці, переконайтеся, що перед тим, як їх встановити, правильно скануйте програмне забезпечення сторонніх виробників. Найкраще


5
Файли
.DS_Store

1
Питання задає питання, як зупинити створення файлів. Ця відповідь полягає в тому, як їх видалити. Крім того, ATOMце не створення файлів. FinderДодаток створює їх при відвідуванні папки для зберігання значків позицій, обраний вид папки, фонове зображення і т.д. DS_Store, DS є Desktop Services.
Стів Бузонас

-12

Якщо ви хочете, щоб .DS_Storeфайли стали невидимими (вони все ще існують, але їх не можна побачити), виконайте наступну команду у вікні "Термінал":

defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder

Це встановить систему за замовчуванням для припинення показу цих файлів на робочому столі та в інших місцях. Він також перезапустить Finder, щоб зробити цю зміну видимою (особливо на робочому столі).


5
Це не відповідає на поставлене запитання.
ніхто

Приховування показу прихованих файлів - це не видалення створення .DS_Store файлів, що є питанням, яке було задано. Це страшна відповідь.
MattBoothDev

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