System
开发工具命令
跨平台通用工具
adb
$ scoop install adb
$ brew install --cask android-platform-tools
$ adb tcpip 5555
# 查看手机 ip
$ adb shell ifconfig wlan0
# 连接手机
$ adb connect 192.168.xx.xxx
# 断开连接
$ adb disconnect 192.168.xx.xxx
# 其他
$ adb kill-server
code-server
- 配置路径:
~/.config/code-server/config.yaml
$ npm install -g code-server
$ brew install code-server
$ brew uninstall code-server
$ brew info code-server # 显示 code-server 信息
$ brew services start code-server
$ brew services stop code-server
$ brew services restart code-server
# 直接运行
$ code-server
$ code-server start
$ code-server restart
$ code-server info # 查看基本信息
# 同步本地 VSCode 配置
$ ln -s ~/.vscode/extensions ~/.local/share/code-server
$ ln -s ~/.config/Code/User ~/.local/share/code-server
# 若没有 ~/.config/Code/User 文件,执行
$ ln -s ~/Library/Application\ Support/Code/User ~/.local/share/code-server
$ ln -s ~/.config/Code/Backups ~/.local/share/code-server
# 若没有 ~/.config/Code/Backups 文件,执行
$ ln -s ~/Library/Application\ Support/Code/Backups ~/.local/share/code-server
syncthing
$ scoop install syncthing
$ brew install syncthing
命令
$ syncthing -h
$ syncthing -paths # 检查默认配置路径
ngrok
$ scoop install ngrok
$ brew install ngrok
命令
$ ngrok http http://localhost:8080
uv
$ scoop install uv
$ brew install uv
zsh 补全配置
echo 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc
echo 'eval "$(uvx --generate-shell-completion zsh)"' >> ~/.zshrc
source ~/.zshrc
命令
# 安装 python,uv 能检测系统上已经安装并使用安装的 Python
$ uv python install
# 查看可用的或已安装的 Python 版本
$ uv python list
# 初始化一个新项目,目录下会生成 `pyproject.toml`、`.python-version` 文件
$ uv init
# 创建虚拟环境
$ uv venv
# 下载依赖项并添加到项目中
$ uv add
# 查看项目的依赖关系树
$ uv tree
# 从项目中删除依赖项
$ uv remove
pyenv
$ scoop install pyenv # pyenv-win
$ brew install pyenv
zsh 配置
echo '# pyenv' >> ~/.zshrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
echo '# pyenv end' >> ~/.zshrc
source ~/.zshrc
命令
# 查看可安装的 Python 版本
$ pyenv install --list
# 安装特定版本的 Python
$ pyenv install 3.9.0
# 查看已安装的版本
$ pyenv versions
# 设置全局 Python 版本
$ pyenv global 3.9.0
# 设置当前目录的 Python 版本
$ pyenv local 3.9.0
# 检查当前使用的 Python 版本
$ pyenv version
mise
$ scoop install mise
$ brew install mise
zsh 配置
echo 'eval "$(/opt/homebrew/bin/mise activate zsh)"' >> ~/.zshrc
source ~/.zshrc
命令
# 查看版本
$ mise --version
# 列出已安装的工具与版本
$ mise ls
# 查看某工具可安装的远程版本
$ mise ls-remote node
# 安装 mise.toml 中声明的所有工具
$ mise install
# 安装指定工具版本
$ mise install node@20
# 当前目录使用指定版本(写入 mise.toml)
$ mise use node@20
# 全局使用指定版本
$ mise use -g node@20
# 卸载
$ mise uninstall node@20
# 用指定环境执行命令
$ mise x node --version
# 运行任务
$ mise run
# 更新 mise 自身
$ mise self-update
mysql
$ scoop install mysql
$ brew install mysql
$ brew uninstall mysql
$ brew info mysql # 显示 MySQL 信息
$ brew services start mysql # 启动 MySQL 服务
$ brew services stop mysql # 停止 MySQL 服务
$ brew services restart mysql # 重启 MySQL 服务
$ mysql.server start # 临时启动 MySQL
$ mysql.server stop # 停止临时运行的 MySQL
启动问题排查
# 查看日志
$ tail -f /opt/homebrew/var/mysql/$(hostname).err
$ brew services stop mysql
$ rm -f ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
# 停止所有 mysql 进程
$ ps aux | grep mysqld
$ sudo pkill -9 mysqld
# 设置权限
brew services stop mysql
pkill -9 -f mysqld
sudo mkdir -p /opt/homebrew/var/mysql
sudo chown $(whoami):admin /opt/homebrew/var/mysql
mysqld --initialize-insecure --user=$(whoami) --basedir="$(brew --prefix mysql)" --datadir=/opt/homebrew/var/mysql --tmpdir=/tmp
# 重新启动
$ brew services reload mysql
命令
$ mysql -u root # 以默认用户登录 MySQL
$ mysql -u root -p # 以默认用户密码登录 MySQL
$ mysql_secure_installation # 初次安装后设置 root 用户的密码
$ mysql --version # 查看 MySQL 版本
nginx
请勿混用
nginx 命令和 brew services 管理 nginx。两者混用会导致:- 产生未被 launchd 管理的残留进程,占用端口
brew services start nginx因端口冲突而失败
brew services(launchd 托管,开机自启),避免使用 nginx 命令临时运行。$ scoop install nginx
$ brew install nginx
$ brew info nginx # 显示 nginx 信息
$ brew services start nginx # 启动 nginx 服务
$ brew services stop nginx # 停止 nginx 服务
$ brew services restart nginx # 重启 nginx 服务(修改配置后)
$ brew services list | grep nginx # 查看服务状态
# 卸载
$ brew uninstall nginx
$ rm -rf /opt/homebrew/etc/nginx # 删除配置文件
启动失败排查
# 检查端口是否被占用(默认 8888)
$ lsof -i :8888
# 查看错误日志
$ tail -20 /opt/homebrew/var/log/nginx/error.log
# 如果有残留的 root 进程,先杀掉
$ ps aux | grep nginx # 找到残留进程 PID
$ sudo kill -QUIT <pid> # 安全关闭
# 或:sudo pkill -f nginx # 关闭所有 nginx 进程
# 清理后重新启动
$ brew services restart nginx
# 权限修复(如遇 Permission denied)
$ sudo mkdir -p /opt/homebrew/var/run
$ sudo chown -R $(whoami):admin /opt/homebrew/var/run
$ sudo chmod 755 /opt/homebrew/var/run
$ sudo chown -R $(whoami):admin /opt/homebrew/var/log/nginx
$ sudo chmod -R 755 /opt/homebrew/var/log/nginx
命令
# 配置检查
$ nginx -t # 检查配置文件是否正确
$ nginx -s reload # 重新加载配置文件(修改配置后,无需重启)
# 查看
$ nginx -v # 查看 nginx 版本
$ nginx -V # 查看完整的 nginx 编译参数
$ ps aux | grep nginx # 查看所有 nginx 进程
# 临时运行(不推荐,建议使用服务管理)
$ nginx # 手动启动
$ nginx -s stop # 停止临时运行的 nginx
$ nginx -s quit # 安全关闭临时运行的 nginx
netstat
-a 显示所有连接和监听端口
-n 以数字形式显示地址和端口号
-p 显示进程ID/名称(Linux)/协议类型(Windows)
-r 显示路由表
-s 显示每个协议的统计信息
# windows 特有
-o 显示拥有每个连接的进程ID
-b 显示创建每个连接或监听端口的可执行文件
# 查看所有活动连接
$ netstat -ano
# 查看特定端口的占用情况
$ netstat -ano | findstr :80
# 只查看TCP连接
$ netstat -ano -p tcp
# 查看路由表
$ netstat -r
macOS 专属
Homebrew
命令
# 基础信息与查看
$ brew help # 查看 Homebrew 的基础帮助信息
$ brew config # 显示当前 Homebrew 的配置信息(如镜像源、版本等)
$ brew doctor # 检查系统环境,诊断并提示潜在的配置问题
$ brew doctor --verbose # 输出详细诊断信息的检查
$ brew info <formula|cask> # 显示某个软件包的详细信息(大小、依赖、官方主页等)
$ brew home <formula|cask> # 直接在浏览器中打开该软件的官方主页
# 软件的搜索、安装与卸载
$ brew search <formula|cask> # 在线搜索软件包(支持模糊匹配)
$ brew fetch <formula|cask> # 仅下载软件的安装包到缓存目录,不执行安装
$ brew fetch --force <formula|cask> # 强制重新下载指定软件的安装包
$ brew install <formula> # 安装一个命令行工具(Formula)
$ brew install --cask <cask> # 安装一个 macOS 图形界面应用程序(Cask)
$ brew uninstall <formula|cask> # 卸载指定的软件包或应用
# 已安装软件管理
$ brew list/ls # 列出本地所有已经安装的软件包/应用
$ brew list <formula|cask> # 查看某个已安装软件的具体文件安装路径
$ brew deps <formula> # 查看当前包依赖于哪些其他底层插件
$ brew uses <formula> --installed # 查看本地有哪些已安装的软件正依赖着这个包
# 软件更新与锁定
$ brew update # 更新 Homebrew 自身以及所有的软件索引
$ brew update-reset # 【急救】强制将 Homebrew 核心重置到官方最新状态
$ brew outdated # 列出本地所有有新版本可更新的软件包
$ brew upgrade # 更新本地所有已经过期的软件包
$ brew upgrade <formula|cask> # 仅更新指定的软件包
$ brew pin <formula> # 锁定该软件版本,使其在运行 upgrade 时不被自动更新
$ brew unpin <formula> # 取消版本锁定
# 系统清理与维护
$ brew cleanup -n # 预览可以清理的旧版本和缓存文件(不实际执行删除)
$ brew cleanup # 清理所有已过期的旧版本软件、未下载完的碎片和缓存
$ brew cleanup <formula|cask> # 仅清理指定软件的旧版本留存
$ brew autoremove # 自动卸载那些因为别的软件被删、现在孤立无用的依赖包
$ open $(brew --cache) # 直接在 Finder 中打开 Homebrew 的下载缓存文件夹
# 第三方仓库管理 (Tap)
$ brew tap # 查看本地已经添加的所有第三方软件仓库
$ brew tap <user/repo> # 添加并追踪一个第三方的 GitHub 软件仓库
$ brew untap <user/repo> # 移除已经添加的第三方仓库
$ brew tap --repair # 修复本地所有 tap 的 Git 仓库指针状态
# 后台服务管理 (Services)
$ brew services list # 查看当前所有后台服务的运行状态(简写:brew services ls)
$ brew services list -d # 查看所有服务状态并显示详细的调试日志
$ brew services start <formula> # 启动该服务,并设置开机自启
$ brew services stop <formula> # 停止该后台服务,并取消开机自启
$ brew services restart <formula> # 重启该后台服务
$ brew services info <formula> # 查看该服务的详细运行信息(如进程 ID、路径等)
# 环境备份与迁移 (Bundle)
# 备份当前 Mac 上的所有 brew 软件到桌面(排除 VS Code 插件)
$ brew bundle dump --no-vscode --force --file=~/Desktop/Brewfile
# 检查桌面的 Brewfile 列表里有哪些软件在当前电脑上还没安装
$ brew bundle check --file=~/Desktop/Brewfile
# 读取桌面的 Brewfile 并自动开始批量静默安装
$ brew bundle install --file=~/Desktop/Brewfile
brew 遥测
# Homebrew 默认开启匿名遥测(上报安装/搜索统计给官方维护团队)
$ brew analytics state # 查看遥测状态
$ brew analytics off # 关闭遥测
$ brew analytics on # 重新开启
# 在 ~/.zshrc 中追加:
export HOMEBREW_NO_AUTO_UPDATE=1 # 关闭自动更新
export HOMEBREW_NO_ENV_HINTS=1 # 去掉自动更新时的提示刷屏
Brew services 问题
# Brew services list 报错可尝试
$ brew untap homebrew/services # 删除当前的 services
$ brew tap homebrew/services # 重新安装
Windows 专属
Scoop
安装
env:SCOOP='D:\SoftwareApps\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
命令
$ scoop config # 查看 Scoop 的配置
$ scoop help # 列出所有可用命令
$ scoop search [关键词] # 在可用的 Bucket 中搜索应用程
$ scoop list # 列出所有已安装的软件
$ scoop info [软件名] # 显示软件包信息
$ scoop home [软件名] # 打开软件包主页
$ scoop install [软件名] # 安装软件
$ scoop install -g [软件名] # 全局安装(管理员权限)
$ scoop uninstall [软件名] # 卸载软件
$ scoop update # 更新 Scoop 自身
$ scoop update --all # 更新所有应用
$ scoop update [软件名] # 更新指定应用
$ scoop status # 检查可更新的应用
$ scoop hold [软件名] # 禁止更新指定应用
$ scoop unhold [软件名] # 解除禁止更新指定应用
$ scoop cache show # 显示缓存
$ scoop cache rm [软件名] # 删除指定应用缓存
$ scoop cleanup [软件名] # 清理旧版本
# Bucket 本质上是一个 应用程序清单的仓库,它负责存储和管理应用程序的清单,扩展 Scoop 的应用程序范围,简化软件的安装和更新过程。
$ scoop bucket list # 列出已添加的所有 Bucke
$ scoop bucket known # 列出所有官方认可的 Bucket
$ scoop bucket add [名称] # 添加 Bucket
$ scoop bucket rm [名称] # 删除 Bucket
$ scoop export > ~/Desktop/scoop_backup.json # 导出已安装 Scoop 应用
$ scoop import ~/Desktop/scoop_backup.json # 从备份文件恢复所有应用
$ scoop alias list
$ scoop alias add [名称] [命令] # scoop alias add ls 'scoop list'
$ scoop alias rm [名称]
$ scoop alias show [名称]
其它工具下载
$ scoop install winsw # 可执行包装程序,起 windows 服务
$ scoop install tabby # SSH 和 Telnet 连接终端
# 安装字体
$ scoop bucket add nerd-fonts
$ scoop install LXGWWenKaiMono
$ scoop install FiraCode-NF
$ scoop install FiraCode-NF-Mono
$ scoop install Monaspace-NF
$ scoop install Monaspace-NF-Mono
$ scoop install Maple-Mono-NF-CN
Powershell
$ E: # 切换盘符
$ systeminfo # 显示完整的系统信息
$ $PROFILE # 配置文件地址
$ $PSVersionTable # 查看版本
$ (Get-Host).Version # 查看版本
$ dir # 查看当前目录内容
$ dir ad # 仅查看文件夹
$ tree # 以树状图显示目录结构
$ $psversiontable # 查看版本
$ get-ExecutionPolicy
$ set-ExecutionPolicy RemoteSigned
Cmd
$ E: # 切换盘符
$ E: & \directory # 直接切换到其他盘符的某个目录
$ cd /d D:\directory # 强制切换
$ systeminfo # 显示完整的系统信息
$ ver # 查看版本
$ dir # 查看当前目录内容
$ dir ad # 仅查看文件夹
$ tree # 以树状图显示目录结构
tasklist
$ tasklist /?
$ tasklist | findstr "nginx"
taskkill
$ taskkill /?
$ taskkill /F /IM nginx.exe /T