Linux系统篇(三)——指令篇(三):轻松拿捏入门级指令
基础指令收官篇:详解head、tail、date、find、grep、zip、tar、sz/rz、uname、su等12组高频命令,覆盖查看、查找、压缩、传输与身份切换全场景。
项目背景
经过前两期的积累,我们已经掌握了文件操作、文本编辑、内容查看等基础命令,具备了"指挥"Linux 完成日常任务的基本能力。本期是基础指令的收官篇,再补上最后一批高频命令:文件开头结尾查看、时间日期、查找过滤、压缩打包、文件传输、身份切换等。这些命令在服务器运维和日常开发中出镜率极高,学完这批,入门级的命令体系就完整了。
技术方案
本期命令按功能可以划分为六大类:
| 类别 | 命令 | 用途 |
|---|---|---|
| 内容查看 | head / tail | 查看文件开头 / 结尾内容 |
| 时间信息 | date | 输出系统日期与时间,支持格式化 |
| 查找过滤 | find / grep | 查找文件、过滤匹配关键字 |
| 压缩打包 | zip / unzip / tar | 压缩、解压、打包文件 |
| 文件传输 | sz / rz | 与 Windows 之间互传文件 |
| 系统信息 | bc / uname / su / su- | 计算、内核信息、身份切换 |
整体设计思路:日常运维就是"找文件 → 看内容 → 传文件 → 打包归档 → 切换身份执行操作"的循环,这套命令恰好覆盖完整链路。
系统架构
这批命令背后体现了 Linux 的几个核心设计:
- 一切皆文件:无论查找、过滤还是打包,操作对象都是统一的文件抽象;
- 命令组合:grep 与管道配合,可以完成"从输出中筛关键行"这类复杂任务;
- 权限隔离:su / sudo 提供了身份切换机制,普通用户与管理员各司其职,保证系统安全;
- 时间戳模型:Unix 时间戳以 1970-01-01 00:00:00 UTC 为起点计数,是系统时间体系的底层约定。
实施过程
1. head —— 查看文件开头
head 顾名思义用于查看文件的开头部分:
head [参数]... [文件]...
head -n 10 a.txt # 查看前 10 行
2. tail —— 查看文件结尾
tail 用于查看文件结尾部分,用法与 head 一致:
tail [参数]... [文件]...
tail -f app.log # 实时跟踪日志追加(常用)
3. date —— 输出日期与时间
date # 输出当前系统日期时间
支持格式化输出,常用符号含义:
| 符号 | 含义 |
|---|---|
| %Y | 4 位年份 |
| %m | 月份(01-12) |
| %d | 日期(01-31) |
| %H | 24 小时制小时 |
| %M | 分钟 |
| %S | 秒 |
| %w | 星期 |
| %F | 等价于 %Y-%m-%d |
| %T | 等价于 %H:%M:%S |
这里引入一个重要的概念——Unix 时间戳:从 1970-01-01 00:00:00 UTC 到当前时刻的秒数。时间戳与日期之间可以相互转换,是脚本开发和日志分析中的常用工具。
4. find —— 查找文件
find 用于在指定路径下查找文件,支持按名称、类型、时间等条件过滤,条件之间可以自由组合:
find / -name "*.log" # 全盘查找 .log 文件
find /root -type d # 查找目录
5. grep —— 文本过滤、匹配关键字
grep 用于从文件或输出中过滤出匹配关键字的行,在多命令组合(管道)中作用巨大:
grep "error" app.log # 从日志中筛出含 error 的行
ps -ef | grep java # 结合管道过滤进程
6. zip —— 文件压缩
zip 默认将文件压缩到当前目录,也可以指定压缩位置:
zip archive.zip file1 file2 # 压缩多个文件
zip /tmp/archive.zip file1 # 压缩到指定目录
7. unzip —— 解压文件
unzip 与 zip 对应,同样支持解压到指定目录:
unzip archive.zip # 解压到当前目录
unzip archive.zip -d /tmp # 解压到指定目录
8. sz / rz —— 收发文件
sz 和 rz 用于在 Linux 与 Windows 之间互传文件:
sz file.txt # 向 Windows 发送文件
rz # 从 Windows 接收文件
文件收发不受操作系统限制,Linux 和 Windows 之间可以自由互转文件。
9. tar —— 打包压缩文件
tar 与 zip 都能处理压缩,两者有同有异:
相同点:
- 都能打包多个文件 / 文件夹;
- 都能压缩减小体积;
- 都能解压、跨目录存放。
差异点:tar 更强调"打包"(可配合 gzip 压缩,如 tar -czvf),是 Linux 服务器上最主流的归档格式,常用于备份与发布。
tar -czvf archive.tar.gz dir # 打包并压缩
tar -xzvf archive.tar.gz # 解包解压
10. bc —— 简单计算器
bc 可以在终端进行数学计算,输入 Ctrl+C 退出:
bc
2 + 3 * 4
11. uname —— 查看系统信息
uname 不仅可以查看系统内核,还能查看操作系统、硬件信息,参数丰富:
uname -a # 查看全部系统信息
uname -r # 查看内核版本
12. su / su- —— 身份切换
Linux 提供两种身份切换方式:
su:switch user,完全切换到另一个用户身份,默认切到 root;sudo:用当前用户身份临时执行管理员命令。
su 与 su - 的核心区别在于是否切换环境:
| 对比项 | su | su - |
|---|---|---|
| 身份 | 切换为 root | 切换为 root |
| 工作目录 | 保持不变 | 切换到目标用户家目录 |
| 环境变量 / PATH | 保留原用户 | 全部重置,相当于重新登录 |
| 推荐度 | 临时用 | 工作中推荐,最标准 |
su # 切换到 root,但仍在原目录
su - # 完整登录式切换,进入 /root 并加载 root 环境
应用价值
本期 12 组命令补全了入门级指令体系的最后一块拼图。至此,读者已经可以独立完成:查看文件任意部位(head/tail)、掌握时间与格式化输出(date)、在海量文件中定位目标(find/grep)、对文件进行压缩归档与跨平台传输(zip/tar/sz/rz)、查看系统内核信息(uname),以及在必要时切换用户身份(su/su-)。这些能力是日常服务器维护、日志分析、应用部署中最高频的操作组合。基础指令系列到此收官,接下来可以放心迈向权限、进程、网络等更深入的 Linux 主题。
SEO关键词
Linux, Linux命令, grep命令, find命令, tar打包, zip压缩, su命令, Linux运维
