版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
信息
注意 由于Mac现在开始使用`Apple Silicon CPU`,所以本文的适用机器是Arm架构的MacBook、Mac mini等

参考资料:

快速开始

上手验机

  1. 查序列号。官网查询
  2. 开箱。检查外观
  3. 开机
  • 点击左上角的苹果按钮,点击关于本机
  • 点击系统报告
  • 核对型号参数
  • 点击电源,核对效能信息中的循环计数 10次以下为正常
  • 自检硬件(可选)
    • 关机,断开其他连接设备
    • 长按开机键,直到出现选项
    • 长按command+d
    • 选择语言
    • 选择我同意

在线屏幕检测

系统设置

基本设置

取消 4 位数密码限制

代码块
languagebash
pwpolicy -clearaccountpolicies

程序坞自动隐藏加速

代码块
languagebash
# 设置启动坞动画时间设置为 0.5 秒 
defaults write com.apple.dock autohide-time-modifier -float 0.5 && killall Dock

# 设置启动坞响应时间最短
defaults write com.apple.dock autohide-delay -int 0 && killall Dock

# 恢复启动坞默认动画时间
defaults delete com.apple.dock autohide-time-modifier && killall Dock

# 恢复默认启动坞响应时间
defaults delete com.apple.Dock autohide-delay && killall Dock

启动台自定义行和列

代码块
languagebash
# 设置列数
defaults write com.apple.dock springboard-columns -int 7

# 设置行数
defaults write com.apple.dock springboard-rows -int 6

# 重启 Dock 生效
killall Dock

# 恢复默认的列数和行数
defaults write com.apple.dock springboard-rows Default
defaults write com.apple.dock springboard-columns Default

# 重启 Dock 生效
killall Dock

 键盘设置

触控板设置

光标响应

  1. 打开系统偏好设置->触控板→光标与点按
  2. 勾选✔轻点来点按
  3. 跟踪速度移动到最快

三指拖移

  • 打开系统偏好设置->辅助功能→指针控制

日常软件

前置工作

允许安装任意来源的 App

代码块
languagebash
sudo spctl --master-disable

然后前往系统偏好设置->安全性与隐私→点击左下角的小锁

安装 Xcode Command Line Tools

工具依赖

代码块
languagebash
xcode-select --install

HomeBrew

安装

代码块
languagebash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

国内环境安装命令

代码块
languagebash
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

安装完成后根据提示,运行下面的命令

代码块
languagebash
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

安装一下cask便于后面软件的安装

代码块
languagebash
brew install cask

常用命令

更新Homebrew

代码块
languagebash
brew update

搜索相关包

代码块
languagebash
brew search keyword

卸载软件

代码块
languagebash
brew uninstall keyword

查看已安装的软件

代码块
languagebash
brew list

软件商店

防火墙

首先要安装的就是防火墙,Mac自带的防火墙只能防御进入Mac的流量,但是遇到流氓软件向服务器上传我们的隐私数据就防御不了。同时也可以过滤广告哦。
我们可以选择两个软件,二选一即可

Little Snitch(许可证一次收费)

官网下载地址

许可证可以在淘宝进行购买,按需购入。

LuLu(开源,免费)

LuLu是一个开源的防火墙工具

安装也很简单

代码块
languagebash
brew install --cask lulu

保持默认选项

有程序发起请求时,会跳出弹窗,我们只需要选择放行或者阻止即可,设置过一次或者配置好规则就可以一劳永逸。

附上常见的阻止🚫规则 blockyouxlist,勾选然后粘贴链接即可

1Password

非常值得入手的密码管理工具,只需要记住一个密码就可以自动保存、保存填写网站、SSH密钥、加密钱包等密码
淘宝购入年费会员也不贵,安全性也不错,全平台通用

代码块
languagebash
brew install --cask 1password

官网链接

Raycast

Raycast是一个启动器,可以高效打开文件、软件、网站并执行各种便捷操作,可以代替Mac 自带的 「焦点(Spotlight)」同样brew安装

代码块
languagebash
brew install --cask raycast

也可以官网下载dmg文件。官网下载地址

插件

以下是一些推荐的插件

Battery

一个开源的电池保护工具

