找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1823

积分

0

好友

238

主题
发表于 7 天前 | 查看: 17| 回复: 0

同事问我:“你Mac咋这么快?”
我默默打开终端,敲了几个命令。今天就把我3年积攒的Mac配置清单,一次性分享给你。

一、 开箱即用:基础配置(30分钟搞定)

1.1 Homebrew:Mac的包管理神器

别用官方源,慢到你怀疑人生。国内镜像快10倍不止。

# 安装Homebrew(国内镜像,速度快)
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

# 选择中科大镜像源
# 等待10分钟,安装完成

# 验证安装
$ brew --version
Homebrew 4.2.0

# 踩坑:如果提示command not found
# 解决:添加环境变量
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"

# 常用命令
$ brew install git  # 安装软件
$ brew uninstall git  # 卸载软件
$ brew upgrade git  # 升级软件
$ brew search jdk  # 搜索软件
$ brew list  # 查看已安装软件

效率对比

操作 Mac + Homebrew Windows + 安装包 节省时间
安装Git 10秒 5分钟 97%
升级Git 10秒 10分钟 98%
卸载软件 5秒 5分钟 98%

1.2 iTerm2:终端的终极形态

# 安装iTerm2
$ brew install --cask iterm2

# 安装后配置

# 1. 设置快捷键(Preferences → Keys → Hotkey)
# 设置 Ctrl+` 全局呼出

# 2. 配置配色方案(Preferences → Profiles → Colors)
# 导入 Solarized Dark 主题
# 下载:https://github.com/mbadolato/iTerm2-Color-Schemes

# 3. 配置字体(Preferences → Profiles → Text)
# 字体:MesloLGS NF(支持Powerline图标)
$ brew install --cask font-meslo-lg-nerd-font

# 4. 配置窗口(Preferences → Profiles → Window)
# Style: Full-Width Top of Screen
# Screen: Screen with Cursor

# 5. 配置状态栏(Preferences → Profiles → Session)
# 开启 Status Bar
# 添加组件:CPU、内存、网络、当前目录

# 踩坑:iTerm2默认不支持鼠标滚动
# 解决:Preferences → Profiles → Terminal → 勾选"Report mouse wheel events"

# 踩坑:iTerm2默认不支持256色
# 解决:Preferences → Profiles → Terminal → Terminal Emulation → Report Terminal Type: xterm-256color

iTerm2 vs Mac自带终端

  • 分屏:Cmd+D垂直分屏,Cmd+Shift+D水平分屏
  • 搜索:Cmd+F搜索,支持正则
  • 复制:选中即复制
  • 粘贴:Cmd+V或右键
  • 历史:Cmd+Shift+H查看历史命令
  • 自动补全:Cmd+; 自动补全命令

1.3 Oh My Zsh:Shell的终极形态

# 安装Oh My Zsh(国内镜像)
$ sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"

# 等待2分钟,安装完成

# 配置主题(~/.zshrc)
$ vim ~/.zshrc

# 主题推荐(我用agnoster)
ZSH_THEME="agnoster"

# 配置插件
plugins=(
    git
    zsh-autosuggestions
    zsh-syntax-highlighting
    brew
    docker
    kubectl
    maven
    gradle
)

# 安装插件
$ git clone https://gitee.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
$ git clone https://gitee.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 生效配置
$ source ~/.zshrc

# 启动Powerlevel10k配置向导
$ p10k configure

# 踩坑:如果提示command not found: p10k
# 解决:source ~/.zshrc 或重启iTerm2

# 配置完成后,终端会变成这样:
# 用户@主机名 当前目录 git分支
# ❯ 输入命令

Oh My Zsh插件功能

  • git:显示git分支、状态
  • zsh-autosuggestions:自动补全历史命令(灰色提示)
  • zsh-syntax-highlighting:命令语法高亮(错误红色,正确绿色)
  • brew:brew命令补全
  • docker:docker命令补全
  • maven:mvn命令补全
  • gradle:gradle命令补全

二、必备开发工具:JDK + Maven + Git + Docker

2.1 JDK:多版本管理

# 安装JDK 8(LTS)
$ brew install --cask adoptopenjdk8

# 安装JDK 11(LTS)
$ brew install --cask adoptopenjdk11

# 安装JDK 17(LTS)
$ brew install --cask adoptopenjdk17

# 安装JDK管理工具jenv
$ brew install jenv

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

# 添加JDK到jenv
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-17.jdk/Contents/Home

