Mac 终端常用指令大全(入门到进阶)

Mac 终端常用指令大全(入门到进阶)

为什么学终端?

如果你是一名开发者,迟早会遇到这样的场景:需要在服务器上排查问题,但服务器只有命令行界面;或者别人一行命令搞定的事,你还在 Finder 里点点点。终端不是炫技工具,而是效率利器。本文从日常使用出发,整理了 Mac 终端最高频的指令。


一、文件与目录:终端的基本功

1.1 你在哪,有什么?

pwd                     # 我在哪个目录?
ls                      # 这下面有什么文件?
ls -la                  # 包含隐藏文件,显示权限/大小/时间
ls -lh                  # 文件大小用 KB/MB 显示,更直观
ls -lt                  # 按修改时间排序,最新的在最上面

1.2 到处走走

cd /path/to/folder      # 去指定目录
cd ~                    # 回家(用户主目录)
cd ..                   # 上一级
cd -                    # 回到刚才的目录(反复横跳神器)
cd                      # 不带参数 = 回家

1.3 增删改查

# 创建
touch note.txt          # 新建空文件,也可用来更新文件修改时间
mkdir myproject         # 新建目录
mkdir -p src/components # 一口气创建多层目录

# 复制
cp a.txt b.txt          # 复制文件
cp -r src/ backup/      # 复制整个文件夹

# 移动/改名(mv 身兼两职)
mv old.swift new.swift  # 重命名
mv file.swift ~/Desktop/ # 移动

# 删除(高危操作,三思后行)
rm file.txt             # 删文件
rm -r folder/           # 删文件夹
rm -rf folder/          # 强制递归删除,没有确认,不可恢复!

新手建议:不确定时用 ls 先确认路径,rm -rf 之前深呼吸。

1.4 看看里面有什么

cat file.txt            # 一把全输出(小文件用)
less huge.log           # 分页浏览(上下翻,按 q 退出,按 / 搜索)
head -20 log.txt        # 只看前 20 行
tail -30 log.txt        # 只看末尾 30 行
tail -f app.log         # 实时追踪日志(调试时巨好用,Ctrl+C 停止)

二、权限管理:偶尔要用但必须会

chmod +x deploy.sh      # 让脚本可执行(+x = 加执行权限)
chmod 755 deploy.sh     # 数字模式:rwxr-xr-x

sudo chown mysql:mysql /data  # 改文件归属
# 加 sudo 表示以管理员身份执行,会要求输入密码

三、进程与系统:当电脑卡了怎么办

# 找出谁在占资源
ps aux                  # 列出所有进程,输出很长
ps aux | grep Chrome    # 只看 Chrome 相关进程
top                     # 动态任务管理器(按 q 退出)

# 关掉它
kill 1234               # 优雅结束
kill -9 1234            # 暴力结束(对方不响应时用)
pkill -f node           # 按名字杀,干掉所有 node 进程

# 磁盘还好吗
df -h                   # 各磁盘用了多少
du -sh *                # 当前目录下每个文件/文件夹多大
du -sh .                # 当前目录总共多大
du -d 1 -h ~/ | sort -hr | head -10  # 找出家里最占空间的 10 个目录

四、网络:联调排障必备

# 网络通不通
ping baidu.com          # 检查网络连通性(Ctrl+C 停止)
curl -I https://api.example.com  # 看 HTTP 响应头,确认服务是否正常

# 我的 IP 是什么
ifconfig | grep "inet " # 查看本机 IP
curl ifconfig.me        # 查看公网 IP

# 端口被谁占了?
lsof -i :8080           # 谁占了我的 8080?
lsof -i -P -n | grep LISTEN  # 查看所有监听端口

# DNS 怎么了
nslookup github.com     # 快速查域名解析
dig github.com          # 详细 DNS 信息

五、搜索:茫茫文件海里找东西

# 找文件
find . -name "*.swift"              # 当前目录下所有 Swift 文件
find . -type d -name "node_modules" # 找所有 node_modules 目录
find . -name "*.log" -mtime -3     # 最近 3 天改过的日志文件

# 找文件里的内容
grep "TODO" AppDelegate.swift       # 文件里搜 TODO
grep -r "import UIKit" ./src/       # 递归搜整个目录
grep -rn "func login" .             # 显示文件名+行号
grep -i "error" app.log             # 忽略大小写
grep -v "#" config.conf             # 排除注释行

# 找命令在哪
which python3            # 用的哪个 Python?
whereis node             # node 装哪了?

六、压缩解压:文件太大传不动?

tar -czvf project.tar.gz myproject/    # 打包+压缩(最常用)
tar -xzvf project.tar.gz               # 解压

zip -r archive.zip folder/             # 压缩为 zip(发给 Windows 用户时用)
unzip archive.zip -d /target/path/     # 解压到指定目录

七、效率翻倍的快捷键

不是命令,但比命令更常用:

快捷键 作用
Ctrl + A 跳到行首
Ctrl + E 跳到行尾
Ctrl + U 清掉光标左边的内容
Ctrl + K 清掉光标右边的内容
Ctrl + W 删除前一个单词
Ctrl + L 清屏(等于 clear
Ctrl + R 搜索历史命令(输入关键字,再按一次继续搜)
Tab 自动补全路径/命令名
!! 用 sudo 执行上一条命令:sudo !!

八、组合技:一行命令解决复杂问题

# 统计代码行数
find . -name "*.swift" | xargs wc -l | tail -1

# 找出最占空间的 5 个文件
du -sh * | sort -hr | head -5

# 批量重命名(所有 .txt 改 .md)
for f in *.txt; do mv "$f" "${f%.txt}.md"; done

# 日志里抓出所有 5xx 错误
grep " 50[0-9] " access.log | awk '{print $7}' | sort | uniq -c | sort -rn

# 后台运行,关终端也不停
nohup npm start > app.log 2>&1 &

九、Git 速查(开发每天用)

git status              # 看看改了什么
git diff                # 看看具体改了什么
git add -p              # 交互式暂存,逐个确认改动
git commit -m "xxx"     # 提交
git log --oneline -10   # 最近 10 条提交,一行一条
git stash && git pull && git stash pop  # 先藏起来,拉代码,再拿出来

十、最后几个建议

  1. 多用 manman ls 就是 ls 的说明书,比 Google 快
  2. --help 也行ls --help 通常有精简版说明
  3. 别背命令:肌肉记忆靠重复,不是死记
  4. 别名(alias):高频命令设别名,比如 alias ll='ls -lah'
  5. 装个好看的终端:推荐 iTerm2 + Oh My Zsh,带命令高亮和自动补全

这篇文章可以当作速查表收藏,用到的时候 Ctrl + F 一搜就有。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容