代码块
languagebash
brew install --cask battery

使用方法:电池充到80停止

代码块
languagebash
battery maintain 80

Keka

压缩解压工具

代码块
languagebash
brew install --cask keka

官网下载

IINA

视频播放器

代码块
languagebash
brew install --cask iina

shottr

纯净的截屏工具

长截图,ocr,智能打码,贴图,取色等功能

代码块
languagebash
brew install --cask shottr

官网下载

ishot

国产多功能截屏工具

长截图,录音,录屏,ocr,贴图,取色等功能

官方下载

Bob or TTime

两款都是优秀的翻译软件,可以划词翻译和截图翻译

Bob TTime

Bob是老牌mac工具,目前在Appstore可以下载,而github版本已停止维护

可以下载免费的bob插件使用

TTime是新晋的开源工具,可以自己配置ocr和翻译的api,可以申请大厂的api接口,都有免费额度,足够个人使用了

Qspace

一款多窗口布局的文件管理工具

官方下载

免费版与专业版的区别

Rectangle

快捷键分屏

代码块
languagebash
brew install --cask rectangle

Obsidian

优秀的笔记工具。可以更改主题,安装各种插件。

同步可以用github。官网下载

KeyboardHolder

有些时候我们会遇到总是频繁切换中英文输入法,或者标点的场景。

使用这款工具就可以记住场景,自动切换

代码块
languagebash
brew install --cask keyboardholder

Motrix

开源的下载器,支持HTTP, FTP, BitTorrent, Magnet等

代码块
languagebash
brew install --cask motrix

PDF Expert

Mac上非常优秀的Pdf编辑、查看、管理工具

官网

PDFGear

免费的PDF编辑、阅读工具

自带AI阅读PDF,OCR识别

官网

Wechat微信

AppStore下载

官网下载

Telegram

代码块
languagebash
brew install --cask telegram

Discord

代码块
languagebash
brew install --cask discord

NetNewsWire

RSS阅读器

代码块
languagebash
brew install --cask netnewswire

鼠须管Squirrel输入法

Rime输入法

开源,高度自定义

代码块
languagebash
brew install --cask squirrel

配置

自动化配置脚本👉https://github.com/Mark24Code/rime-auto-deploy/tree/main

安装依赖 ruby3

代码块
languagebash
brew install ruby

执行下面的代码

代码块
languagebash
git clone --depth=1 https://github.com/Mark24Code/rime-auto-deploy.git --branch latest
cd rime-auto-deploy
./installer.rb

开发配置

iTerm2

没有一个好看的终端怎么行

代码块
languagebash
brew install --cask iterm2

美化

美化可以使用Starship

代码块
languagebash
brew install starship
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

卸载sharship

  1. 删除 shell 配置中~/.zshrc。用于初始化 Starship 的所有行
  2. 删除 Starship

Tmux

安装

终端复用神器

代码块
languagebash
brew install tmux

教程

Tmux 使用教程- 阮一峰的网络日志

Tmux使用手册

配置文件

代码块
languagebash
nano ~/.tmux.conf
代码块
languagetext
#tmux attach 如果无分离终端则新建
new-session
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind ' " '
unbind %
bind -r k select-pane -U # 绑定k为↑
bind -r j select-pane -D # 绑定j为↓
bind -r h select-pane -L # 绑定h为←
bind -r l select-pane -R # 绑定l为→
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf; display-message "Config reloaded.."
bind V source-file ~/.tmux/layout1
代码块
languagebash
mkdir ~/.tmux
nano ~/.tmux/layout1
代码块
languagetext
selectp -t 0 # select the first (0) pane
splitw -v -p 50 # split it into two halves
selectp -t 1 # select the new, second (1) pane
splitw -h -p 50 # split it into two halves
selectp -t 0 # go back to the first pane

完成后

代码块
languagebash
source ~/.zshrc

之后使用的话,在终端输入 tmux

然后 Ctrl + B 再按 Shift + V就可以分屏了

常用命令

最大化【Ctrl+b z】

