macOS Finder 高级设置与命令行优化技巧

文章发布时间:

最后更新时间:

文章总字数:
1k

页面浏览: 加载中...

显示隐藏文件

使用Shift + ⌘Command + .组合键

1
2
3
4
# 开启
defaults write com.apple.finder AppleShowAllFiles -bool true
# 关闭
defaults write com.apple.finder AppleShowAllFiles -bool false

单独显示与隐藏某文件夹

1
2
3
4
# 显示
chflags nohidden ~/Library/
# 隐藏
chflags hidden ~/Library/

直接前往隐藏文件夹

快捷键Shift + ⌘Command + G
可以直接前往对应路径

标题栏显示完整路径

1
2
3
4
# 开启
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# 关闭
defaults write com.apple.finder _FXShowPosixPathInTitle -bool false

避免在网络/USB 卷上写入 .DS_Store

1
2
3
4
# 网络卷不写入 .DS_Store
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
# USB/外置卷不写入 .DS_Store
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

修改截屏保存路径

1
defaults write com.apple.screencapture location ~/Pictures/Screenshots

Finder 菜单启用“退出 Finder”(添加 ⌘Q)

1
2
3
4
# 在 Finder 菜单中显示“退出 Finder”
defaults write com.apple.finder QuitMenuItem -bool true
# 隐藏
defaults write com.apple.finder QuitMenuItem -bool false

设定全局默认视图样式(列表/图标/分栏/画廊)

1
2
# 可选:Nlsv=列表,icnv=图标,clmv=分栏,Flwv=画廊(10.15+)
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"

AirDrop 显示所有接口(旧机型/以太网等)

1
2
# 让 AirDrop 通过所有可用接口广播/发现
defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true

挂载可移动磁盘时自动打开 Finder 窗口

1
2
# 插入U盘/移动硬盘后自动弹出窗口
defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true

重启 Finder

完成上述开启或关闭后使用killall Finder来重启Finder才能查看效果

1
killall Finder

同理,将 Finder 换成 Dock 即可重启 Dock

1
killall Dock

关闭长按输入特殊字符

默认情况下,长按一个键会弹出特殊字符选择菜单(例如长按 e 会出现 é, ê 等)。如果你希望长按时连续输入该字符,可以使用以下命令:

1
defaults write -g ApplePressAndHoldEnabled -bool false

绕过公证与移除隔离属性

当您从互联网下载应用时,macOS 的安全机制 Gatekeeper 会为该文件附加一个隔离属性(com.apple.quarantine)。这会触发系统在首次打开应用时进行验证,如果应用未经苹果公证,您可能会看到“无法打开‘应用名称’,因为开发者无法验证”的警告,或者应用直接闪退。

为了绕过这个限制,您可以使用 xattr 命令来移除应用的隔离属性。

方法一:移除已安装应用的隔离属性

对于已经移动到“应用程序”文件夹(/Applications)的应用,可以使用以下命令:

1
sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app
  • sudo: 以管理员权限执行命令,需要输入您的登录密码。
  • xattr: 用于操作文件的扩展属性(extended attributes)。
  • -r: 递归操作,确保应用包(.app)内的所有文件和子目录的扩展属性都被处理。
  • -d: 删除指定的扩展属性。
  • com.apple.quarantine: 隔离属性的名称。
  • /Applications/xxxxxx.app: 您要操作的应用的完整路径。请将其替换为实际的应用名称。

方法二:在当前目录移除应用隔离属性

如果您刚刚下载并解压了一个应用,并且它还在当前文件夹(例如“下载”文件夹)中,可以使用此命令。这通常是更快捷的方式。

1
sudo xattr -cr ./xxx.app
  • -c: 清除所有扩展属性,而不仅仅是 com.apple.quarantine。这更为彻底。
  • -r: 同样是递归操作。
  • ./xxx.app: 表示当前目录下的应用文件。请将其替换为实际的应用文件名。

总结:

  • 如果想精确地只移除隔离属性,并处理已安装的应用,使用 xattr -rd
  • 如果想快速处理当前目录下的新应用,并移除其所有可能导致问题的扩展属性,使用 xattr -cr 更为方便。

执行这些命令后,您应该就可以正常打开之前被系统阻止的应用了。

强制重签应用

在修改应用后出现闪退的情况,可能是需要应用进行重新签名

1
codesign --force --deep --sign - /Applications/xxxx.app

/Applications/xxxx.app 替换为实际的应用路径。

相关链接