Mac软件推荐
Typora
/Applications/Typora.app/Contents/Resources/TypeMark/page-dist/static/js/LicenseIndex.180dd4c7.5dc16d09.chunk.js
这一行代码e.hasActivated = "true" == e.hasActivated改为e.hasActivated = "true" == "true"保存即可。
Command Line Tools
#安装:
xcode-select --install
#卸载:
sudo rm -rf /Library/Developer/CommandLineTools
Homebrew
安装Homebrew需要先安装[CommandLineTools](#Command Line Tools)。
| 命令 | 备注 |
|---|---|
| brew cleanup –prune=all -n | 先预览,看看会释放多少空间,以及会删除哪些文件 |
| brew cleanup –prune=all | 是一个非常激进的缓存清理命令,它会删除Homebrew缓存目录下所有已下载的文件,不管它们有多新brew cleanup只会清理超过120天的旧缓存和旧版本软件包,而加上–prune=all参数后,年龄限制被取消了,意味着缓存里的所有文件都会被清掉 |
| brew –cache | 查看缓存路径 |
| brew list | 列出所有已安装的软件 |
| brew list 软件名 | 查看该软件安装了哪些文件 |
| brew info 软件名 | 查看软件信息(含安装路径) |
| brew –prefix | Homebrew自身的根目录 |
| brew –prefix 软件名 | 某个软件的具体安装位置 |
| brew uninstall –cask 软件名 | 卸载图形界面应用(cask) |
| brew uninstall 软件名 | 卸载普通命令行软件(formula) |
| brew uninstall –zap 软件名,brew uninstall –cask –zap 软件名 | 默认卸载不会删除配置文件,加上--zap可以一并清理同时删除配置文件 |
| brew uninstall –force 软件名 | 如果普通卸载失败(比如有依赖问题)强制卸载 |
| brew uninstall 软件1 软件2 软件3 | 批量卸载 |
| brew autoremove | 删除不再被依赖的软件。brew cleanup清理的是文件和缓存,而brew autoremove负责卸载那些不再被任何软件依赖的孤儿包。两者结合使用,清理效果最好 |
| brew cleanup | 标准清理,清理旧版本和120天以上的缓存 |
| brew cleanup 软件名 | 指定清理对象:只清理某个特定的软件包 |
| brew cleanup -n | 加-n或--dry-run参数,可以只显示将要删除的内容,而不实际执行 |
| brew cleanup -s | -s (scrub)会清理得更干净,包括最新版本的下载缓存。但注意,这可能会删除你近期可能需要重新安装的包,导致下次安装时需要重新下载 |
| brew upgrade | 升级所有软件 |
| brew outdated | 查看哪些软件需要升级 |
| brew upgrade 软件名 | 升级指定的软件 |
| brew pin 软件名 | 锁定,brew upgrade会跳过它 |
| brew unpin 软件名 | 解锁 |
| brew update | 拉取Homebrew自身程序以及软件索引的最新信息 |
| brew –version | 查看Homebrew自身版本信息 |
| brew config | 查看Homebrew的安装配置和环境信息 |
| brew tap 用户名/仓库名 | 添加第三方软件仓库。默认仓库homebrew/core命令行工具(formula),homebrew/cask图形界面应用(cask)。有些情况下,为了避免和官方仓库里的同名软件冲突,需要写全名brew install 用户名/仓库名/软件名 |
| brew tap | 查看已添加的tap |
| brew untap 用户名/仓库名 | 移除一个tap |
Parallels Desktop || VMWare Fusion Pro
获取镜像方案1:自己构建arm版windows ISO
省流版:
# brew tap sidneys/homebrew
# brew install cabextract wimlib cdrtools sidneys/homebrew/chntpw
# 使用下面的命令替换上面的命令
brew install cabextract wimlib cdrtools
brew tap minacle/chntpw
brew install minacle/chntpw/chntpw
brew install aria2
- 执行
sh uup_download_macos.sh或./uup_download_macos.sh。如果提示权限不足的话授权命令:chmod +x uup_download_macos.sh
获取镜像方案2:通过itellyou下载镜像,可通过文件哈希值对比校验
# 查看文件MD5值
# Windows
Get-FileHash -Path 文件路径 -Algorithm MD5
# 或者certutil -hashfile 文件路径 MD5
# Linux
md5sum 文件路径
# MacOS
md5 文件路径
# 查看文件SHA-1或SHA-256值
# Windows
Get-FileHash -Path 文件路径 -Algorithm SHA1(SHA256)
# Linux
shasum -a 1 文件名 | shasum -a 256 文件名
# 或者 sha1sum 文件名 | sha256sum 文件名
# MacOS
shasum -a 1 文件名 | shasum -a 256 文件名
# 或者 openssl dgst -sha1 文件名 | openssl dgst -sha256 文件名
Peek/iPreview
quicklook插件安装:将下载的.qlgenerator文件移动到~/Library/QuickLook后运行qlmanage -r
qlmanage -caches:列出Quick Look缓存中的文件和其相关信息。
qlmanage -m plugins:查看系统中已安装的Quick Look插件,并显示它们支持的文件类型。
qlmanage -p 文件路径:会在Quick Look中打开指定文件的预览。
Office
其他
Mac安装软件
任何来源
# 打开任何来源命令:
sudo spctl --master-disable
# 关闭任何来源命令:
sudo spctl --master-enable
移除应用的安全隔离属性
sudo xattr -rd com.apple.quarantine /Applications/*.app
命令用于递归删除指定目录中的全部文件的“quarantine”扩展属性。在macOS系统中,当你从网络或其他未知来源下载并打开文件时,系统会将该文件标记为“quarantine”,以防止其潜在的安全风险。然而有时候,这种标记可能会对某些文件操作造成限制,例如某些脚本文件不能被执行。因此,当使用xattr -r -d com.apple.quarantine命令时,系统会删除指定目录中所有文件的“quarantine”扩展属性,以便您可以自由地使用这些文件。
该命令的具体含义如下:
- xattr:用于查看、设置和删除扩展属性的命令。
- r:表示以递归方式处理目录及其子目录中的文件。
- d:表示删除指定文件的扩展属性。com.apple.quarantine:是指要删除的扩展属性的名称,即“quarantine”。
- sudo xattr -rc /Applications/Navicat\ Premium.app。
-c是清除属性的选项,它指示xattr命令删除文件或目录中的所有扩展属性。 - 当组合使用
xattr -rc时,它会递归地清除指定目录及其所有子目录和文件的扩展属性
对应用进行签名
安装[CommandLineTools](#Command Line Tools)后打开终端,输入sudo codesign --force --deep --sign - 应用路径,注意最后的–后面加一个空格。如遇错误:”/文件位置 : replacing existing signature,/文件位置 : resource fork,Finder information,or similar detritus not allowed“先在终端执行:xattr -cr 应用路径然后再次执行指令即可:codesign --force --deep --sign - 应用路径,完成后再次打开应用尝试
安装Rosetta 2(M芯片运行Intel程序)
# 如果有root权限
/usr/sbin/softwareupdate --install-rosetta
# 如果没有root权限
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
# 安装完成后可以在显示简介中勾选使用Rosetta打开
关闭SIP
- 关机,然后重新启动你的Mac电脑,在开机时一直按住
Command+R迸入Recovery模式(m1改为长按电源键,点击选项,选择一个用户进去) - 进入Recovery模式后在顶部菜单栏点击:实用工具->终端
- 在终端上输入以下命令然后回车:
csrutil disable(ps: 打开SIP:csrutil enable,查看SIP:csrutil status。或系统信息-软件-系统完整性保护) - 点击左上角苹果图标,点击重新启动
Mac显示隐藏文件
快捷键command+shift+. 或者在终端输入
# Mac显示“隐藏文件”命令
defaults write com.apple.finder AppleShowAllFiles -bool true
# Mac隐藏“隐藏文件”命令
defaults write com.apple.finder AppleShowAllFiles -bool false
# 重启访达进程
killall Finder
Mac安装编程软件并设置环境变量
注意:检查mac的shell是zsh还是bash,新系统默认是zsh。可以用
echo $SHELL确认当前 shell。zsh读取的配置文件是~/.zshrc,bash读取的配置文件是~/.bash_profile。所以当使用source ~/.bash_profile时退出终端再打开会导致环境变量失效,此时要么在~/.zshrc文件编辑同样的内容后执行source ~/.zshrc,要么在~/.zshrc文件里面添加source ~/.bash_profile内容
Java
# Homebrew
# 安装最新版
brew install openjdk
# 安装指定版本
brew install openjdk@17
# 创建系统链接:Homebrew安装的OpenJDK默认不会注册到macOS的系统Java目录中,需要手动链接一下,这样系统和其他工具才能找到它。根据Mac芯片类型执行对应命令
# Apple Silicon
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
# Intel芯片
sudo ln -sfn /usr/local/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
# 验证macOS是否识别
/usr/libexec/java_home -V
# 配置环境变量:编辑shell配置文件(默认是~/.zshrc),添加JAVA_HOME
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 17)' >> ~/.zshrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
# 官网下载
# 从Oracle官网下载JDK的.dmg安装包(macOS通常为Apple Silicon芯片,选择aarch64版本)。双击打开后运行其中的.pkg文件,按提示完成安装。JDK会被安装到/Library/Java/JavaVirtualMachines/目录下。
# 配置环境变量:打开终端,编辑~/.zshrc 文件,加入以下内容。
export JAVA_HOME=$(/usr/libexec/java_home)
# export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
export PATH="$JAVA_HOME/bin:$PATH"
# 保存后运行source ~/.zshrc使其生效
# 这里使用macOS自带的java_home工具来动态定位Java路径,/usr/libexec/java_home是macOS系统自带的一个命令行工具,它的核心作用是动态查找并返回当前系统中已安装的Java(JDK/JRE)的“家目录”路径。可以避免因版本更新而手动修改 当运行/usr/libexec/java_home 时,它会扫描系统(主要是/Library/Java/JavaVirtualMachines/目录),找到最合适的Java版本,并把它的路径打印出来。这个路径通常就是你要设置给JAVA_HOME环境变量的值。
# 列出所有已安装的Java
/usr/libexec/java_home -V
#获取指定版本的路径
/usr/libexec/java_home -v 17
# 多个Java版本切换 把17换成想要的版本号(如21)即可 编辑配置文件写入:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
Python
# 官网下载
# 访问Python官网,进入Downloads->macOS页面。下载最新的安装包,双击下载的.pkg文件。安装过程需要输入管理员密码,因为Python会安装给电脑上的所有用户使用。
# 关键后续步骤:安装证书。安装完成后,打开“应用程序”文件夹,进入Python 3.x文件夹,双击运行Install Certificates.command。这会打开一个终端窗口,自动下载并配置SSL根证书。看到Successfully installed certifi字样就说明完成了,之后关闭窗口即可。双击运行Install Certificates.command的目的是为了确保跨平台的一致性,自带了一套独立的OpenSSL和证书验证机制,默认不信任macOS系统钥匙串里的根证书。如果不运行这个脚本,Python在发起HTTPS请求(比如用pip安装包或爬取网页)时,就会因为找不到可信的根证书而报错 CERTIFICATE_VERIFY_FAILED。安装程序会将Python的框架位置添加到你的shell路径中,并且在/usr/local/bin/下创建指向Python可执行文件的符号链接。因为/usr/local/bin通常已经在你的PATH里,所以安装后直接在终端输入python3一般就能用。不用特殊设置环境变量,如果需要:
nono ~/.zshrc
export PATH="/Library/Frameworks/Python.framework/Versions/3.13/bin:$PATH"
source ~/.zshrc
# Homebrew
# Homebrew安装的Python是“外部管理”的,不能直接用pip install往全局环境里装包,必须配合虚拟环境使用。
# 安装当前默认版本
brew install python
# 或指定版本(例如 3.13)
brew install python@3.13
# 安装完成后,验证版本和实际调用的路径
python3 --version
which python3
# 关键看which python3的输出:如果指向/opt/homebrew/bin/python3,说明用的是Homebrew版本;如果仍然指向/usr/bin/python3,说明系统自带的Python在PATH中排在了前面,需要调整shell配置。编辑~/.zshrc,确保Homebrew的bin目录在PATH中靠前
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# 当运行brew install python时,Homebrew会自动将python3和pip3安装到其管理的bin目录,而这个目录默认已在你的PATH环境变量中。安装后,直接在终端输入python3 --version就能验证。如果正常返回版本号,说明一切就绪,无需配置环境变量和手动干预
# Homebrew遵循PEP 668规范,把它的Python标记为“外部管理环境”。这意味着你不能直接运行pip install往Homebrew的全局Python里装包,否则会报externally-managed-environment错误。
# 在项目目录下使用虚拟环境
python3 -m venv .venv
source .venv/bin/activate
# 激活后,pip install只会装到这个虚拟环境里
pip install 包名
# 退出
deactivate
# Homebrew默认只提供python3和pip3。如果你习惯敲python或pip,Homebrew把它们放在了一个单独的libexec/bin目录里,需要手动加入PATH才能用
export PATH="$(brew --prefix python)/libexec/bin:$PATH"
Node
# Homebrew
brew install node
node -v
npm -v
# Homebrew在安装Node.js时,会自动将其可执行文件链接到Homebrew的默认bin目录。只要你的终端配置正确,安装后直接就能使用node和 npm命令。无需添加环境变量。npm的全局前缀(prefix)通常就是Homebrew的安装目录,因此,全局安装的命令可以直接调用。
npm prefix -g
# 这会输出一个路径(如/opt/homebrew或/usr/local)。全局命令实际位于该路径下的bin目录中
# 如果通过brew install node@18这类方式安装了特定版本的Node.js,Homebrew默认不会自动链接它,导致npm也可能无法直接使用。这种情况需要按照安装结束后的提示,手动执行brew link --force node@18或将对应版本的bin目录加入PATH。对于默认的brew install node,通常没有这个问题。
# 官网
# 双击.pkg安装程序会将node和npm的可执行文件放入系统的/usr/local/bin目录,而这个目录默认就在你的终端PATH环境变量中。Node.js可执行文件:/usr/local/bin/node,npm可执行文件/usr/local/bin/npm,npm全局包目录/usr/local/lib/node_modules(这是以后用npm install -g安装的包默认存放的位置)。
# 可以通过下面命令查看位置
which node
which npm
MySQL
# Homebrew
brew install mysql
# 安装特定版本(如8.0)
# brew install mysql@8.0
# 启动MySQL并设置为开机自启
brew services start mysql
# Homebrew会生成一个launchd配置文件(通常在~/Library/LaunchAgents/下),这样以后每次登录,MySQL都会自动启动,不需要手动再运行
brew services start mysql # 启动并设为开机自启
brew services stop mysql # 停止服务,并取消开机自启
brew services restart mysql # 重启服务
brew services list # 查看所有服务状态
# 如果只想临时启动、不想开机自启,可以直接运行mysql.server start(Homebrew安装的MySQL自带这个脚本),这样不会注册 launchd。
# 强烈建议运行安全脚本,设置root密码并移除不安全默认项
mysql_secure_installation
mysql -u root -p
# Homebrew安装的配置文件通常位于/opt/homebrew/etc/my.cnf(Apple Silicon)或/usr/local/etc/my.cnf(Intel)。
# 官网
# 下载.pkg文件根据向导安装
Mac制作U盘启动盘
注意U盘的格式,Windows启动盘经实验使用fat32无法正常安装,因为fat32单个文件大小不支持4G,制作Windows启动盘的话最好是统一使用NTFS或exFAT(报错”复制Windows安装文件时出错”,具体原因看这里)
Windows启动盘
- 准备U盘和ISO文件
如果U盘无法正常读取且提示无法格式化,windows上的解决办法
list disk
select disk n
clean
create partition primary
# fat32、ntfs、exFAT
format fs=ntfs quick
插入U盘后打开终端,输入
diskutil list查看是否有U盘相关信息格式化U盘并重命名:
diskutil eraseDisk NTFS "WIN7" GPT /dev/disk2,其中”WIN7“为U盘重命名,GPT为磁盘格式,可选为MBR, /dev/disk2为U盘路径,根据实际情况填写cp -rp /Volumes/IR5_CCSA_X86FRE_ZH-CN_DV9/* /Volumes/WIN7/,将ISO文件拷贝到U盘。其中IR5_CCSA_X86FRE_ZH-CN_DV9为打开ISO后的磁盘映像。rsync -avh --progress --exclude=sources/install.wim /Volumes/CCCOMA_X64FRE_EN-CN_DV9/ /Volumes/WINDOWS11
以归档模式同步文件,并显示详细进度信息,但排除名为install.wim的文件。rsync和cp都是用于文件复制的命令,但它们之间有几个关键的区别:
功能:cp命令用于简单的文件复制,它将源文件复制到目标位置,但不会保留额外的元数据或权限信息。rsync命令不仅可以复制文件,还可以实现文件同步。它可以在本地文件系统之间,或者通过网络,同步文件和目录,并保留文件的属性、权限等。
同步能力:cp命令复制文件时,如果目标文件已经存在,它会直接覆盖目标文件。rsync命令能够进行增量同步,只复制发生变化的部分,因此效率更高。它还可以在复制过程中实时显示进度,方便监控和管理。
网络传输:cp命令只能在本地文件系统内复制文件,不能在网络上进行文件同步。rsync命令可以在本地和远程系统之间同步文件,因此适用于在不同主机之间同步文件或备份数据。
Ubuntu启动盘
- 用hdiutil将ISO转dmg
hdiutil convert -format UDRW -o /Users/Downloads/ubuntu /Users/Downloads/ubuntu-22.04.1-live-server.iso # 制作windows启动盘同理 - 查看U盘名称
diskutil list - 解除U盘占用
diskutil unmountDisk /dev/disk2 - 将镜像写入U盘(带r加快速度)
sudo dd if=/Users/Downloads/ubuntu.dmg of=/dev/rdisk2 bs=1m # windows # sudo dd if=/path/win10.dmg of=/dev/rdisk2 bs=1m - 弹出U盘
diskutil eject /dev/disk2
PS:在Ubuntu系统下制作Windows启动盘
- 打开磁盘工具,格式化U盘(NTFS),并记录U盘设备名称
/dev/sdb - 下载woeusb.bash并授权
chmod +x woeusb-5.2.4.bash apt install wimtoolsbash woeusb-5.2.4.bash --device win7.iso /dev/sdb --target-filesystem NTFS
Mac更换app图标
在这里选取图标,拖动网页中的图标到“显示简介”界面左上角旧图标处即可
Mac允许远程登陆
通用-共享-打开远程登录
授权sftp软件访问目录:隐私-完全磁盘访问权限-sshd
Mac下的隐藏文件夹
这三个文件夹(.fseventsd,.Spotlight-V100,.Trashes)是Mac OS X系统生成的隐藏文件,用于存储系统的临时数据和缓存。通常,它们不应该被手动删除,因为它们对系统的正常运行非常重要。但是,如果你确实需要删除它们,可以尝试使用命令行或者第三方软件来进行操作。
- .fseventsd文件夹:这个文件夹是Mac OS X的File System Events框架使用的,它用于跟踪文件和目录的更改。这个框架是Mac OS X的核心部分,很多应用程序都依赖于它,因此,手动删除这个文件夹可能会导致系统不稳定或者应用程序出错。
- .Spotlight-V100文件夹:Spotlight是Mac OS X的内置搜索引擎,.Spotlight-V100文件夹是Spotlight用来存储索引数据的。如果你删除了这个文件夹,Spotlight将无法正常工作,你可能会在搜索文件时遇到问题。
- .Trashes文件夹:这个文件夹用于存储每个用户在废纸篓中删除的文件。每个用户都有自己的.Trashes子文件夹,这些子文件夹被链接到用户的废纸篓。手动删除这个文件夹可能会导致你无法正常使用废纸篓,或者丢失已删除的文件。
动态壁纸路径
/Library/Application Support/com.apple.idleassetsd/Customer/4KSDR240FPS
其他
| Mac-list | awesome-mac | mac青桔 |
|---|---|---|
| 马克喵 | macGF | macked |
| appstorrent | 佛系软件 | macwk |
| Mac毒 | Appked | 苹果系统之家 |
| SeeMac | MAC下载吧 | Xclient |
| Mac8k |