如何停止在 Mac 上创建 .DS_Store? [关闭]

Posted

技术标签:

【中文标题】如何停止在 Mac 上创建 .DS_Store? [关闭]【英文标题】:How to stop creating .DS_Store on Mac? [closed] 【发布时间】:2013-08-02 11:37:48 【问题描述】:

我在 mac 上开发网站,每次我创建一些文件夹(或该文件夹中的文件)时,都会在该文件夹中创建 DS_Store。

如何防止创建 .DS_Store 文件?

【问题讨论】:

不喜欢 :) 我应该使用什么比? @Croios 终端 + VIM 这是一个没有真正替代方案的评论 - 理论上你可以只使用终端或其他工具,例如编辑器(或者我认为路径查找器是一个文件浏览器),但实际上你被这些文件卡住了 忽略版本控制系统中的文件 这个问题似乎离题了,因为它是关于 Apple 硬件和软件的 - 最合适的是 Ask Different。 【参考方案1】:

请安装http://asepsis.binaryage.com/ 然后重启你的mac。

ASEPSIS 将您 Mac 上的所有 .DS_Store 重定向到 /usr/local/.dscage

之后,您可以从 Mac 中递归删除所有 .DS_Store。

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

您应该在每次主要的 Mac 更新后重复此过程。

【讨论】:

注意 Mac OSX 10.10 您应该升级 Xcode 命令行工具,然后在终端中手动运行,如 root 或使用 sudo 执行以下命令 xcrun --find codesign。手动接受许可条款和协议,您可以继续无菌安装 每次系统升级后需要重新安装最新版本。 “Asepsis 实现了一个系统范围的守护进程 asepsisd,其目的是监视系统范围的文件夹重命名(或删除)并在前缀文件夹中镜像这些操作”这是写在 Asepsis 的页面上的。真的需要递归删除 .DS_store 文件吗? "请安装无菌" 请你给我看一些 bash 命令,以便我可以将这些命令复制并粘贴到我的 shell 中? 仍有一种方法可以让无菌操作在 El Capitan 下工作。我在这里记录了这些步骤:pixelcog.com/blog/2016/disable-ds_store-in-el-capitan【参考方案2】:

注意“Asepsis 不再处于积极开发中,并且在 OS X 10.11 (El Capitan) 及更高版本下得到支持。”


这是您的选项comprehensive review。 Asepsis(提到的第二个解决方案)似乎是您正在寻找的,它将 .DS_Store 创建重新路由到统一缓存,而不是位于每个文件夹中。

【讨论】:

万一链接坏了,该站点上列出的两个最有可能的选项是 Asepsis(重定向创建的文件)和 DeathToDSStore(阻止文件创建,禁用某些 Finder 功能),这两个选项都有描述在此页面上的答案中。其他选项处理网络驱动器和外部驱动器 - 两者都只能解决部分问题。 @emmanuel:这确实包括基本部分:程序的名称和它为解决问题而提供的特定功能。【参考方案3】:

可以使用mach_inject。看看Death to .DS_Store

我发现用一个覆盖 HFSPlusPropertyStore::FlushChanges() 根本什么都不做的功能,成功地阻止了创建 .DS_Store 文件在 Snow Leopard 和 Lion 上的数量。

DeathToDSStore source code

注意:在 10.11 上,您不能将代码注入系统应用程序。

【讨论】:

请你提供一些 bash 我可以复制并粘贴到我的 shell 中。这个解决方案需要大量参与文献。 你可以使用DeathToDSStore.app 2019有解决方案吗?由于 DeathToDSStore 似乎不再适用于最新的 MacOS... @JKL 我不知道任何可行的解决方案。【参考方案4】:

打开终端。执行这个命令:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

要么重新启动计算机,要么注销并重新登录用户帐户。

更多信息:

https://support.apple.com/en-us/HT208209

【讨论】:

仅适用于网络文件系统 更新链接:support.apple.com/en-us/HT208209【参考方案5】:

将以下行放入您的“.profile”文件中。

打开.profile文件并复制这一行

find ~/ -name '.DS_Store' -delete

当您打开终端窗口时,它会自动为您删除您的 .DS_Store 文件。

【讨论】:

在登录时运行它会减慢速度,所以我只是做了这个别名:alias nomore='find ./ -iname .DS_Store -delete' 哇。这么好的主意。不是。 [/irony off] 想象一下有很多文件夹和很多 .DS_Store 文件,想象一下每次你的 shell 启动时都会遍历所有匹配 .DS_Store 的文件。我知道这个问题很老,但我认为应该写成这不是一个好主意。 那么,[/irony off] 是关闭你的讽刺还是结束你的讽刺让它打开? 这是在 mac 搜索磁盘上数百个 K 文件时消磨(生产)时间的好方法。【参考方案6】:

当您选择系统显示隐藏文件时,此文件开始出现: $defaults write com.apple.finder AppleShowAllFiles TRUE 如果你运行这个命令消失 $defaults 写入 com.apple.finder AppleShowAllFiles FALSE 使用终端

【讨论】:

问题是如何阻止文件被创建,而不是如何隐藏它们。【参考方案7】:

功能

find ~/ -name '.DS_Store' -delete

,暂时删除了 .DS 存储文件。但我不确定文件是否会回到 Mac 上。 我还注意到一些奇怪的东西,“DS_Store”在安装“ATOM”后开始进入 Mac。因此,请确保在安装第三方软件之前正确扫描它们。 最好的

【讨论】:

.DS_Store 文件由 OSX Finder 创建 问题询问如何停止创建文件。这个答案是如何删除它们。此外,ATOM 不会创建文件。 Finder 应用程序在访问文件夹时创建它们以存储图标位置、文件夹的选定视图、背景图像等。DS_Store,DS 是桌面服务。【参考方案8】:

如果您希望.DS_Store 文件不可见(它们仍然存在但看不到),请在“终端”窗口中运行以下命令:

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

这会将系统默认设置为停止在您的桌面和其他地方显示这些文件。它还将重新启动 Finder 以使此更改可见(尤其是在您的桌面上)。

【讨论】:

这不是回答所提出的问题。 隐藏隐藏文件的显示并不会删除 .DS_Store 文件的创建,这是被问到的问题。这是一个糟糕的答案。 问题询问如何停止创建文件。此解决方案仅在 Finder 中隐藏它们(和其他文件)。

以上是关于如何停止在 Mac 上创建 .DS_Store? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

.DS_Store 文件是什么?Mac下面如何禁止.DS_Store生成

Mac 删除 .DS_Store 且不再生成

Mac中Git如何忽略.DS_Store文件

mac 上面 git 要忽略掉 .DS_Store

在Mac系统中遇到.DS_Store 文件怎么彻底删除

.DS_Store文件泄漏