# 查看已安装的JDK
$ jenv versions
* system (set by /Users/yourname/.jenv/version)
  1.8
  11.0
  17.0

# 切换JDK版本
$ jenv global 11.0  # 全局切换
$ jenv local 1.8    # 当前目录切换
$ jenv shell 17.0   # 当前shell切换

# 验证
$ java -version
openjdk version "11.0.19" 2023-04-18
OpenJDK Runtime Environment Temurin-11.0.19+7 (build 11.0.19+7)
OpenJDK 64-Bit Server VM Temurin-11.0.19+7 (build 11.0.19+7, mixed mode)

# 踩坑:IDEA找不到JDK
# 解决:在IDEA中配置JDK路径
# IDEA → Preferences → Build, Execution, Deployment → SDKs
# 点击+,选择JDK安装路径:/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

效率提升

场景 传统方式 jenv方式 节省时间
切换JDK版本 修改JAVA_HOME,重启终端 jenv local 1.8 90%
多项目不同JDK 手动切换 自动识别 95%

2.2 Maven:加速依赖下载

# 安装Maven
$ brew install maven

# 验证
$ mvn -version
Apache Maven 3.9.4

# 配置阿里云镜像(关键!)
$ vim ~/.m2/settings.xml

<settings>
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
      <id>jdk-11</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>11</jdk>
      </activation>
      <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
      </properties>
    </profile>
  </profiles>
</settings>

# 踩坑:mvn命令找不到
# 解决:brew install maven后,可能需要重启iTerm2

# Maven常用命令别名(~/.zshrc)
alias mci='mvn clean install'
alias mcp='mvn clean package'
alias mct='mvn clean test'
alias mcs='mvn clean compile -DskipTests'
alias mdep='mvn dependency:tree'
alias midea='mvn idea:idea'

# 生效
$ source ~/.zshrc

加速效果

操作 默认镜像 阿里云镜像 加速效果
首次构建 15分钟 2分钟 86%
依赖下载 10分钟 1分钟 90%

2.3 Git:配置与别名

# 安装Git
$ brew install git

# 配置用户信息
$ git config --global user.name "Your Name"
$ git config --global user.email "your.email@example.com"

# 配置别名(~/.gitconfig)
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
$ git config --global alias.unstage 'reset HEAD --'
$ git config --global alias.last 'log -1 HEAD'
$ git config --global alias.visual '!gitk'
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

# 配置SSH(关键!)
$ ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
# 一路回车

# 查看公钥
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC... your.email@example.com

# 添加到GitHub/GitLab
# Settings → SSH and GPG keys → New SSH key

# 测试SSH连接
$ ssh -T git@github.com
Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.

# 配置GPG签名(可选,但推荐)
$ brew install gnupg
$ gpg --full-generate-key
# 选择RSA and RSA,4096位,1年有效期
$ gpg --list-secret-keys --keyid-format LONG
$ git config --global user.signingkey <你的GPG密钥ID>
$ git config --global commit.gpgsign true

# 踩坑:Git提示Permission denied (publickey)
# 解决:1. 确保SSH key已添加 2. 确保ssh-agent运行
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

Git效率对比

操作 无别名 有别名 节省时间
查看日志 git log --oneline --graph --decorate --all git lg 80%
切换分支 git checkout develop git co develop 70%
提交代码 git commit -m "message" git ci -m "message" 60%

2.4 Docker:容器化开发

# 安装Docker Desktop
$ brew install --cask docker

# 启动Docker
$ open /Applications/Docker.app

# 验证
$ docker --version
Docker version 24.0.6, build ed223bc

$ docker-compose --version
Docker Compose version v2.21.0

# 配置镜像加速(关键!)
$ vim ~/.docker/daemon.json

{
"registry-mirrors": [
"https://mirror.gcr.io",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
  ],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
  }
}

# 重启Docker
$ killall Docker && open /Applications/Docker.app

# 拉取镜像测试
$ docker pull mysql:8.0
# 加速前:10分钟
# 加速后:1分钟

# 常用命令别名(~/.zshrc)
alias dps='docker ps'
alias dpa='docker ps -a'
alias dimg='docker images'
alias drm='docker rm'
alias drmi='docker rmi'
alias dlog='docker logs'
alias dexec='docker exec -it'
alias dcup='docker-compose up -d'
alias dcdown='docker-compose down'
alias dcps='docker-compose ps'
alias dclogs='docker-compose logs -f'

# 生效
$ source ~/.zshrc

Docker开发效率提升

