注意 由于Mac现在开始使用`Apple Silicon CPU`,所以本文的适用机器是Arm架构的MacBook、Mac mini等

参考资料:

快速开始

上手验机

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

在线屏幕检测

系统设置

基本设置

取消 4 位数密码限制

pwpolicy -clearaccountpolicies

程序坞自动隐藏加速

# 设置启动坞动画时间设置为 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

启动台自定义行和列

# 设置列数
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

sudo spctl --master-disable

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

安装 Xcode Command Line Tools

工具依赖

xcode-select --install

HomeBrew

安装

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

国内环境安装命令

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

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

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

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

brew install cask

常用命令

更新Homebrew

brew update

搜索相关包

brew search keyword

卸载软件

brew uninstall keyword

查看已安装的软件

brew list

软件商店

防火墙

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

Little Snitch(许可证一次收费)

官网下载地址

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

LuLu(开源,免费)

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

安装也很简单

brew install --cask lulu

保持默认选项

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

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

1Password

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

brew install --cask 1password

官网链接

Raycast

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

brew install --cask raycast

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

插件

以下是一些推荐的插件

Battery

一个开源的电池保护工具

brew install --cask battery

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

battery maintain 80

Keka

压缩解压工具

brew install --cask keka

官网下载

IINA

视频播放器

brew install --cask iina

shottr

纯净的截屏工具

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

brew install --cask shottr

官网下载

ishot

国产多功能截屏工具

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

官方下载

Bob or TTime

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

Bob TTime

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

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

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

Qspace

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

官方下载

免费版与专业版的区别

Rectangle

快捷键分屏

brew install --cask rectangle

Obsidian

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

同步可以用github。官网下载

KeyboardHolder

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

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

brew install --cask keyboardholder

Motrix

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

brew install --cask motrix

PDF Expert

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

官网

PDFGear

免费的PDF编辑、阅读工具

自带AI阅读PDF,OCR识别

官网

Wechat微信

AppStore下载

官网下载

Telegram

brew install --cask telegram

Discord

brew install --cask discord

NetNewsWire

RSS阅读器

brew install --cask netnewswire

鼠须管Squirrel输入法

Rime输入法

开源,高度自定义

brew install --cask squirrel

配置

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

安装依赖 ruby3

brew install ruby

执行下面的代码

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

开发配置

iTerm2

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

brew install --cask iterm2

美化

美化可以使用Starship

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

卸载sharship

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

Tmux

安装

终端复用神器

brew install tmux

教程

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

Tmux使用手册

配置文件

nano ~/.tmux.conf
#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
mkdir ~/.tmux
nano ~/.tmux/layout1
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

完成后

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

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

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

Python

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

brew install pyenv

配置shell环境

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

查看可安装的版本

pyenv install -l

安装与卸载

pyenv install 具体版本
pyenv uninstall 具体版本

查看已安装的版本

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

版本切换

# 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

JDK8

https://www.123pan.com/s/L9uDVv-QQu7H.html

JDK11

https://www.123pan.com/s/L9uDVv-9Qu7H.html

JDK17

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

brew instal jenv

配置zshrc环境

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

安装完成后


#查看当前的 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

brew install --cask docker

OrbStack

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

brew install orbstack

Docker切换OrbStack

docker context use orbstack

在设置中可以进行换源

{
    "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。

brew install --cask utm

Vulnhub

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

官网下载

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

vulnhub vulnhub国内镜像

cd Downloads
tar xvf xxx.ova

解压完成后安装一下 qemu

brew install qemu

转换成qcow2格式

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

开源浏览器

brew install --cask firefox

Arc

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

brew install --cask arc
注意需要加入愿望单,获取名额

Electerm

支持ssh/sftp的客户端

支持github,gitee同步

brew install --cask electerm

Vscode

brew install --cask visual-studio-code

官网下载

Miniconda

安装

下载安装包

官方链接 清华镜像

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

在安装的最后会出现

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

输入yes

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

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

conda -V

配置

取消激活base环境

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

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

所以通过命令取消掉

conda config --set auto_activate_base False

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

conda activate base[虚拟环境名]

想要恢复默认激活base环境

conda config --set auto_activate_base True

conda-forge

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

conda config --add channels conda-forge

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

conda config --set channel_priority true

显示通道 URL

conda config --set show_channel_urls true

conda换源

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

conda install -n base conda-libmamba-solver
conda config --set solver libmamba

conda虚拟环境

创建虚拟环境

conda create -n py38 python=3.8

激活虚拟环境

conda activate py38

查看已创建的虚拟环境

conda env list

 退出当前环境

deactivate 环境名字

删除环境

conda remove -n 环境名字 --all

删除环境钟的某个包

conda remove -n 环境名字 包名

 TensorFlow

安装

conda install -c apple tensorflow-deps
pip install tensorflow-macos
pip install tensorflow-metal

测试

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

Pytorch

安装

Anaconda

conda install pytorch torchvision torchaudio -c pytorch-nightly

pip

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

Building from source

测试


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')


安装一些常用的库

pip install pandas matplotlib glob2 tqdm opencv-python scipy scikit-learn mlx

Adobe全家桶

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

  • 无标签