Linux 命令速查表
Linux 是服务器开发和运维的基础。本速查表按场景分类整理了最常用的 Linux 命令,从文件操作到系统管理,每个命令都有实际使用示例。无论你是刚接触 Linux 还是需要快速查阅某个命令,这份速查表都能帮到你。
使用场景速查
| 你要做什么 | 用哪个命令 |
| 查看当前目录 | pwd |
| 列出文件 | ls -la |
| 切换目录 | cd /path |
| 查看进程 | ps aux / top |
| 搜索文件 | find / -name "file" |
| 搜索内容 | grep "text" file |
| 修改权限 | chmod 755 file |
| 查看磁盘 | df -h / du -sh |
| 安装软件 | apt install pkg |
| 查看系统状态 | systemctl status |
文件操作
### 文件与目录管理
``bash
# 查看当前路径
pwd
# 列出目录内容 ls -la # 详细列表(含隐藏文件) ls -lh # 人类可读大小 ls -ltr # 按时间倒序
# 切换目录 cd /tmp # 进入指定目录 cd ~ # 回到 home cd - # 回到上一个目录
# 创建与删除
mkdir -p a/b/c # 递归创建目录
touch file.txt # 创建空文件
rm -rf dir/ # 递归强制删除(⚠️ 危险)
cp -r src dst # 递归复制
mv src dst # 移动或重命名
`
### 查看文件内容
`bash
cat file.txt # 显示全部
less file.txt # 分页查看(空格翻页,q 退出)
head -n 20 file # 显示前 20 行
tail -f log.log # 实时跟踪日志
wc -l file # 统计行数
`
> 提示: rm -rf / 会删除整个系统。使用 rm 时务必确认路径。
进程管理
`bash
# 查看进程
ps aux # 所有进程
ps aux | grep nginx # 过滤
top # 实时监控(按 q 退出,按 1 看 CPU 核心)
# 管理进程
kill PID # 按 PID 终止
kill -9 PID # 强制终止(SIGKILL)
pkill -f "name" # 按进程名终止
nohup command & # 后台运行,关终端不退出
jobs # 列出后台任务
fg %1 # 将后台任务调到前台
`
网络管理
`bash
# 网络诊断
ping -c 4 8.8.8.8 # 连通性测试
curl -I https://example.com # HTTP 头
wget -O output.zip https://... # 下载文件
traceroute host # 路由追踪
# 端口与连接 ss -tulpn # 监听端口(替代 netstat) ss -tulpn | grep :80 # 查看 80 端口占用
# 远程连接
ssh user@host -p 22 # SSH 登录
scp file user@host:/path/ # 文件传输
rsync -av src/ dst/ # 增量同步
`
搜索与查找
`bash
# 搜索文件
find /home -name "*.log" # 按文件名
find /home -type f -size +10M # 按类型和大小
# 搜索内容 grep "error" logfile # 基本搜索 grep -r "TODO" src/ # 递归目录搜索 grep -i "warning" log # 忽略大小写 grep -C 3 "error" log # 显示上下文 3 行
# 定位命令
which nginx # 命令路径
whereis nginx # 二进制+源码+文档路径
`
权限管理
`bash
# 更改权限
chmod 755 script.sh # rwx r-x r-x
chmod +x script.sh # 添加可执行
chmod -R 644 dir/ # 递归修改文件
# 更改所有者 chown user:group file chown -R user:group dir/
# 查看权限
ls -la # 第一列: -rwxr-xr-x
`
> 权限位速查: r=4, w=2, x=1 → rwx=7, r-x=5, r--=4, ---=0
磁盘管理
`bash
# 查看磁盘
df -h # 磁盘空间(人类可读)
du -sh * # 当前目录各项目大小
du -sh /var/log/ # 指定目录总大小
# 挂载管理
mount # 查看已挂载
mount /dev/sdb1 /mnt # 挂载设备
umount /mnt # 卸载
`
包管理
`bash
# Debian/Ubuntu (apt)
apt update # 更新软件源
apt install nginx # 安装
apt remove nginx # 卸载
apt search "keyword" # 搜索包
# RHEL/CentOS (yum/dnf)
yum install nginx # 安装
dnf install nginx # Fedora 新版
`
> 贴士: apt 和 yum 命令不同但用法相似。不确定发行版时先 cat /etc/os-release。
系统管理
`bash
# 系统信息
uname -a # 内核版本
hostnamectl # 主机名 + 系统信息
uptime # 运行时间 + 负载
whoami # 当前用户
# 服务管理 (systemd) systemctl status nginx # 查看服务状态 systemctl start nginx # 启动 systemctl stop nginx # 停止 systemctl restart nginx # 重启 systemctl enable nginx # 开机自启
# 日志 journalctl -u nginx # 查看服务日志 journalctl -u nginx -n 50 # 最近 50 条 journalctl -u nginx -f # 实时追踪
# 系统负载
free -h # 内存使用
uptime # 负载均值(1min/5min/15min)
htop # 交互式监控(如已安装)
`
实用技巧
`bash
# 管道与重定向
command | grep "xxx" # 管道过滤
command > file.log # 输出重定向(覆盖)
command >> file.log # 输出重定向(追加)
command 2>&1 # 错误输出一并重定向
# 历史命令 history # 查看历史 !! # 执行上一条命令 !$ # 上一条命令的最后一个参数 ctrl+r # 搜索历史(按后继续按 ctrl+r 翻页)
# 快捷操作
ctrl+c # 强制终止
ctrl+d # 退出终端或 EOF
ctrl+z # 暂停当前任务
`
常见问题
| 症状 | 原因 | 修复 |
command not found | 命令未安装或不在 PATH | which command 检查,或用 /usr/bin/command 全路径 | |
Permission denied | 没有执行权限 | chmod +x file 或 sudo | |
| 磁盘满了 | / 分区占用 100% | df -h 定位,du -sh /* 找大目录 | |
| 端口被占用 | 另一个进程在监听 | ss -tulpn \ | grep :端口 看 PID,kill PID |
| 进程杀不死 | 僵死进程 | 先 kill,不行用 kill -9`,再不行重启 |
文件操作(13)
| 命令 | 难度 | ||
|---|---|---|---|
pwd显示当前工作目录 | 基础 | pwd | |
ls列出目录内容 | 基础 | ls -la | |
cd切换工作目录 | 基础 | cd /home/user/project | |
mkdir创建目录 | 基础 | mkdir -p a/b/c | |
touch创建空文件或更新文件时间戳 | 基础 | touch file.txt | |
cp复制文件或目录 | 基础 | cp -r src/ dst/ | |
mv移动或重命名文件 | 基础 | mv old.txt new.txt | |
rm删除文件或目录 rm -rf / 会删除整个系统!使用前务必确认路径 | 基础 | rm -rf dir/ | |
cat显示文件全部内容 | 基础 | cat file.txt | |
less分页查看文件内容 | 基础 | less file.txt | |
head显示文件开头若干行 | 基础 | head -n 20 file.txt | |
tail显示文件末尾若干行 | 基础 | tail -f log.log | |
wc统计文件行数、单词数和字节数 | 基础 | wc -l file.txt |
进程管理(6)
| 命令 | 难度 | ||
|---|---|---|---|
ps显示当前运行的进程列表 | 基础 | ps aux | |
top实时显示系统进程和资源占用 | 中级 | top | |
kill终止指定 PID 的进程 kill -9(SIGKILL)应作为最后手段,优先用 kill(SIGTERM) | 中级 | kill -9 1234 | |
nohup运行命令,忽略挂断信号(关闭终端后继续运行) | 中级 | nohup long-running-script.sh & | |
pkill按进程名终止进程 | 中级 | pkill -f "node server" | |
htop交互式进程查看器(增强版 top) | 中级 | htop |
网络管理(8)
| 命令 | 难度 | ||
|---|---|---|---|
ping测试网络连通性 | 基础 | ping -c 4 8.8.8.8 | |
curl发送 HTTP 请求或下载文件 | 中级 | curl -I https://example.com | |
wget从网络下载文件 | 基础 | wget -O output.zip https://example.com/file.zip | |
ss查看网络套接字统计(替代 netstat) | 中级 | ss -tulpn | |
ssh远程登录到 SSH 服务器 | 中级 | ssh user@hostname -p 22 | |
scp通过 SSH 复制文件 | 中级 | scp file.txt user@host:/tmp/ | |
rsync增量文件同步工具 | 中级 | rsync -av src/ user@host:/dst/ | |
traceroute追踪数据包到目标主机的路由路径 | 中级 | traceroute example.com |
搜索查找(4)
| 命令 | 难度 | ||
|---|---|---|---|
find按条件搜索文件 搜索范围过大时可能较慢,建议用 -maxdepth 限制深度 | 中级 | find /home -name "*.log" | |
grep在文件中搜索文本模式 | 中级 | grep -r "TODO" src/ | |
which显示命令的完整路径 | 基础 | which nginx | |
whereis显示命令的二进制、源码和文档路径 | 基础 | whereis nginx |
权限管理(2)
| 命令 | 难度 | ||
|---|---|---|---|
chmod更改文件或目录的权限 | 中级 | chmod 755 script.sh | |
chown更改文件或目录的所有者 | 中级 | chown user:group file.txt |
磁盘管理(4)
| 命令 | 难度 | ||
|---|---|---|---|
df查看文件系统磁盘空间使用情况 | 基础 | df -h | |
du估算文件或目录的磁盘使用量 | 基础 | du -sh /var/log/ | |
mount挂载文件系统或设备 | 中级 | mount /dev/sdb1 /mnt | |
umount卸载已挂载的文件系统 | 中级 | umount /mnt |
包管理(3)
| 命令 | 难度 | ||
|---|---|---|---|
aptDebian/Ubuntu 包管理器 | 中级 | apt install nginx | |
yumRHEL/CentOS 包管理器 | 中级 | yum install nginx | |
dnfFedora/RHEL 新一代包管理器 | 中级 | dnf install nginx |
系统管理(6)
| 命令 | 难度 | ||
|---|---|---|---|
uname显示系统内核信息 | 基础 | uname -a | |
uptime显示系统运行时间和负载 | 基础 | uptime | |
systemctlsystemd 服务管理器 | 中级 | systemctl status nginx | |
journalctl查看 systemd 日志 | 中级 | journalctl -u nginx -n 50 -f | |
free显示系统内存使用情况 | 基础 | free -h | |
hostnamectl查看或设置主机名和系统信息 | 基础 | hostnamectl |
Shell 技巧(1)
| 命令 | 难度 | ||
|---|---|---|---|
history查看命令历史记录 | 基础 | history | grep "git" |