场景 传统方式 Docker方式 节省时间
安装MySQL 30分钟 1分钟 97%
安装Redis 15分钟 30秒 97%
环境一致性 手动配置 一键启动 95%

2.5. 终端效率工具

# 文件树(替代ls)
brew install exa

# 替代cat(代码高亮)
brew install bat

# 替代grep(更快)
brew install ripgrep

# 替代find(智能搜索)
brew install fd

配置别名 (加到~/.zshrc):

# 常用别名
alias ll='exa -la --git --icons'
alias cat='bat'
alias grep='rg'
alias find='fd'

对比效果

# 传统ls
$ ls -la
drwxr-xr-x  12 user  staff   384B May 20 10:30 .
drwxr-xr-x   5 user  staff   160B May 19 14:20 ..
-rw-r--r--   1 user  staff   1.2K May 20 09:15 .gitignore

# exa(带图标,更清晰)
$ ll
📁 .git/      📄 .gitignore  📄 pom.xml    📁 src/

三、日常开发:我的工作流

1. 终端分屏:tmux

brew install tmux

# 配置 ~/.tmux.conf
# 设置前缀为Ctrl+a(默认Ctrl+b太远)
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# 分屏快捷键
bind | split-window -h  # 垂直分屏
bind - split-window -v  # 水平分屏

# 鼠标支持
set -g mouse on

使用场景

  • 左边:跑服务 ./mvnw spring-boot:run
  • 右边:看日志 tail -f app.log
  • 下面:Git操作

2. 快速跳转:z

brew install z

# 自动记录目录访问频率
# 用 z 目录名 快速跳转
$ z proj  # 跳转到最近访问的project目录
$ z doc   # 跳转到文档目录

3. 剪贴板增强

# 终端复制粘贴增强
brew install reattach-to-user-namespace

# 配置到 ~/.tmux.conf
set -g default-command "reattach-to-user-namespace -l zsh"

效果:在tmux里也能用Command+C/V复制粘贴了。

四、性能优化:让Mac飞起来

1. SSD优化

# 关闭休眠(16G内存以上建议)
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage

# 关闭本地Time Machine快照
sudo tmutil disablelocal

# 查看磁盘空间
sudo ncdu /  # 比df -h更直观

2. 内存优化

# 查看内存占用
$ memory_pressure

# 输出:
# 当前内存压力:Normal
# 物理内存:16GB
# 使用中:12GB
# 缓存文件:2GB
# 可用:2GB

清理内存

# 清理DNS缓存
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

# 清理系统日志
sudo rm -rf /private/var/log/asl/*.asl

3. 电池优化(MacBook)

# 查看电池健康
$ system_profiler SPPowerDataType | grep -A 3 "Condition"
# 输出:Condition: Normal

# 查看耗电应用
$ sudo powermetrics --samplers smc | grep -i "cpu"

五、故障排查:常见问题解决

1. 端口被占用

# 查看8080端口被谁占用
lsof -ti:8080 | xargs kill -9

# 或者更优雅
kill -9 $(lsof -ti:8080)

2. 文件句柄泄漏

# 查看已删除但未释放的文件
lsof | grep deleted

# 输出示例:
# java  1234  user  123w  REG  1,1  1GB  0  /tmp/app.log (deleted)
# 解决方法:重启对应进程

3. 磁盘空间告急

# 找出大文件
sudo find / -type f -size +100M 2>/dev/null | head -20

# 或者用可视化工具
brew install --cask grandperspective

4. 网络问题

# DNS解析慢
cat /etc/resolv.conf
# 如果只有8.8.8.8,改成114.114.114.114

# 查看网络连接
netstat -an | grep ESTABLISHED | wc -l
# 如果太多,可能有连接泄漏

以上就是我个人在Mac上为Java后端开发精心打磨的一套环境配置与工作流。从基础工具安装到日常效率提升,再到故障排查,几乎覆盖了开发中的常见场景。特别是利用Docker技术栈进行容器化开发,能极大保证环境一致性并提升效率。

如果你也在用Mac做开发,不妨试试这些配置,相信能让你的开发体验更上一层楼。更多技术实践和深度讨论,欢迎到云栈社区与广大开发者一起交流。




上一篇:Parrot OS 7.0(Echo)发布:新增AI渗透测试工具,支持KDE Plasma 6与RISC-V
下一篇:划清LLM、RAG、MCP与AI Agent的边界:核心区别与协同关系解读
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-10 18:19 , Processed in 0.281282 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表