如何通过手动终端卸载在 Mac OS X 中完全删除应用程序和软件

从 Mac OS X 手动删除应用程序和相关组件

Mac OS X 中的大多数应用程序都可以轻松卸载,方法是将它们从 /Applications/ 文件夹拖到废纸篓中,以及许多其他随附的卸载应用程序,这些应用程序将清理内部空间并完全删除应用程序。此外,还有适用于 Mac 操作系统的第三方实用程序可以让完全删除应用程序变得如此简单作为拖放。

另一种解决方案是完全手动删除一个应用程序和所有相关组件,这就是我们将在此处介绍的内容。

此过程方法技术性强得多,并且依赖于终端来完成完整的卸载过程。同样,这仅适用于高级用户,很少有必要以这种方式删除应用程序或应用程序组件。我们将把这些步骤分成几个部分,首先是找到应用程序和相关组件,这需要一定程度的知识和判断力来确定什么是相关的,什么不是,其次是实际删除相应的文件。如果您是专家级用户,对这种前景感到非常满意,并且您只想要一些可操作的命令,而不需要任何关于正在发生的事情和原因的解释,您可以跳转到下面的精简版.

如何在 Mac OS X 中查找应用程序/软件的所有组件

我们将使用终端和 mdfind,尽管 其他命令行搜索工具也可以用于此目的。使用的一般语法是以下带有 -name 标志* 的命令:

mdfind -name "应用程序名称"

*您也可以在不使用 -name 标志的情况下使用尽可能广泛的搜索,但您的结果可能不太准确,这是否有用取决于您

例如,要查找与 Teleport 相关的文件和组件,Teleport 是 Mac OS X 键盘和鼠标共享实用程序,用于通过一个键盘控制多台 Mac,您可以使用以下命令:

mdfind -name "传送"

这种广泛的搜索应该会返回 Mac 上与应用程序名称关联的所有内容——但这并不意味着您应该删除搜索返回的所有内容。仔细举例找到的所有内容,您可能需要调整搜索参数以确定您是否找到了应用程序和/或软件的所有必要组件。

一般来说,您正在寻找二进制文件、.app 文件和软件的剩余部分,例如 plist 文件、首选项、缓存、守护程序以及与 OS X 中的许多应用相关的其他附件文件和组件。应用程序组件可能出现在各种各样的位置,包括但不限于以下文件路径:

/Applications/[Application]
~/Applications/[Application]
~/Library/Application Support/[Application]
~/Library/Preferences/[Application]
~/Library/Caches/[Application]
~/Library/Containers/Application]
~/Library/LaunchAgents/Application]
~/Library/PreferencePanes/[Application]
~/Library/Saved Application State/[Ap​​plication]
~/Downloads/[Application]
/System/Library/LaunchDaemons/[Application]
/System/Library/LaunchAgents /[应用]

重申一下,这可能是也可能不是给定应用程序的相关文件存储位置的完整列表,这就是为什么要注意 mdfind 命令报告的内容很重要。如果您要完全卸载的是命令行实用程序,它可能在各种二进制文件夹中有组件,无论是 /usr/bin /usr/sbin 还是其他,

完全删除应用程序和残余应用程序组件

只删除适合删除的相关文件,对此没有统一的答案,因此您需要注意通过 mdfind 实用程序找到的文件。确保你确切地知道你要删除的是什么文件以及为什么要删除它——如前所述,这实际上是为具有 Mac OS X 高级知识的专家用户准备的——你不想不小心删除错误的东西.然后,您可以使用 rm 或 srm 命令,如果您不熟悉 rm 命令,它是不可逆的,因此请谨慎使用,否则您可能会无意中删除重要内容。

如果您对自己正在做的事情不是非常有信心,您至少应该 在继续之前备份 Mac,这是一个好主意,无论如何都要定期进行。

这是一个带有 sudo 前缀的 rm 示例,以允许管理权限,删除虚构位置的一些虚构文件(是的,这些是为了防止复制/粘贴和滥用功能强大的 rm 命令):

sudo rm -rif ~/Directory/Component/Removeme.pane
sudo rm -rif /TheLibrary/LaunchDaemons/sketchyd
sudo rm -rif /usr/sbin/crudrunner
sudo rm -rif ~/Download/sketchydaemon-installer.tgz

sudo rm -rif ~/.Tofu/Preferences/com.company.crudrunner.plist

这又是一个示例,“sudo rm -rif”组件是真实的,但没有目录或文件是真实的,这将完全取决于您使用 mdfind 找到的内容以及您确定应删除的内容。

通过终端在 OS X 中手动删除应用和组件:精简版

不耐烦?命令行专家并确切知道在哪里可以找到垃圾?这是精简版,没有解释——如果你不知道自己在做什么,请不要跳到这里:

  • 删除已知的应用程序文件
  • 启动终端并使用以下语法查找剩余组件
  • mdfind -name [应用程序名称]

  • 使用 rm 从系统位置删除相关文件:
  • sudo rm -rf /Whatever

  • 根据需要重复 mdfind 返回的相关组件文件

您还可以选择使用 Finder 从 GUI 中删除组件。 清除用户缓存文件 和其他 ~/Library/ 组件可通过 Finder 轻松完成OS X,而不特别推荐使用 GUI 在深层系统文件夹或 unix 目录(如 /usr/sbin/)中挖掘。此过程确实适用于删除捆绑的默认软件对于 Mac OS X,虽然没有非常令人信服的理由,但不推荐这样做。

如果您觉得上面有任何一项让您难以理解,那是因为这确实比普通 Mac 用户需要做的要先进得多。对于绝大多数 Mac 用户,最好求助于更传统的应用程序卸载方法,或者使用彻底的 < href="https://ipressx.com/delete-applications-mac-os-x-appcleaner/">应用程序卸载实用程序,如 AppCleaner,它是免费的,基本上执行相同的搜索过程,但通过自动图形用户界面。