> 很多新手看到黑底白字的命令行就头疼,但 Linux 服务器管理、程序开发、自动化运维都离不开它。其实常用的核心命令也就十几个,掌握它们,你就能搞定 90% 的日常操作。
---
## 为什么要学命令行?
如果你有个人网站或者 VPS 服务器,迟早要跟命令行打交道。图形界面虽然直观,但远程服务器通常只有命令行可用,而且命令行的效率远高于鼠标点击。
---
## 10 个必学命令
### 1. ls - 查看目录内容
```bash
ls # 列出当前目录文件
ls -l # 详细列表(权限、大小、时间)
ls -la # 包括隐藏文件
ls -lh # 人类可读的文件大小
```
### 2. cd - 切换目录
```bash
cd /var/www # 进入指定目录
cd .. # 返回上一级
cd ~ # 回到用户主目录
cd - # 回到上一个目录
```
### 3. pwd - 显示当前路径
### 4. mkdir - 创建目录
```bash
mkdir blog # 创建单个目录
mkdir -p a/b/c # 递归创建多级目录
```
### 5. cp - 复制文件
```bash
cp file.txt backup.txt # 复制文件
cp -r dir1/ dir2/ # 递归复制整个目录
```
### 6. mv - 移动/重命名
```bash
mv old.txt new.txt # 重命名
mv file.txt /tmp/ # 移动文件
```
### 7. rm - 删除
```bash
rm file.txt # 删除文件
rm -r dir/ # 递归删除目录
rm -rf dir/ # 强制删除(谨慎使用!)
```
### 8. cat / less - 查看文件内容
```bash
cat file.txt # 一次性显示全部
less file.txt # 分页浏览(按 q 退出)
tail -f log.txt # 实时查看日志尾部
```
### 9. grep - 搜索文本
```bash
grep "error" log.txt # 搜索包含 error 的行
grep -r "TODO" ./src/ # 递归搜索目录
grep -i "warning" log.txt # 忽略大小写
```
### 10. chmod - 修改权限
```bash
chmod 755 script.sh # rwxr-xr-x
chmod 644 file.txt # rw-r--r--
chmod +x script.sh # 添加执行权限
```
---
## 几个实用小技巧
- **Tab 自动补全**:输入文件名或命令的前几个字母,按 Tab 键自动补全
- **Ctrl+C**:强制终止当前正在运行的程序
- **Ctrl+R**:搜索历史命令,避免重复输入
- **上下箭头**:浏览之前执行过的命令
- **man 命令**:查看命令的帮助文档,比如 man ls
---
## 常用组合技
| 组合命令 | 作用 |
|---------|------|
| ls -la | grep ".py" | 列出当前目录所有 Python 文件 |
| find . -name "*.log" -delete | 删除所有日志文件 |
| du -sh * | sort -h | 按大小排序显示文件/目录 |
| history | grep ssh | 查找历史中的 ssh 命令 |
---
这些命令看一遍可能记不住。把它们收藏起来,实际用到的时候查一下,用几次就熟了。命令行不需要死记硬背,关键是理解每个命令能解决什么问题。