复制模式 q退出 【Ctrl+b [】

窗口列表 【Ctrl+b w】

切换窗口 【Ctrl+b 0~9】

会话列表 【Ctrl+b s】

挂起 【Ctrl+b Ctrl+z】

Git

代码块
languagebash
# 配置邮箱 
git config --global user.email "xxxxx@xxx.com"

# 配置用户名
git config --global user.name "xxx"

Python

在调试Python的时候可能遇到不同的环境问题,在这里先使用pyenv进行本地环境配置,后面如果做机器学习、深度学习等使用conda虚拟环境配置

代码块
languagebash
brew install pyenv

配置shell环境

代码块
languagebash
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

查看可安装的版本

代码块
languagebash
pyenv install -l

安装与卸载

代码块
languagebash
pyenv install 具体版本
pyenv uninstall 具体版本

查看已安装的版本

代码块
languagebash
#当前版本
pyenv version
#查看已经安装的Python版本
pyenv versions

版本切换

代码块
languagebash
# shell 会话设置 只影响当前的shell会话
pyenv shell <python版本>
# 取消 shell 会话的设置
pyenv shell --unset
# local 本地设置 只影响所在文件夹
pyenv local <python版本>
# global 全局设置 一般不建议改变全局设置
pyenv global <python版本>
信息
注意pyenv 的 global、local、shell 的优先级关系是:shell > local > global

JAVA

下载安装之后。再安装 jenv 便于切换环境

代码块
languagebash
brew instal jenv

配置zshrc环境

代码块
languagebash
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

安装完成后

代码块
languagebash
#查看当前的 Java 版本
jenv version
#列出目前 jenv 所有可切换管理的版本
jenv versions

#手动添加本地的 Java Home 路径
jenv add /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/

#global 全局设置 一般不建议改变全局设置
jenv global <java 版本>

#shell 会话设置 只影响当前的shell会话
jenv shell <java 版本>
#取消 shell 会话的设置
jenv shell --unset

#local 本地设置 只影响所在文件夹
jenv local <java 版本>

Docker

代码块
languagebash
brew install --cask docker

OrbStack

OrbStack 是一种在 macOS 上运行 Docker 容器和 Linux 机器的快速、轻便且简单的方法。可以将其视为强大的 WSL 和 Docker Desktop 替代方案,全部集成在一个易于使用的应用程序中

代码块
languagebash
brew install orbstack

Docker切换OrbStack

代码块
languagebash
docker context use orbstack

在设置中可以进行换源

代码块
languagetext
{
    "ipv6": true,
      "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://registry.docker-cn.com",
        "https://mirror.baidubce.com",
        "https://kn77wnbv.mirror.aliyuncs.com",
        "https://y0qd3iq.mirror.aliyuncs.com",
        "https://6kx4zyno.mirror.aliyuncs.com",
        "https://0dj0t5fb.mirror.aliyuncs.com",
        "https://docker.nju.edu.cn",
        "https://kuamavit.mirror.aliyuncs.com",
        "https://y0qd3iq.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn"
  ]
}

Parallels Desktop

Mac上性能最好的虚拟化工具

UTM

UTM 是一个功能齐全的系统模拟器和虚拟机主机,适用于 iOS 和 macOS。它基于 QEMU。所以可以模拟x86、ARM64 和 RISC-V。

代码块
languagebash
brew install --cask utm

Vulnhub

kali攻击机上官网下载iso文件导入即可

官网下载

然后到vulnhub查找自己想要练习的靶机,并下载ova

vulnhub vulnhub国内镜像

代码块
languagebash
cd Downloads
tar xvf xxx.ova

解压完成后安装一下 qemu

代码块
languagebash
brew install qemu

转换成qcow2格式

代码块
languagebash
qemu-img convert -O qcow2 xxx-disk001.vmdk xxx.qcow2

打开UTM,选择左上角➕,新建选择模拟->其他→勾选跳过 ISO 启动->选择内存等->继续->填写名字→保存

在主页面能看到新建的机器->右击编辑->选择QEMU→取消勾选UEFI启动

右击IDE Drive删除

再点击驱动器下方的新建->导入->选择刚刚生成的qcow2文件即可

x86

在网上下载你想要模拟的x86系统的iso文件

打开UTM->左上角➕->选择模拟->linux(或者windows)->调整内存->驱动器大小->名字→完成

之后就可以正常打开使用了

