这一篇是 Tools of the Trade Linux and SQL 的配套速查表。AI 在 terminal 跑任何命令,本质都在做 6 件事之一——目录导航 / 读文件 / 改文件 / 搜索 / 权限 / 查帮助。先按类别定位,再查命令。
看 Linux 命令前先认 3 个名词
- Shell —— 你和 OS 之间的”翻译”。Bash 是最常见的 shell。
- 命令 + 选项 + 参数 —— 结构永远是
命令 -选项 参数,例:ls -l /home
- 绝对路径 vs 相对路径 ——
/var/log/auth.log 从 根目录 / 开始 / ./auth.log 从当前目录开始
28 命令速查表
| 类别 | 命令 | 干什么用 | 例子 |
|---|
| 目录导航 | pwd | 显示当前所在目录 | pwd → /home/shawn |
| 目录导航 | ls | 列出当前目录的文件 | ls |
| 目录导航 | ls -l | 列详细信息(权限/属主/大小/时间) | ls -l |
| 目录导航 | ls -a | 包括隐藏文件(. 开头) | ls -a |
| 目录导航 | ls -la | 详细 + 隐藏一起 | ls -la |
| 目录导航 | cd | 切换目录 | cd /var/log |
| 目录导航 | cd .. | 回上一级 | cd .. |
| 目录导航 | cd ~ | 回家目录 | cd ~ |
| 目录导航 | whoami | 显示当前用户名 | whoami → root |
| 读文件 | cat | 一次性显示整个文件 | cat /etc/hosts |
| 读文件 | head | 显示前 10 行(-n N 改行数) | head -n 5 auth.log |
| 读文件 | tail | 显示最后 10 行 | tail auth.log |
| 读文件 | tail -f | 实时跟随新追加的行(监控) | tail -f auth.log |
| 读文件 | less | 翻页查看大文件(q 退出) | less long-file.log |
| 改文件 | mkdir | 建目录(-p 递归多级) | mkdir -p a/b/c |
| 改文件 | touch | 建空文件 / 更新时间戳 | touch newfile.txt |
| 改文件 | cp | 复制文件(目录加 -r) | cp -r src/ src-backup/ |
| 改文件 | mv | 移动或重命名 | mv old.txt new.txt |
| 改文件 | rm | 删文件(无回收站) | rm tempfile.log |
| 改文件 | rm -rf | 🔴 递归强删,看清路径 | rm -rf old-project/ |
| 改文件 | rmdir | 只能删空目录(比 rm -rf 安全) | rmdir empty-dir/ |
| 改文件 | nano | terminal 编辑器(Ctrl+O 保存 / Ctrl+X 退出) | nano config.yml |
| 搜索 | find | 按名字 / 时间 / 大小找文件 | find /var/log -name "*.log" |
| 搜索 | find . -mtime -7 | 7 天内改过的文件 | find . -mtime -7 |
| 搜索 | grep | 在文件里找关键词(-i 忽略大小写 / -r 递归) | grep -r "API_KEY" . |
| 搜索 | |(管道) | 上一命令输出 → 下一命令输入 | ls -la | grep "\.log" |
| 权限 | chmod | 改权限(symbolic 或 numeric 二选一) | chmod u+x deploy.sh 或 chmod 755 deploy.sh |
| 权限 | chmod 644 | 文件主可写,其他只读(普通文件标准) | chmod 644 config.yml |
| 权限 | chmod 777 | 🔴 所有人全权——基本是错的 | (慎用) |
| 权限 | chown | 改文件归属(用户:组) | chown shawn:staff deploy.sh |
| 权限 | sudo | 以 root 身份执行一条命令 | sudo apt update |
| 权限 | useradd | 新建用户 | sudo useradd alice |
| 权限 | userdel -r | 删用户并删家目录 | sudo userdel -r alice |
| 查帮助 | man | 打开命令完整手册(q 退出) | man chmod |
| 查帮助 | whatis | 一句话描述命令 | whatis grep |
| 查帮助 | apropos | 按主题词搜命令 | apropos network |
| 查帮助 | --help | 命令自带简短帮助 | ls --help |
课外但 AI 常用 — 不在课程 28 命令里但你会看到
| 命令 | 干什么用 | 例子 |
|---|
curl | 命令行发 HTTP 请求 / 下载 URL 内容 | curl https://api.example.com/users(测 API)
curl -O https://example.com/file.zip(下载文件) |
wget | 专门下载文件(比 curl 更适合大文件) | wget https://example.com/file.zip |
ssh | 远程登录另一台机器(必学,见 SSH 隧道) | ssh root@1.2.3.4 或 ssh -p 2222 user@host |
apt / apt-get | Ubuntu / Debian 的包管理器 | sudo apt install nginx |
systemctl | 管 Linux 服务(启/停/查状态/开机自启) | sudo systemctl restart nginx |
ps / top / htop | 看正在跑的进程 | ps aux | grep node |
kill | 杀进程(-9 强杀) | kill -9 12345 |
df -h / du -h | 看磁盘 / 目录占用 | df -h(整机) / du -sh ./*(当前目录每项) |
chmod 权限位速查
ls -l 看到的前 10 个字符就是权限:
-rwxr-xr-- 1 shawn staff 1024 May 20 14:00 deploy.sh
│ │ │ │
│ │ │ └─ other(其他人): 只读
│ │ └─── group(同组): 读+执行
│ └────── user(文件主): 读+写+执行
└──────── 类型(- 文件 / d 目录)
Numeric 写法:r=4 w=2 x=1 加起来。常见组合:
| 数字 | 权限 | 典型用途 |
|---|
755 | rwxr-xr-x | 可执行脚本 / 公开目录 |
644 | rw-r--r-- | 普通配置文件 |
600 | rw------- | 私钥 / 敏感配置(只文件主能读写) |
400 | r-------- | 只读私钥(更严格) |
777 | rwxrwxrwx | 🔴 world-writable,审计第一个抓 |
看 AI 在 terminal 跑命令,3 步审完
- 它在做 6 件事的哪一件?(目录导航 / 读文件 / 改文件 / 搜索 / 权限 / 查帮助) → 立刻定位分类
- 作用对象是什么路径? → 绝对路径
/ 开头特别看;rm -rf / chmod 前看路径有没有拼错
- 是不是借了 root 权限? →
sudo 开头的,影响范围放大 10 倍
必须警觉的几个组合
| AI 写这个 | 危险 |
|---|
rm -rf / 或路径开头带空格 | 🔴 删整个系统 |
chmod 777 / chmod -R 777 | 🔴 world-writable,审计必抓 |
cat ~/.ssh/id_rsa 后输出 | 🔴 私钥泄漏 |
curl xxx | bash | 🔴 直接执行远程脚本,审过再跑 |
:(){ :|:& };: | 🔴 fork bomb,机器被打满 |