如何停止在 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? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章