Mac使用技巧:终端命令
发布时间:2026-04-26 10:00
一、前言
搞过的人都知道,Mac的终端跟Linux服务器那套还是有点不同的,最烦的是路径、命令、权限一堆破事混在一起。搞运维的都知道,终端用得溜不溜直接决定你Mac用得爽不爽。今天把这10年踩过的坑整明白。
二、操作步骤
步骤1:打开终端
终端是Mac的命根子,不会用终端等于Mac用了一半。
# 方式一:Spotlight搜索打开(最快)
# 按 Command + 空格,输入 terminal,回车
# 方式二:通过实用工具文件夹
open -a "Terminal"
# 方式三:通过Finder
open /Applications/Utilities/Terminal.app
预期输出:终端窗口打开,显示类似 用户名@hostname ~ % 的提示符,~ 表示当前在home目录。
步骤2:查看当前目录和文件
进入终端后先看看自己在哪,别乱跑。
# 查看当前工作目录
pwd
# 列出当前目录所有文件(包括隐藏文件)
ls -la
# 带颜色显示文件类型
ls -G
预期输出:
/Users/你的用户名
total 120
drwxr-xr-x 10 你的用户名 staff 320 6月 15 10:30 .
drwxr-xr-x 5 root admin 160 6月 12 09:00 ..
-rw-r--r-- 1 你的用户名 staff 6148 6月 15 09:20 .bash_profile
-rw------- 1 你的用户名 staff 3726 6月 10 14:22 .zshrc
drwxr-xr-x 3 你的用户名 staff 96 6月 15 10:30 Applications
drwxr-xr-x 4 你的用户名 staff 128 6月 14 11:00 Documents
步骤3:切换目录
Mac的目录结构跟Linux不一样,home在/Users下,别搞混。
# 切换到用户home目录
cd ~
# 切换到应用程序目录
cd /Applications
# 返回上级目录
cd ..
# 返回上一次目录(非常实用)
cd -
# 查看当前目录内容
ls
预期输出:
# cd /Applications 后
/Applications
# ls 输出
Adobe Google Microsoft Parallels Safari.app
步骤4:查看和管理进程
Mac上的进程管理跟Linux类似,但有些差异。
# 查看所有进程(按CPU排序)
ps aux | head -20
# 查找特定进程
ps aux | grep -i safari
# 查看特定端口占用
lsof -i :8080
# 强制结束进程(谨慎使用)
kill -9 进程ID
预期输出:
# ps aux | grep -i safari
你的用户名 1234 0.2 3.2 456789 12345 ?? S 10:30 1:23.00 /Applications/Safari.app
你的用户名 5678 0.0 0.0 24680 512 s+ S+ 11:00 0:00.00 grep -i safari
步骤5:网络相关命令
网络诊断是运维的基本功,Mac上这些命令都有。
# 查看网络接口配置
ifconfig | grep "inet "
# 测试网络连通性
ping -c 4 www.apple.com
# 查看路由表
netstat -rn
# DNS查询
dig www.baidu.com
# 查看端口监听情况
sudo lsof -i -P | grep LISTEN
预期输出:
# ifconfig | grep "inet "
inet 127.0.0.1 netmask 0xff000000
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
# ping -c 4 www.apple.com
PING www.apple.com (17.253.144.10): 56 data bytes
64 bytes from 17.253.144.10: icmp_seq=0 ttl=57 time=12.345 ms
4 packets transmitted, 4 packets received, 0.0% packet loss
步骤6:文件操作
Mac的文件系统是大小写不敏感的HFS+/APFS,这点跟Linux不一样。
# 创建文件夹
mkdir test_project
# 创建文件
touch test.txt
# 复制文件
cp test.txt test_backup.txt
# 移动/重命名文件
mv test.txt new_test.txt
# 删除文件
rm new_test.txt
# 删除目录(目录必须为空)
rmdir test_project
预期输出:
# mkdir test_project && cd test_project
# touch test.txt
# ls -la
total 8
drwxr-xr-x 2 你的用户名 staff 64 6月 15 12:00 .
drwxr-xr-x 8 你的用户名 staff 256 6月 15 12:00 ..
-rw-r--r-- 1 你的用户名 staff 0 6月 15 12:00 test.txt
步骤7:系统信息和资源监控
搞运维的得随时知道系统资源够不够用。
# 查看系统版本
sw_vers
# 查看CPU和内存
sysctl hw.model hw.memsize
# 查看磁盘使用
df -h
# 实时查看资源占用(类似top)
top -l 1 | head -20
# 使用htop(需brew安装)
brew install htop
sudo htop
预期输出:
# sw_vers
ProductName: macOS
ProductVersion: 14.5
BuildVersion: 23F79
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/disk3s1s1 466Gi 49Gi 415Gi 11% /
devfs 186Ki 186Ki 0Bi 100% /dev
步骤8:软件包管理Homebrew
Mac上没yum/dnf,brew是必备的包管理工具。
# 安装Homebrew(如果还没装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 更新brew自身
brew update
# 搜索软件包
brew search nginx
# 安装软件
brew install nginx
# 列出已安装的软件
brew list
# 卸载软件
brew uninstall nginx
预期输出:
# brew search nginx
nginx nginx@1.24 openresty
# brew install nginx
Running brew bundle install...
nginx 1.26.1 is already installed
# brew list | grep nginx
nginx
三、常见问题FAQ
Q1:终端提示"Operation not permitted"是咋回事?
Mac的系统完整性保护SIP在作妖,某些系统目录和操作需要关闭SIP或用sudo。搞运维的都懂,生产环境别乱动SIP。如果是文件访问问题,去"系统偏好设置 → 安全性与隐私 → 隐私 → 完全磁盘访问权限"把终端加进去。
Q2:命令补全不好使怎么办?
默认的bash/zsh补全都还行,不行的话手动触发。按Tab键补全命令/路径,两次Tab显示所有候选项。如果你在用zsh(macOS默认),可以装oh-my-zsh增强补全体验:sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Q3:sudo输错密码会怎样?
连续输错5次密码会锁你5分钟,macOS的安全机制跟Linux不一样。密码输错了等5分钟自动解锁,别傻等,多试也没用。提权命令别乱用,搞出问题来有你受的。
Q4:路径里的空格和特殊字符怎么处理?
Mac文件系统空格多,路径用引号包起来准没错:cd "/Applications/Visual Studio Code.app"。或者用反斜杠转义空格:cd /Applications/Visual\ Studio\ Code.app。文件名Tab补全自动处理空格,比手动敲靠谱。
Q5:命令历史记录怎么用?
上下箭头翻历史命令,history查看所有历史。Ctrl+R反向搜索历史(很实用!),输入关键词匹配之前的命令。!n执行第n条历史命令。!!执行上一条命令。运维老手都靠这些偷懒。
四、总结
核心要点:
- Mac终端本质是Unix环境,Linux命令大部分通用,但路径、文件系统有些差异
- 搞运维的必须掌握ps、lsof、netstat、df、top这些诊断命令
- Homebrew是Mac包管理的命根子,brew用不6等于Mac用了一半
- SIP系统保护会影响某些操作,别乱动系统文件
- 善用Tab补全和命令历史,能少敲80%的命令
延伸阅读: