Linux 常用指令使用指南:从入门到“救命”

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 cpmv ------ 复制与移动

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 catlessheadtail ------ 查看文件内容

命令 用途 适用场景
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 findgrep ------ 查找文件与内容

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 pstop ------ 进程查看

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 dfdu ------ 磁盘空间检查

bash 复制代码
df [选项]   # 查看文件系统磁盘使用情况
du [选项]   # 查看目录或文件的磁盘占用

常用姿势

bash 复制代码
df -h          # 人类可读方式显示磁盘使用量
du -sh *       # 查看当前目录下各文件/目录的总大小
du -h --max-depth=1 /var   # 查看 /var 下一级子目录的大小

🧹 磁盘满了?df -h 定位分区,du -sh /* 逐层排查哪个目录占空间。

2.4 freevmstat ------ 内存与系统负载

bash 复制代码
free -h        # 查看内存和交换空间使用情况
vmstat 1       # 每秒输出系统性能指标(CPU、内存、IO等)
uptime         # 快速查看系统负载(1/5/15分钟平均负载)

2.5 chmodchown ------ 权限与归属

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 systemctljournalctl ------ 服务管理(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 curlwget ------ 命令行下载与请求

命令 特点
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 ssnetstat ------ 查看网络连接与端口

ssnetstat 的现代替代品,速度更快。

bash 复制代码
ss -tuln          # 查看监听的 TCP/UDP 端口
ss -tunp          # 显示进程信息(需要 root)

netstat 老派用法:

bash 复制代码
netstat -tulpn    # 查看端口占用,常用组合

常用场景:检查某个端口是否被占用,或者查看某个进程监听了哪些端口。

3.4 ipifconfig ------ 网络接口配置

ip 命令是新一代网络配置工具,逐渐替代 ifconfig

bash 复制代码
ip addr show      # 显示所有网络接口的 IP 地址
ip link set eth0 up/down  # 启用/禁用网卡
ip route show     # 查看路由表

老命令 ifconfig 依然可用(可能需要安装 net-tools)。

3.5 sshscp ------ 远程登录与文件传输

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 gzipgunzipzipunzip

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 /pathcd -
创建目录 mkdir -p path
复制文件 cp -r source dest
移动/重命名 mv old new
删除文件 rm -i file
查看文件内容 less filetail -f file
查找文件 find . -name "*.log"
搜索内容 grep -r "text" .
查看进程 `ps aux
杀死进程 kill -9 PIDpkill name
磁盘空间 df -hdu -sh *
内存使用 free -h
网络端口 ss -tulpn
下载文件 wget URLcurl -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 协议,转载请注明出处。

相关推荐
默|笙2 小时前
【Linux】线程同步与互斥_同步(1)
linux
Deitymoon2 小时前
linux——条件变量
linux
wwj888wwj2 小时前
Ansible基础(复习2)
linux·运维·服务器·ansible
无心水2 小时前
2、5分钟上手|PyPDF2 快速提取PDF文本
java·linux·分布式·后端·python·架构·pdf
薛定谔的悦2 小时前
IEC 60870-5-104协议解析——电力系统远动通信实战
linux·状态模式·储能·ems
ꪶꪜ4452 小时前
vlan综合实验
linux·运维·网络
咋吃都不胖lyh3 小时前
opencode在Ubuntu下无法复制
linux·运维·ubuntu
Java面试题总结3 小时前
Nginx 配置笔记
运维·笔记·nginx
亚空间仓鼠3 小时前
OpenEuler系统常用服务(八)
linux·运维·服务器·网络