
你是不是也有过这种情况:想查一下服务器还剩多少磁盘空间,df -h还是du -sh?想看看哪个进程在吃CPU,top进去之后按哪个键排序来着?
不是你不会,是你记不住。这很正常。Linux命令几百个,参数上千种,没人能全记住。
今天不教你“精通Linux”,只给你一份常备手册。按分类整理,附常用参数和说明。建议收藏,用到的时候翻出来查。
先看一个数据
Stack Overflow的开发者调查显示,超过70%的开发者每天使用Linux命令行。但同一项调查中,超过60%的人承认“经常需要查命令参数”。
你不是一个人。工具是拿来用的,不是拿来背的。
一、文件与目录操作
| 命令 | 常用参数 | 说明 |
|---|---|---|
ls | -l 详细列表,-a 显示隐藏文件,-h 人类可读大小 | 列出目录内容 |
cd | cd .. 上级目录,cd ~ 回家目录 | 切换目录 |
pwd | 无 | 显示当前路径 |
mkdir | -p 递归创建父目录 | 创建目录 |
rm | -r 递归删除,-f 强制不提示,-rf 删库跑路 | 删除文件或目录 |
cp | -r 递归复制,-a 保留权限和时间 | 复制文件或目录 |
mv | 无 | 移动或重命名 |
touch | 无 | 创建空文件或更新时间戳 |
find | -name 按名找,-type f 只找文件,-mtime 按修改时间 | 查找文件 |
grep | -i 忽略大小写,-r 递归目录,-n 显示行号,-A/B 显示上下文 | 搜索文件内容 |
示例:
bash
# 找最近7天修改过的日志文件 find /var/log -name "*.log" -mtime -7 # 在代码里搜某个函数 grep -r "function_name" /var/www/html
二、权限管理
| 命令 | 常用参数 | 说明 |
|---|---|---|
chmod | 755 文件权限,+x 添加执行权限 | 修改文件权限 |
chown | user:group 修改所有者和组,-R 递归 | 修改文件所有者 |
whoami | 无 | 显示当前用户 |
sudo | 无 | 以root身份执行命令 |
useradd | -m 创建家目录,-s 指定shell | 添加用户 |
权限数字速查:
7= 读+写+执行 (4+2+1)6= 读+写 (4+2)5= 读+执行 (4+1)4= 只读
示例:
bash
# 给脚本加执行权限 chmod +x script.sh # 把网站目录的所有权给www-data用户 chown -R www-data:www-data /var/www/html
三、进程管理
| 命令 | 常用参数 | 说明 |
|---|---|---|
top | P 按CPU排序,M 按内存排序,q 退出 | 实时查看进程 |
htop | 需要单独安装,更直观 | 增强版top |
ps | aux 显示所有进程,-ef 另一种格式 | 查看进程列表 |
kill | -9 强制杀死,-15 优雅终止 | 结束进程 |
pkill | 按进程名杀 | 批量结束进程 |
jobs | -l 显示PID | 查看后台任务 |
bg/fg | 无 | 将任务放到后台/前台运行 |
示例:
bash
# 找到进程名包含php-fpm的PID ps aux | grep php-fpm # 强制杀掉进程ID为1234的进程 kill -9 1234 # 杀掉所有nginx进程 pkill nginx
反常识点:kill -9不是首选。它直接切断进程,可能导致文件损坏或资源没释放。优先用kill -15(默认),给进程5秒钟清理资源。
四、磁盘与存储
| 命令 | 常用参数 | 说明 |
|---|---|---|
df | -h 人类可读,-i 查看inode | 看磁盘分区使用情况 |
du | -sh 总大小,-h --max-depth=1 看一级目录 | 看目录或文件大小 |
lsblk | 无 | 列出所有块设备(硬盘分区) |
mount | 无 | 查看挂载点 |
示例:
bash
# 看磁盘还剩多少空间 df -h # 找根目录下最大的10个文件夹 du -sh /* 2>/dev/null | sort -hr | head -10
五、网络排查
| 命令 | 常用参数 | 说明 |
|---|---|---|
ping | -c 4 只发4次 | 测试连通性和延迟 |
curl | -I 只看响应头,-o /dev/null -s -w '%{time_total}' 测响应时间 | 测试HTTP请求 |
wget | -O 指定输出文件名 | 下载文件 |
netstat | -tunlp 看监听端口和对应进程 | 查看网络连接 |
ss | -tunp 比netstat更快 | 查看网络连接(新版) |
traceroute | 无 | 追踪路由路径 |
nslookup / dig | 无 | 查询DNS解析 |
示例:
bash
# 查看哪个进程在监听80端口
netstat -tunlp | grep :80
# 查看当前所有TCP连接
ss -tunp
# 测试网站响应时间
curl -o /dev/null -s -w 'Total: %{time_total}s\n' https://example.com
六、系统信息与资源
| 命令 | 常用参数 | 说明 |
|---|---|---|
uptime | 无 | 查看系统运行时间和负载 |
free | -h 人类可读 | 查看内存使用 |
uname | -a 所有信息 | 查看内核版本 |
cat /etc/os-release | 无 | 查看操作系统版本 |
dmesg | -T 显示时间戳 | 查看内核日志 |
systemctl | status 状态,start/stop/restart 启停,enable/disable 开机自启 | 管理systemd服务 |
示例:
bash
# 查看系统负载(1分钟、5分钟、15分钟平均值) uptime # 查看内存和swap使用 free -h # 重启nginx服务 systemctl restart nginx
七、压缩与打包
| 命令 | 常用参数 | 说明 |
|---|---|---|
tar | -czf 创建压缩,-xzf 解压,-tf 查看内容 | 最常用打包工具 |
zip/unzip | -r 递归压缩 | zip格式 |
gzip/gunzip | 无 | 单文件压缩 |
示例:
bash
# 打包并压缩整个目录 tar -czf backup.tar.gz /var/www/html # 解压到当前目录 tar -xzf backup.tar.gz # 查看压缩包内容(不解压) tar -tf backup.tar.gz
八、常用快捷键
| 快捷键 | 作用 |
|---|---|
Ctrl+C | 终止当前命令 |
Ctrl+Z | 暂停当前命令(放后台) |
Ctrl+D | 退出当前终端(相当于exit) |
Ctrl+L | 清屏(相当于clear) |
Ctrl+A | 光标移到行首 |
Ctrl+E | 光标移到行尾 |
Ctrl+U | 删除光标前所有内容 |
Ctrl+K | 删除光标后所有内容 |
Tab | 自动补全命令或路径 |
↑/↓ | 浏览命令历史 |
一个真实案例
一个刚入行的运维朋友,每天要在不同服务器上排查问题。开始的时候,每执行一个操作都要百度查命令,效率很低。
后来我把这份手册发给他,存在手机备忘录里。他说:“以前查一个chmod参数要2分钟,现在10秒看一眼就行。”
一个月后,他不需要翻手册也能直接敲了。不是背下来了,是用多了自然就记住了。
最后一句
命令手册不是让你背的,是让你用的。遇到不确定的参数,翻出来看一眼。
你会发现,你需要的不是“精通所有命令”,而是“知道有哪些命令可用,用的时候能快速查到”。
存下这份手册。下次忘了,回来翻。




