Shell 压缩归档与其他命令速查
更新时间:2026-08-25。本文覆盖 Shell 编程主题的第⑦族:压缩归档与其他杂项,约 14 个命令,也是本主题的收尾篇。
一、打包与压缩
1.1 tar — 打包/解包(最重要)
bash
# 打包并压缩(.tar.gz)
tar -czvf archive.tar.gz dir/
# 解包
tar -xzvf archive.tar.gz
# 只看内容不提取
tar -tzvf archive.tar.gz
# 追加/单独提取
tar -xzf archive.tar.gz file.txt
# .tar.bz2(更小更慢)
tar -cjvf archive.tar.bz2 dir/
# .tar.xz(压缩率最高)
tar -cJvf archive.tar.xz dir/tar 参数速记:c 创建、x 解包、t 查看、z gzip、j bzip2、J xz、v 详细、f 指定文件。
1.2 gzip / gunzip / zcat
bash
gzip file.txt # 压缩(生成 file.txt.gz,删原文件)
gunzip file.txt.gz # 解压
gzip -k file.txt # 保留原文件压缩
zcat file.txt.gz # 不解压直接查看
zgrep "err" *.gz # 直接搜索压缩文件1.3 bzip2 / xz
bash
bzip2 file # 压缩(更高压缩率,更慢)
bunzip2 file.bz2 # 解压
xz file # xz 压缩
unxz file.xz # 解压1.4 zip / unzip
bash
zip -r archive.zip dir/ # 压缩(通用格式,Windows 可用)
unzip archive.zip # 解压
unzip -l archive.zip # 查看内容
unzip -d outdir archive.zip # 解压到目录| 格式 | 创建 | 解压 | 特点 |
|---|---|---|---|
.tar.gz | tar -czvf | tar -xzvf | Linux 最常用 |
.zip | zip -r | unzip | 跨平台通用 |
.tar.bz2 | tar -cjvf | tar -xjvf | 压缩率高 |
.tar.xz | tar -cJvf | tar -xJvf | 压缩率最高 |
.gz | gzip | gunzip/zcat | 单文件 |
二、时间与执行
2.1 date
bash
date # 当前时间
date '+%F %T' # 2026-08-25 12:00:00
date -d 'yesterday' # 昨天
date -d '+7 days' # 7 天后
date +%s # 时间戳(秒)
date -d @1700000000 # 时间戳转时间2.2 time
bash
time command # 测量命令耗时(real/user/sys)
time curl -s URL >/dev/null # 测接口耗时time 输出:real(墙钟时间)、user(用户态 CPU)、sys(内核态 CPU)——衔接本站性能剖析,user+sys 接近 CPU 实际占用。
2.3 sleep / wait
bash
sleep 5 # 等 5 秒
sleep 0.5 # 等 0.5 秒
wait # 等所有后台任务
wait $PID # 等指定 PID三、命令查找与别名
3.1 which / whereis / type
bash
which python3 # 找可执行文件路径
whereis ls # 找二进制/源码/man 路径
type -a ls # 找命令类型与所有位置3.2 alias — 命令别名
bash
alias ll='ls -lh' # 定义别名
alias grep='grep --color=auto'
alias # 查看所有别名
unalias ll # 删除别名3.3 hash
bash
hash # 查看命令缓存
hash -r # 清空命令缓存(改 PATH 后需执行)四、历史与输入
4.1 history
bash
history # 历史命令
history 10 # 最近 10 条
!5 # 执行第 5 条
!! # 执行上一条
!grep # 执行最近以 grep 开头的
history | grep curl # 找历史里用过的命令4.2 键盘操作
| 按键 | 作用 |
|---|---|
Ctrl+R | 反向搜索历史 |
Ctrl+A / Ctrl+E | 光标到行首/行尾 |
Tab | 自动补全 |
!! | 上一条命令 |
!$ | 上一条命令的最后一个参数 |
五、帮助与手册
bash
man ls # 命令手册(最权威)
ls --help # 简帮助
info ls # 更详细的 info 文档
whatis ls # 一句话说明看 man 的技巧:/搜索词 查找、q 退出、-k 搜索相关主题。
六、杂项实用命令
| 命令 | 作用 | 示例 |
|---|---|---|
tee | 输出到文件并显示 | cmd | tee log |
echo $? | 上条退出码 | echo $? |
export | 导出环境变量 | export PATH=$PATH:/opt/bin |
env | 查看环境变量 | env |
set | 查看 shell 变量 | set |
xxd / od | 十六进制查看 | xxd file、od -c file |
base64 | Base64 编解码 | echo hi | base64 |
yes / seq | 生成序列 | seq 1 10 |
bash
xxd cpu_demo | head -20 # 查看二进制文件头部
base64 -d <<< "aGVsbG8=" # 解码七、Shell 主题收尾与主线衔接
至此 Shell 七大族全部覆盖(共约 100+ 命令)。回头看整条线:
| 族 | 文档 | 定位 |
|---|---|---|
| ① 语法变量 | syntax-variables.md | 地基 |
| ② 控制流 | control-flow.md | 逻辑 |
| ③ 文本处理 | text-processing.md | 核心能力 |
| ④ 文件目录 | file-dir-commands.md | 文件层 |
| ⑤ 进程系统 | process-system-commands.md | 进程层 |
| ⑥ 网络权限 | network-user-commands.md | 网络层 |
| ⑦ 压缩归档 | 本文 | 打包部署 |
time命令是本站性能剖析的轻量入口(real/user/sys)。tar/gzip打包日志与产物,是运维归档的日常。history/alias/man提升工作效率——Shell 高手都是从"少敲几个字"开始的。
一句话总结
压缩归档看 tar(czvf 打包、xzvf 解包)+ gzip/zip 补全;杂项用 date/time/alias/history/man 提效——至此 Shell 约百个常用命令全部落地,配合本站 tools/ 观测工具即可"会写脚本、会管系统、会查性能"。
回顾:Shell 编程总纲 → 语法变量。