Unix 命令行基础
开发工具 Unix Bash一、什么是命令行
1.1 Shell 与 Kernel
操作系统就像一颗 开心果:
| 层次 | 类比 | 计算机中的含义 |
|---|---|---|
| Kernel(内核) | 果仁 | 与硬件交互的核心程序 |
| Shell(外壳) | 果壳 | 用户与内核交互的 界面 |
Shell 有两种形式:
- GUI(图形界面):Finder、Windows Explorer
- CLI(命令行界面):Terminal、Git Bash
1.2 Bash Shell
Bash = Bourne Again Shell(以 Stephen Bourne 命名)
- Unix/Linux 系统的标准 CLI
- macOS 内置(也可用 zsh)
- Windows 需安装 Git Bash
1.3 为什么使用命令行
| 优势 | 示例 |
|---|---|
| 速度更快 | 创建文件夹:mkdir music vs 右键 → 新建 → 命名 |
| 更多控制 | 可以查看隐藏文件:ls -a |
| 自动化 | 批量操作、脚本编写 |
| Git 操作 | 大部分开发者通过命令行使用 Git |
二、目录导航
2.1 核心命令
| 命令 | 全称 | 功能 | 示例 |
|---|---|---|---|
ls | List | 列出当前目录内容 | ls |
ls -a | List All | 列出所有文件(含隐藏) | ls -a |
cd | Change Directory | 切换目录 | cd Documents |
pwd | Print Working Directory | 显示当前完整路径 | pwd |
2.2 路径导航
bash
# 进入子目录
cd Documents
# 进入多层子目录(完整路径)
cd Documents/Learn/Languages
# 返回上一级
cd ..
# 连续返回多级
cd ../..
# 回到用户根目录
cd ~2.3 Tab 自动补全
bash
cd Doc[Tab] # 自动补全为 cd Documents/
cd Do[Tab] # 如果有 Documents 和 Downloads,显示两个选项
cd Dow[Tab] # 补全为 cd Downloads/💡 Tab 补全 也可以验证你是否在正确的目录中——如果按 Tab 没反应,说明当前目录下没有匹配的文件/文件夹。
三、文件与目录操作
3.1 创建
bash
# 创建目录
mkdir my-project
# 创建文件
touch index.html
touch styles.css index.js
# 创建隐藏目录(以 . 开头)
mkdir .secrets3.2 打开文件
bash
# 用默认应用打开
open index.html
# 指定应用打开
open -a "Visual Studio Code" index.js3.3 删除
bash
# 删除文件
rm text.txt
# 删除当前目录所有文件(通配符 *)
rm *
# 删除目录(需要 -r 递归标志)
rm -r my-folder危险命令
bash
# ❌ 永远不要执行!
sudo rm -rf --no-preserve-root /sudo— 超级用户权限rm -r— 递归删除目录-f— 强制、不确认--no-preserve-root /— 从根目录开始删除
这会不可逆地清除整个硬盘。 删除前务必用 pwd 确认当前位置。
四、快捷键
| 快捷键 | 功能 |
|---|---|
↑ / ↓ | 浏览历史命令 |
Tab | 自动补全文件/目录名 |
Ctrl + A | 光标移至行首 |
Ctrl + E | 光标移至行尾 |
Ctrl + U | 清除当前输入行 |
Ctrl + C | 中断当前进程 |
Option + 点击 | 移动光标到点击位置(macOS) |
五、常用命令速查表
| 命令 | 功能 |
|---|---|
ls | 列出目录内容 |
ls -a | 列出所有文件(含隐藏) |
cd <path> | 切换目录 |
cd .. | 返回上一级 |
cd ~ | 回到用户根目录 |
pwd | 显示当前路径 |
mkdir <name> | 创建目录 |
touch <name> | 创建文件 |
open <file> | 打开文件 |
rm <file> | 删除文件 |
rm -r <dir> | 删除目录(递归) |
clear | 清屏 |