VirtualBox

Virtualbox是一个开源的虚拟机工具

可以在官网下载安装。官网下载

Virtualbox更加适用于打靶机的情况,比如 hackmyvm 靶场中大部分的靶机都是适配Virtualbox的

Vmware Fusion

Vmware是除了PD以外非常优秀的虚拟机工具,如果觉得PD收费太高,那么可以选择 Vmware

官网下载

4C21U-2KK9Q-M8130-4V2QH-CF810

Firefox

开源浏览器

代码块
languagebash
brew install --cask firefox

Arc

非常好看的浏览器,垂直标签栏能更好的保存网站分类

代码块
languagebash
brew install --cask arc
信息
注意需要加入愿望单,获取名额

Electerm

支持ssh/sftp的客户端

支持github,gitee同步

代码块
languagebash
brew install --cask electerm

Vscode

代码块
languagebash
brew install --cask visual-studio-code

官网下载

Miniconda

安装

下载安装包

官方链接 清华镜像

代码块
languagebash
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
sh Miniconda3-latest-MacOSX-arm64.sh

在安装的最后会出现

代码块
languagetext
Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]
[yes] >>>

输入yes

此时安装包会向当前 SHELL 的配置文件(~/.zshrc)中写入 conda 初始化语句

查看conda版本,检查是否安装成功

代码块
languagebash
conda -V

配置

取消激活base环境

因为我们之前已经配置了本地python环境,为了区分用途[pyenv管理的python用于python开发等,conda用于机器学习、深度学习等]。

以上是我个人的习惯,如果只有单方面需求,使用对应的python配置方法即可。安装Miniconda 后,打开终端默认会激活 base 环境

所以通过命令取消掉

代码块
languagebash
conda config --set auto_activate_base False

想要在终端激活conda中的虚拟环境的时候

代码块
languagebash
conda activate base[虚拟环境名]

想要恢复默认激活base环境

代码块
languagebash
conda config --set auto_activate_base True

conda-forge

conda-forge 是一个由社区维护的大量 Python 包的通道。 为 conda 增加 conda-forge 通道,可以安装更多的软件包

代码块
languagebash
conda config --add channels conda-forge

设置通道优先级为 strict。当一个包同时位于 conda-forge 和 main 通道时,总是使用 conda-forge 提供的包

代码块
languagebash
conda config --set channel_priority true

显示通道 URL

代码块
languagebash
conda config --set show_channel_urls true

conda换源

代码块
languagebash
conda config --add default_channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set 'custom_channels.conda-forge' https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

设置 conda 使用更快的 libmamab solver

代码块
languagebash
conda install -n base conda-libmamba-solver
conda config --set solver libmamba

conda虚拟环境

创建虚拟环境

代码块
languagebash
conda create -n py38 python=3.8

激活虚拟环境

代码块
languagebash
conda activate py38

查看已创建的虚拟环境

代码块
languagebash
conda env list

 退出当前环境

代码块
languagebash
deactivate 环境名字

删除环境

代码块
languagebash
conda remove -n 环境名字 --all

删除环境钟的某个包

代码块
languagebash
conda remove -n 环境名字 包名

 TensorFlow

安装

代码块
languagebash
conda install -c apple tensorflow-deps
pip install tensorflow-macos
pip install tensorflow-metal

测试

代码块
languagebash
conda activate py38
python
import tensorflow as tf
print("tf version",tf.__version__)
print("tf gpu",tf.test.is_gpu_available())

Pytorch

安装

Anaconda

代码块
languagebash
conda install pytorch torchvision torchaudio -c pytorch-nightly

pip

代码块
languagebash
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

Building from source

测试

代码块
languagepy
import torch
if torch.backends.mps.is_available():
    mps_device = torch.device("mps")
    x = torch.ones(1, device=mps_device)
    print (x)
else:
    print ("MPS device not found.")
Copy
The output should show:

tensor([1.], device='mps:0')

安装一些常用的库

代码块
languagebash
pip install pandas matplotlib glob2 tqdm opencv-python scipy scikit-learn mlx

Adobe全家桶

https://www.yuque.com/yihulaojiu-gsfg9/zz2qv5/vixkf6

目录