macOS 问题与修复
.DS_Store 隐藏文件 .DS_Store(Desktop Services Store)文件是 macOS 系统自动生成的隐藏文件,它存在于 Finder 访问的每个文件夹中,用于存储有关文件…
.DS_Store 隐藏文件
.DS_Store(Desktop Services Store)文件是 macOS 系统自动生成的隐藏文件,它存在于 Finder 访问的每个文件夹中,用于存储有关文件夹的自定义属性和视图设置。如提交代码存在,可用 gitignore 忽略掉此文件。
._ 开头的隐藏文件
当您将文件复制到 U 盘等外部存储设备时,可能会发现生成了一些以 ._ 开头的隐藏文件。这些文件是 macOS 为了在不支持其文件系统特性的设备上保存文件的元数据(如资源分支、Finder 信息、扩展属性等)而创建的。
macOS 使用 AppleDouble 格式来存储文件的元数据。当您将文件复制到不支持 macOS 扩展属性的文件系统(如 FAT32、exFAT、NTFS)时,系统会将这些元数据分离出来,存储在一个以 ._ 开头的文件中,与原始文件并存。例如:en.wikipedia.orgreddit.com
- 原始文件:
example.jpg - 元数据文件:
._example.jpg
这些 ._ 文件在 macOS 上通常是隐藏的,但在 Windows 或其他设备上可能会显示出来,并可能被误认为是损坏的文件。
使用 dot_clean 命令
macOS 提供了一个名为 dot_clean 的命令行工具,用于合并或删除这些 ._ 文件。操作步骤如下:
- 打开“终端”应用程序。
- 输入以下命令
1dot_clean -mv /Volumes/SanDisk
- 按下回车键执行命令。
- 等待命令执行完成后,安全弹出 U 盘。
此命令会合并元数据到原始文件中,并删除多余的 ._ 文件。
已损坏,无法打开
打开 Finder 进入 Application 目录,找到该软件将其拖到终端窗口里并获取到文件路径,在拼接为命令运行
1sudo xattr -r -d com.apple.quarantine /Applications/attu.app
进入 Privacy & Security 允许运行
ComputerName、LocalHostName、HostName 区别
ComputerName(电脑名称) 用途:给人看的设备名称,显示在 Finder、隔空投送、系统设置等界面。 示例:Zailiang MacBook Pro 建议:使用可读性好的完整名称,可以包含空格。
LocalHostName(本地主机名) 用途:局域网(Bonjour/mDNS)名称,对应 xxx.local,用于 SSH、文件共享等。 示例:mbp → mbp.local 建议:使用简短、唯一的英文名称,只用字母、数字、连字符(-)。
HostName(主机名) 用途:系统级 hostname,会覆盖系统默认的主机名行为,主要用于服务器和企业环境。 示例:dev-server、prod-api-01 建议:个人 Mac 不要设置,保持未设置(Not Set)。
1scutil -–get ComputerName
2sudo scutil –set ComputerName "Zailiang MacBook Pro"
3scutil -–get LocalHostName
4sudo scutil -–set LocalHostName "mbp"
5# 恢复默认(推荐):
6sudo scutil -–set HostName ""
开启文件共享给 Windows
mac 配置
- 打开:系统设置 → 通用 → 共享
- 开启:文件共享(File Sharing),默认文件夹是
Public - 设置权限(右侧列表):你的用户 → 读与写(Read & Write)
- 点击选项(Options)→ 确保:✔ 使用 SMB ✔ 勾选 Zailiang,并输入密码
win 连接
-
在 Windows 里:
\\192.168.x.x然后输入用户名:Zailiang,密码:你的 Mac 密码 -
右击想映射的文件夹并映射为网络驱动器,驱动器盘符 mac 建议映射为
M: -
重命名驱动器名称,建议
Public
Termius 中本地终端中文显示乱码
export LANG=en_US.UTF-8
IDEA 全局搜索快捷键与 mac 快捷键冲突
IDEA 中使用 Shift+Command+F 全局搜索时,若选中文本则会调用 系统自己的访达搜索,解决办法:系统设置 - 键盘 - 键盘快捷键 - 服务 - 搜索 - 取消勾选聚焦
QuickTime Player 快捷键停止录制
按Control+Command+Esc键退出录制,或点击状态栏的停止录制按钮
压缩文件出现 __MACOSX 文件夹
__MACOSX 是一个特殊的隐藏文件夹,通常在 macOS 系统中的 Finder 中不可见,但在命令行界面或第三方文件管理器中可以看到。是在 mac 系统上压缩出来的文件,这个文件夹用于存储 macOS 文件系统元数据,以及某些应用程序的额外信息,尤其是那些使用 macOS 的元数据存储特性的应用程序。下载安装一个免费的第三方压缩软件压缩就行,如 Fastzip。
U 盘内生成的隐藏文件
- Trashes 文件夹
- 作用:
.Trashes是 macOS 用来存储外部存储设备(如 U 盘、移动硬盘、网络驱动器等)上被删除文件的 回收站。每当你从外部驱动器中删除文件时,这些文件会被放入.Trashes文件夹,直到你清空回收站。 - 出现原因:当你删除外部驱动器上的文件时,macOS 会将它们移动到
.Trashes文件夹,而不是直接从设备中删除。这是为了避免文件被误删除并且能够恢复。 - 如何避免:如果不希望这个文件夹出现在 U 盘中,可以在复制文件到 U 盘之前先清空回收站,或者在删除文件时使用
Shift + Command + Delete,强制彻底删除。
- 作用:
- .Spotlight-V100 文件夹
- 作用:
.Spotlight-V100是 Spotlight 搜索功能创建的文件夹。它用于存储与外部存储设备上的文件相关的索引数据,以便 macOS 能够快速地在该设备上进行文件搜索。Spotlight 是 macOS 的桌面搜索工具,它会为存储在外部驱动器上的文件生成索引,以便快速查找。 - 出现原因:当你将外部存储设备连接到 macOS 并开始使用 Spotlight 搜索时,macOS 会在设备上创建这个索引文件夹,保存文件的元数据。即使你没有显式搜索文件,Spotlight 也可能会主动建立索引。
- 如何避免:为了避免在外部设备上生成
.Spotlight-V100文件夹,可以在磁盘工具中禁用 Spotlight 对外部磁盘的索引(通过终端命令)。例如,使用以下命令禁用外部磁盘上的 Spotlight 索引:
- 作用:
1sudo mdutil -i off /Volumes/YourVolumeName
- ** .fseventsd 文件夹 **
- 作用:
.fseventsd是 macOS 文件系统事件的日志文件夹。它用于记录文件系统的变化(例如文件添加、删除、修改等)并用于系统的文件系统监控。这是 文件系统事件(File System Events)机制的一部分,帮助 macOS 在文件系统发生变化时进行跟踪和管理。 - 出现原因:每当你在外部存储设备(如 U 盘)上做文件操作时,macOS 会创建
.fseventsd文件夹,用于记录文件系统的事件。这有助于 macOS 系统能够同步文件和保持文件系统的完整性。 - 如何避免:你可以通过在终端禁用文件系统事件日志,但一般不建议这么做,因为这可能会影响系统的稳定性和文件系统的完整性。默认情况下,macOS 会自动管理这些文件。
- 作用:
- ._ 文件
- 作用:它们是 AppleDouble 格式的文件,它们用于存储与文件相关的 扩展属性(如文件的图标、权限、标签、注释等),这些信息在非 macOS 系统中是无法直接存储的。
- 出现原因:当你将文件从 macOS 拖拽到外部存储设备(如 U 盘)时,这些扩展属性(例如文件图标、标签等)无法直接存储在 FAT 或 exFAT 等文件系统中(因为这些文件系统不支持 macOS 特有的文件属性)。因此,macOS 会自动为每个文件创建一个 ._ 开头的文件,用来存储这些扩展属性。这些文件通常包含 文件的元数据,而不是文件的实际内容。
- 如何避免:在终端输入以下命令来禁止 macOS 为外部设备生成 AppleDouble 文件:
1defaults write com.apple.desktopservices DSDontWriteNetworkStores true
2defaults write com.apple.desktopservices DSDontWriteAppleDouble true
这个命令会禁用对外部存储设备(包括 U 盘、移动硬盘、网络共享等)生成 AppleDouble 文件(即 ._ 文件)。
如果你想恢复默认行为,即在网络共享上创建 .DS_Store 文件,可以使用以下命令:
1defaults write com.apple.desktopservices DSDontWriteNetworkStores false
2defaults write com.apple.desktopservices DSDontWriteAppleDouble false
压缩文件放入 U 盘内文件名乱码-归档实用工具
macOS 使用 UTF-8 编码,而 Windows 上通常使用 GBK 或 Windows-1252 编码,特别是如果文件名包含中文字符时。因为压缩过程中,macOS 会使用 UTF-8 编码存储文件名,而 Windows 在解压时默认可能无法正确识别这些文件名的编码,从而导致乱码。
解决方法:
- 避免使用特殊字符或中文:如果可能,尽量避免在文件名中使用中文或特殊字符。改用英文字符和数字,这样可以避免由于编码不一致而导致的乱码问题。
- 使用兼容性格式压缩软件:使用兼容性更好的压缩工具(如 Keka、FastZip),确保压缩文件在跨平台时的兼容性。
- 确保 U 盘格式正常:确保 U 盘使用 exFAT 或 FAT32 文件系统,避免 NTFS 格式导致的兼容性问题。
右键菜单功能不显示
在 macOS 14 中,Apple 禁用了在 iCloud 同步文件夹中使用访达扩展类 App,如果您在 “桌面” 和 “文稿” 里开启了 iCloud 同步,则无法在 “桌面”、“文稿”文件夹中显示右键菜单。但您仍可以在下载等文件夹中正常使用。 解决方案:在系统设置中的 Apple ID - iCloud - iCloud云盘中关闭桌面和文稿文件夹的 iCloud 同步功能,这样您就可以在“桌面”和“文稿”文件夹中正常使用软件右击功能了。
iCloud 云盘中存在“桌面”和“文稿”两个文件夹无法删除
Mac 登陆 Apple ID 的时候,默认是打开 iCloud 云盘的所有同步选项的,所以大部分人拿到新电脑登陆之后,iCloud 云盘中都会产生这两个文件夹,有和我一样的 iCloud 免费用户必然是会在设置里关掉“桌面与文稿文件夹”同步这个选项的,但是关闭之后,iCloud 云盘中还是会一直生成这个文件夹,本人尝试所有方法删除(换设备,手机,网页等),之后都会再次生成。 最后成功解决方案是首先关闭 iCloud 云盘设置里的“桌面与文稿文件夹”同步,再从访达的 iCloud 云盘选项中,将两个文件夹移动到电脑任意位置(比如桌面),最后从桌面上删掉或保留,iCloud 云盘都不会再次生成这两个文件夹。
自动切换输入法
设置 - 键盘 - 编辑 - 所有输入法 - 自动切换到文稿的输入法(勾选)
保持 iCloud Drive 目录永远下载
iCloud Drive → 右键目录 → 保留下载副本 (Keep Downloaded)
云同步文件本地一直保留
iCloud - 关闭 Optimize Mac Storage
设置关闭软件不停留 Dock 栏
设置 - 桌面与程序坞 - 在程序坞中显示建议 App 和最近使用的 App(取消)
自定义应用图标使用与移除
使用:Finder - Applications - Get Info - 将 icon 文件拖入到左上角应用图标上
移除:Finder - Applications - Get Info - 点击左上角应用图标,按下 Delete 键删除
tmux 调整框体长宽键失效
原来应该是 Control B(长按) 上下左右,这个键终端中很常用
- 需要取消 mac 中的快捷键 系统设置 - 键盘 - 键盘快捷键 - 调度中心|应用程序窗口|调度中心(全部取消)
- Apple 默认终端上下长按调整失效
终端 - 设置 - 描述文件 - 键盘 - 按键选择向上键|修饰键选择 Control |文本填
\033\[1;5A其中A为上,B为下,C为左,D为右。
桌面图标大小调整
Command``Shift``+ 变大 -变小
桌面图标自动吸附网格
右击 - Sort By - Snap to Grid
阻止 Mac 进入休眠模式
使用 Caffeinate:
1caffeinate -s -t 3600
禁止系统进入休眠,为期一个小时。 此时屏幕还是会进入休眠状态,但是系统不会进入休眠状态,下载仍在进行。
可使用 Control``Z 中断执行,或直接关闭命令行窗口。
Apple Music 无法使用媒体键控制
可能是其他音频播放占用了状态栏的 播放中,比如有道云翻译中的发音功能,退出此 App 即可解除音频控制占用。
启动磁盘安全性策略控制
Link: https://support.apple.com/zh-cn/guide/security/sec7d92dc49f/1/web/1
sftp 命令里面不能自动补全
1brew install openssh
主机名被系统临时设置该 IP 地址
当你连接到不同的网络时,Mac 可能会根据当前网络的配置更改其主机名,尤其是在局域网中。如果你的 Mac 被分配了一个静态 IP 或自动获得 IP 地址(如通过 DHCP),有时系统会临时显示该 IP 地址作为主机名。
如果你希望恢复原来的主机名(如 MacBook-Pro),可以使用以下命令修改主机名:
1sudo scutil --set HostName MacBook-Pro
1. 设置静态主机名(HostName)
你可以通过设置静态的主机名来确保它不会被 DHCP 或其他网络配置改变。执行以下命令:
1sudo scutil --set HostName Zailiang-MacBook-Pro.local
2. 修改本地计算机名称(ComputerName):
为了确保在 Finder 和其他应用中显示的名称与你设置的主机名一致,你也可以设置计算机名称:
1sudo scutil --set ComputerName your-static-hostname
将主机名恢复为默认
1sudo scutil --set HostName ""
这个命令会清除自定义的静态主机名,并将其恢复为动态主机名。此时,macOS 将自动根据网络环境或 DHCP 配置来为你的设备生成一个主机名。为了确保设置生效,建议重启 MacBook。
scutil --get ComputerName 查询计算机名称。
scutil --get LocalHostName 查询本地主机名。
scutil --get HostName 查询主机名。
已删除的应用图标在启动台变成问号
- 打开访达(Finder),点击最顶部菜单栏的“前往”-“前往文件夹”,接着输入“/private/var/folders”
- 然后在弹出的访达(Finder)窗口搜索栏输入:com.apple.dock.launchpad,搜索范围选择“folders”
- 接着进入“com.apple.dock.launchpad” 文件夹里,可以看到 “db”
- 目录的路径查看,可以打开db目录,然后按下快捷键Command + i,在弹出的窗口里有个位置内容,选中复制。打开终端输入如下参考命令,回车。
cd /private/var/folders/0k/hz5wrsfs4nv6z7rjcbb7r9lc0000gn/0
- 最后就是关键的一步,接着在终端输入带问号图标的命令行
sqlite3 db "delete from apps where title='appName';"&&killall Dock。
- 把’appName’替换为你的启动台程序名字,注意要区分大小写和空格,然后按下回车即可。
1/var/folders/86/_5qm15rs71x8mx53lqhslrrw0000gn/0/com.apple.dock.launchpad/db
每次重启后启动台图标位置都会被打乱
原因使用了 sqlite3 db "delete from apps where title='appName';"&&killall Dock
导致了数据库损坏!
解决方案:https://discussionschinese.apple.com/thread/250581574?sortBy=rank
1echo $TMPDIR
- 它看上去是这个样子的:
/var/folders/86/_5qm15rs71x8mx53lqhslrrw0000gn/T/, 每个本地帐户都会在/var/folders/目录下,都有一个自己的子目录,用于应用程序保存自己的运行时数据,一般有三个子目录,0, T, C。而我们关心的是 0,在里面有一个目录叫com.apple.dock.launchpad,launchpad 的数据库就保存在它里面的 db 子目录内。
1echo "$(dirname $TMPDIR)/0/com.apple.dock.launchpad/db"
- 输入完这条命令可以获得
/var/folders/86/_5qm15rs71x8mx53lqhslrrw0000gn/0/com.apple.dock.launchpad/db,并cd进去此目录,ls -l可以查看文件变化时间,每次改变 Launchpad 中应用的图标位置,文件的时间就会变化。 - 尝试把这个
com.apple.dock.launchpad目录转移走备份/或者直接删除。
1killall Dock
- 重启后,让系统重建一个新的,然后就解决问题了。
查看当前运行的 APP 架构
打开 Activity Monitor 中,查看 Kind 种类,是 Intel 还是 Apple,对应 AMD/ARM 架构,或者在 Application 中查看信息
自定义某个软件语言显示
- 在左侧栏中,找到并点击 「General」>「Language & Region」(通用 > 语言与地区)。
- 向下滚动到 「Applications」(应用程序)部分。
- 点击右下角的 「+」 按钮,添加一个新的应用语言设置。
- 在弹出的窗口中:
- 「Application」选择 Maps(地图)。
- 「Language」选择 中文(Chinese),建议选「简体中文」。
- 点击「Add」(添加)。
清除 Apple Music 歌曲名歌手名变成英文
重新授权 Apple Music 应用
- 打开 Mac 上的“音乐”应用。
- 在菜单栏中选择“账户” > “授权” > “对这台电脑授权”。
- 即使系统提示“已授权”,也请再次输入 Apple ID 密码进行授权。
- 完成授权后,关闭并重新打开“音乐”应用,等待资料库重新加载。
- 设置 - 高级 - 还原音乐商店缓存:还原缓存
原生软件 Preview 压缩图片
Preview - File - Export - 选择 JPEG 调整质量即可
双击 fn 语言听写输入
系统设置 - Keyboard - Press 🌍 key to - Start Dictation(Press 🌍 Twice)
解除 control space 切换输入法
Keyboard - Keyboard Shortcuts - Input Sources - Select the previous input source
如没有需求请不要解除
裁剪图片
Preview 打开图片 - 点击 Markup - 点击 矩形 Selection Tools - 光标选中想要区域 - 点击 Crop to selection(交叉<>)
背景音
可以听 雨声、火声、风声等
System Settings - Accessibility - Audio - Background sounds
辅助功能快捷键面板
连按开机键 3 次即可呼出
重置权限设置命令
在 macOS 系统中,sudo tccutil reset Camera 这个命令用于 重置摄像头权限设置,也就是清除系统中关于“哪些应用曾被允许或拒绝访问摄像头”的记录。它的作用可以理解为让系统忘记所有之前对摄像头权限的授权选择,在下一次应用尝试访问摄像头时,macOS 会重新弹出权限请求对话框。
在 macOS 里有一套叫 TCC(Transparency, Consent, and Control) 的隐私权限管理机制,用来控制哪些应用可以访问摄像头、麦克风、定位等敏感资源。系统会记录每个应用用户是否同意访问这些资源,这些记录存储在 TCC 数据库里。
1sudo tccutil reset Camera
- 清除摄像头权限记录:macOS 会删除当前用户所有应用对摄像头的授权状态(包括已允许和已拒绝的)。
- 重新授权弹窗:清除后,下次某个应用需要访问摄像头时,会再弹出权限请求对话框,让你重新选择“允许”或“拒绝”。
- 解决权限问题:对于一些应用因为之前拒绝过摄像头访问、或权限数据异常不再弹出请求的情况,这个命令常用来“重置再来一遍”。
外接键盘调换 alt 与 win 键
System Settings - Keyboard - Keyboard Shortcuts - Modifier Keys
Select keyboard 选择 A87 Keyboard
Option (⌥) key -> ⌘ Command
Command (⌘) key -> ⌥ Option