Linux 常用指令使用指南:从入门到"救命"
作者:书到用时方恨少!
发布日期:2026年4月9日
阅读时长:约22分钟
📌 写在前面
你是否曾在深夜面对黑底白字的终端,却想不起那个救命的命令?是否曾在服务器崩溃边缘疯狂搜索"linux 查看端口占用"?Linux 命令行就像一把瑞士军刀------功能强大,但每次都要"书到用时方恨少"时才后悔没记牢。
这篇博客将用最接地气的方式,带你梳理文件操作、系统管理、网络排查、进程控制四大领域的常用命令。每个命令都配有实际场景、常用选项和记忆口诀,让你从此告别"百度一下"。无论你是刚接触 Linux 的小白,还是需要随时查阅的老鸟,这份指南都值得你收藏。
准备好了吗?打开终端,我们开始!
1. 📁 文件与目录操作 ------ 走遍天下都不怕
1.1 pwd ------ 我在哪儿?
bash
pwd
pwd (Print Working Directory) 输出当前所在的绝对路径。登上陌生服务器第一件事就是 pwd 定位自己。
bash
[user@server ~]$ pwd
/home/user
记忆口诀 :P lease W here am I Dude?
1.2 ls ------ 有什么东西?
bash
ls [选项] [目录]
ls (List) 是使用频率最高的命令,没有之一。只看 ls 不传参数,等于只看文件名;加上选项,才是真正的侦察兵。
必知必会的选项组合:
| 选项 | 含义 | 联想记忆 |
|---|---|---|
-l |
长格式显示(权限、大小、时间) | long |
-a |
显示所有文件,包括隐藏文件(以 . 开头) |
all |
-h |
人类可读的文件大小(如 1K, 234M) | human |
-t |
按修改时间排序,最新的在前 | time |
-r |
逆序排列 | reverse |
最佳实践:
bash
ls -lh # 详细信息 + 带单位的大小
ls -la # 查看隐藏文件 + 详细列表
ls -ltr # 按时间从旧到新排列(找最近改动的文件神器)
🎨 彩蛋 :
ls输出的颜色有讲究:蓝色是目录,绿色是可执行文件,红色是压缩包,浅蓝色是软链接。
1.3 cd ------ 我要去那儿!
bash
cd [目录路径]
cd (Change Directory) 是你穿梭目录树的任意门。几个快捷方式请刻在肌肉记忆里:
| 快捷方式 | 作用 |
|---|---|
cd ~ 或 cd |
回到当前用户的家目录 |
cd - |
返回上一次所在的目录(切换两个路径时无敌好用) |
cd .. |
返回上一层目录 |
cd / |
去往系统根目录 |
1.4 mkdir ------ 建个新房子
bash
mkdir [选项] 目录名
创建新目录。但要一口气建一串嵌套目录怎么办?
bash
mkdir -p project/src/components # -p 自动创建缺失的父目录
有了 -p,再也不用手动一层层 cd 进去创建了。
1.5 touch ------ 创造空文件或更新时间戳
bash
touch 文件名
虽然叫"触摸",但主要用来快速生成空文件,或者更新文件的访问/修改时间。
bash
touch index.html style.css app.js # 一次性创建三个文件
1.6 cp 和 mv ------ 复制与移动
bash
cp [选项] 源文件 目标文件
mv [选项] 源文件 目标文件
cp(Copy):复制文件或目录。mv(Move):移动/重命名文件或目录。
常用选项:
| 选项 | cp |
mv |
|---|---|---|
-r |
递归复制整个目录 | - |
-i |
覆盖前询问 | 覆盖前询问 |
-u |
仅复制更新的文件 | 仅移动更新的文件 |
-v |
显示过程信息 | 显示过程信息 |
示例:
bash
cp -r project backup/ # 复制整个 project 目录到 backup
mv oldname.txt newname.txt # 重命名文件
mv file.txt /tmp/ # 移动文件到 /tmp
1.7 rm ------ 删库跑路?请三思!
bash
rm [选项] 文件或目录
rm (Remove) 是危险的命令,一旦删除,极难恢复。务必养成良好习惯。
常用选项:
| 选项 | 作用 |
|---|---|
-r |
递归删除目录及其内容 |
-f |
强制删除,不询问 |
-i |
删除前逐一确认(推荐) |
-v |
显示删除过程 |
bash
rm -i important.txt # 安全删除
rm -rf /some/path # 危险!请再三确认路径是否正确
⚠️ 警告 :永远不要执行
rm -rf /,这会清空整个系统。
1.8 cat、less、head、tail ------ 查看文件内容
| 命令 | 用途 | 适用场景 |
|---|---|---|
cat |
一次性输出全部内容 | 小文件、拼接文件 |
less |
分页浏览,支持前后翻页 | 阅读长文件、日志 |
head |
显示文件开头若干行(默认10行) | 快速预览文件头 |
tail |
显示文件末尾若干行 | 查看最新日志 |
常用姿势:
bash
cat file1.txt file2.txt > merged.txt # 合并文件
less /var/log/syslog # 上下键滚动,按 q 退出
head -n 20 app.log # 显示前20行
tail -f /var/log/nginx/access.log # 实时追踪日志输出(超级常用!)
💡
tail -f是排查线上问题的"天眼",务必掌握。
1.9 ln ------ 创建链接
bash
ln [选项] 目标 链接名
- 硬链接(默认):同一个文件多个名字,删除源文件不影响链接。
- 软链接 (符号链接,
-s):类似 Windows 快捷方式,指向源文件路径。
bash
ln -s /usr/bin/python3 python # 创建软链接,方便调用
1.10 find 和 grep ------ 查找文件与内容
bash
find [路径] [条件] [动作]
grep [选项] "模式" [文件...]
find:根据文件名、大小、时间等查找文件。grep:在文件内容中搜索匹配的文本。
find 常用示例:
bash
find . -name "*.log" # 当前目录下找所有 .log 文件
find /home -size +100M # 查找大于 100M 的文件
find /tmp -mtime -7 # 查找最近7天内修改过的文件
find . -type f -exec chmod 644 {} \; # 对找到的文件执行 chmod
grep 常用示例:
bash
grep "error" app.log # 在 app.log 中搜索 error
grep -r "TODO" src/ # 递归搜索 src 目录下所有文件中的 TODO
ps aux | grep nginx # 配合管道,过滤进程信息
grep -v "#" config.conf # 排除以 # 开头的注释行
🔥 组合技 :
find找到文件,grep再查内容,排查问题无敌。
2. ⚙️ 系统信息与权限管理 ------ 知己知彼
2.1 ps 和 top ------ 进程查看
bash
ps [选项]
top
ps(Process Status):查看当前进程快照。top:实时动态显示进程信息(类似 Windows 任务管理器)。
ps 常用组合:
bash
ps aux # 显示所有用户的所有进程详细信息
ps -ef # 另一种常用格式
ps -u username # 查看某用户的进程
top 快捷键:
| 按键 | 功能 |
|---|---|
q |
退出 |
P |
按 CPU 使用率排序 |
M |
按内存使用率排序 |
k |
杀死进程(输入 PID) |
1 |
显示每个 CPU 核心状态 |
2.2 kill ------ 终止进程
bash
kill [信号] PID
kill PID默认发送TERM信号(15),请求进程正常退出。kill -9 PID发送KILL信号(9),强制杀死进程(不推荐,可能残留资源)。
bash
kill -l # 列出所有信号
pkill nginx # 按名称杀死进程
killall firefox # 杀死所有同名进程
2.3 df 和 du ------ 磁盘空间检查
bash
df [选项] # 查看文件系统磁盘使用情况
du [选项] # 查看目录或文件的磁盘占用
常用姿势:
bash
df -h # 人类可读方式显示磁盘使用量
du -sh * # 查看当前目录下各文件/目录的总大小
du -h --max-depth=1 /var # 查看 /var 下一级子目录的大小
🧹 磁盘满了?
df -h定位分区,du -sh /*逐层排查哪个目录占空间。
2.4 free 和 vmstat ------ 内存与系统负载
bash
free -h # 查看内存和交换空间使用情况
vmstat 1 # 每秒输出系统性能指标(CPU、内存、IO等)
uptime # 快速查看系统负载(1/5/15分钟平均负载)
2.5 chmod 和 chown ------ 权限与归属
bash
chmod [选项] 模式 文件
chown [选项] 用户:组 文件
权限表示法:
- 数字模式:
r=4, w=2, x=1。如chmod 755 script.sh→ 所有者读写执行,组和其他读执行。 - 符号模式:
u/g/o/a++/-/=+r/w/x。如chmod u+x file给所有者加执行权限。
bash
chmod 644 file.txt # 所有者读写,组和其他只读
chown user:group file.txt # 更改所有者和所属组
chown -R user:group dir/ # 递归更改整个目录
2.6 systemctl 和 journalctl ------ 服务管理(systemd)
现代 Linux 发行版多使用 systemd 管理服务。
bash
systemctl status nginx # 查看服务状态
systemctl start nginx # 启动服务
systemctl stop nginx # 停止服务
systemctl restart nginx # 重启服务
systemctl enable nginx # 设置开机自启
systemctl disable nginx # 取消开机自启
查看日志:
bash
journalctl -u nginx # 查看 nginx 服务日志
journalctl -xe # 查看最近的系统日志
journalctl -f # 实时跟踪日志
3. 🌐 网络相关命令 ------ 通往外界的桥梁
3.1 ping ------ 网络连通性测试
bash
ping [选项] 目标主机
最简单的网络诊断工具,测试是否可达及延迟。
bash
ping -c 4 google.com # 发送4个包后停止
ping -i 0.5 192.168.1.1 # 每0.5秒发送一次
3.2 curl 和 wget ------ 命令行下载与请求
| 命令 | 特点 |
|---|---|
curl |
功能强大,支持众多协议,常用于 API 测试 |
wget |
简单易用,支持递归下载、断点续传 |
bash
curl -I https://example.com # 仅获取响应头
curl -X POST -d "name=test" http://httpbin.org/post # POST 请求
wget -c https://example.com/file.zip # 断点续传下载
3.3 ss 和 netstat ------ 查看网络连接与端口
ss 是 netstat 的现代替代品,速度更快。
bash
ss -tuln # 查看监听的 TCP/UDP 端口
ss -tunp # 显示进程信息(需要 root)
netstat 老派用法:
bash
netstat -tulpn # 查看端口占用,常用组合
常用场景:检查某个端口是否被占用,或者查看某个进程监听了哪些端口。
3.4 ip 和 ifconfig ------ 网络接口配置
ip 命令是新一代网络配置工具,逐渐替代 ifconfig。
bash
ip addr show # 显示所有网络接口的 IP 地址
ip link set eth0 up/down # 启用/禁用网卡
ip route show # 查看路由表
老命令 ifconfig 依然可用(可能需要安装 net-tools)。
3.5 ssh 和 scp ------ 远程登录与文件传输
bash
ssh user@host # 远程登录
ssh -p 2222 user@host # 指定端口
scp file.txt user@host:/path/ # 复制文件到远程
scp -r dir/ user@host:/path/ # 复制目录
🔐 配置 SSH 密钥登录可免密且更安全。
4. 📦 压缩、归档与包管理 ------ 收纳的艺术
4.1 tar ------ 打包与解包
bash
tar [选项] 归档文件 源文件...
常用选项:
| 选项 | 含义 |
|---|---|
-c |
创建归档 |
-x |
解压归档 |
-z |
使用 gzip 压缩/解压(.tar.gz) |
-j |
使用 bzip2 压缩/解压(.tar.bz2) |
-v |
显示处理文件列表 |
-f |
指定归档文件名(必须放在最后) |
常用命令:
bash
tar -czvf archive.tar.gz /path/to/dir # 打包并压缩为 .tar.gz
tar -xzvf archive.tar.gz # 解压 .tar.gz
tar -xjvf archive.tar.bz2 # 解压 .tar.bz2
记忆小技巧:
czvf= C reate Z ip V erbose F ile;xzvf= eX tract Z ip V erbose File。
4.2 gzip、gunzip、zip、unzip
bash
gzip file.txt # 压缩为 file.txt.gz
gunzip file.txt.gz # 解压
zip -r archive.zip dir/ # 打包为 zip 格式
unzip archive.zip # 解压 zip
4.3 包管理器 ------ 软件安装与更新
| 发行版 | 包管理器 | 常用命令 |
|---|---|---|
| Debian/Ubuntu | apt |
apt update apt install package apt remove package apt upgrade |
| Red Hat/CentOS | yum / dnf |
yum install package yum update yum remove package |
| Arch | pacman |
pacman -S package pacman -Syu |
5. 🧠 实用技巧与"救命"组合技
5.1 管道 | 与重定向 >、>>
|:将前一个命令的输出作为后一个命令的输入。>:将输出重定向到文件(覆盖)。>>:将输出追加到文件末尾。
bash
ps aux | grep python # 查找 Python 进程
ls -l | wc -l # 统计当前目录下文件数量
echo "hello" > file.txt # 写入内容到文件
tail -f app.log | grep ERROR # 实时过滤错误日志
5.2 历史命令 history 与快捷操作
bash
history # 显示命令历史
!123 # 执行历史记录中编号为 123 的命令
!! # 执行上一条命令
!$ # 引用上一条命令的最后一个参数
Ctrl + R # 反向搜索历史命令(超级实用!)
5.3 别名 alias ------ 懒惰程序员的福音
bash
alias ll='ls -alF' # 临时定义别名(仅当前会话有效)
alias ..='cd ..'
alias grep='grep --color=auto'
将常用别名写入 ~/.bashrc 或 ~/.zshrc 即可永久生效。
5.4 通配符与扩展
| 符号 | 作用 | 示例 |
|---|---|---|
* |
匹配任意多个字符 | *.txt |
? |
匹配单个字符 | file?.log |
[] |
匹配括号内任一字符 | file[0-9].txt |
{} |
展开为多个选项 | {a,b,c}.txt → a.txt b.txt c.txt |
5.5 查看命令帮助
bash
man command # 详细手册
command --help # 简要帮助
whatis command # 一行描述
6. 📊 命令速查表(建议收藏)
| 场景 | 命令 |
|---|---|
| 我在哪个目录 | pwd |
| 列出文件 | ls -lah |
| 切换目录 | cd /path 或 cd - |
| 创建目录 | mkdir -p path |
| 复制文件 | cp -r source dest |
| 移动/重命名 | mv old new |
| 删除文件 | rm -i file |
| 查看文件内容 | less file 或 tail -f file |
| 查找文件 | find . -name "*.log" |
| 搜索内容 | grep -r "text" . |
| 查看进程 | `ps aux |
| 杀死进程 | kill -9 PID 或 pkill name |
| 磁盘空间 | df -h 和 du -sh * |
| 内存使用 | free -h |
| 网络端口 | ss -tulpn |
| 下载文件 | wget URL 或 curl -O URL |
| 压缩解压 | tar -czvf file.tar.gz dir/ |
| 权限修改 | chmod 755 file |
| 归属修改 | chown user:group file |
| 查看命令历史 | history |
| 查看帮助 | man command |
7. 🎯 总结
从文件操作到网络排查,从进程管理到权限控制,Linux 命令行是一个庞大而优雅的工具生态系统。掌握这些常用指令,不仅能大幅提升工作效率,更能在关键时刻救你于"服务器无法登录"的水火之中。
几点建议送给你:
- 多用
man:不要死记硬背所有选项,需要时查手册才是正道。 - 理解原理:比如文件权限、进程信号、管道重定向,这些概念一通百通。
- 动手实践:在自己的虚拟机或云服务器上敲一敲,肌肉记忆远比眼睛记忆可靠。
- 保持敬畏 :
rm -rf谨慎再谨慎,权限修改三思而后行。
希望这篇博客能成为你手边的"Linux 命令行小抄"。如果你有自己珍藏的"救命命令",欢迎在评论区分享!下篇我们或许聊聊 Shell 脚本编程,让自动化更进一步。
书到用时方恨少,技到用时才知妙。 愿你在命令行的世界里游刃有余!🚀
本文采用 CC BY-NC-SA 4.0 协议,转载请注明出处。