巧技篇-Day30|打包搬箱:Windows 压缩 zip → tar 打包压缩(tar -czf /-xzf)

0 次阅读 2026-10-27 11:59

📖 知识点

1. Windows 压缩 zip → Linux tar

 

 

WindowsLinux说明
右键→压缩成 zip

tar -czf 包名.tar.gz 目录

打包压缩
右键→解压

tar -xzf 包名.tar.gz

解压

tar 是 Linux 最常用的打包压缩工具。常用口诀:-czf 压缩(打包)、-xzf 解压(拆包)。.tar.gz 是最常见的压缩包格式(类似 Windows 的 .zip)。

💡 生活比喻Windows 压缩 zip 像 "把一堆杂物装进一个行李箱";tar 的 -czf 就是 "装箱打包",-xzf 是 "拆箱取物"。搬家时一箱搞定,传输 / 备份都省事。

2. 压缩打包:tar -czf

 

tar -czf 压缩包名.tar.gz 要打包的目录

 

拆解:-c 创建 (create)、-z gzip 压缩、-f 指定文件名

tar -czf 项目备份.tar.gz 项目    # 把"项目"打包成项目备份.tar.gz

 

3. 解压拆包:tar -xzf

 

tar -xzf 压缩包名.tar.gz

 

拆解:-x 解压 (extract)、-z gzip、-f 指定文件名

tar -xzf 项目备份.tar.gz    # 在当前目录解压

 

4. 其他常用

 

tar -tzf 包.tar.gz        # 查看压缩包里有什么(不解压)
tar -xzf 包.tar.gz -C 目录  # -C 解压到指定目录

 

⚠️ 易错提醒

  1. -czf 是打包(c=create),-xzf 是解压(x=extract),别记反

  2. 解压默认解到当前目录,想解到别处用 -C 目录

  3. 打包时最好 cd 到目标目录的上级,避免把多余路径打进包

⚔️ Kata 实战任务

任务需求:

  1. 回家,创建 "项目" 文件夹并放几个文件

  2. 用 tar -czf 把 "项目" 打包成 "项目备份.tar.gz"

  3. 用 ls -l 确认压缩包已生成

  4. 用 tar -tzf 查看压缩包内容(不解压)

  5. 用 tar -xzf 解压到一个新目录,验证 "拆箱" 成功

参考代码(在终端依次敲)

 

# 回家,准备要打包的"项目"
cd ~
mkdir -p 项目
touch 项目/代码.txt 项目/说明.txt

# 1. 打包压缩:项目 → 项目备份.tar.gz
tar -czf 项目备份.tar.gz 项目

# 2. 确认压缩包生成
ls -l 项目备份.tar.gz

# 3. 查看压缩包内容(不解压)
tar -tzf 项目备份.tar.gz

# 4. 解压到"解压测试"目录
mkdir -p 解压测试
tar -xzf 项目备份.tar.gz -C 解压测试

# 5. 验证解压结果
ls 解压测试/项目

 

运行示例:

 

user@linux:~$ tar -czf 项目备份.tar.gz 项目
user@linux:~$ ls -l 项目备份.tar.gz
-rw-r--r-- 1 user user 112 Oct 23 10:00 项目备份.tar.gz

user@linux:~$ tar -tzf 项目备份.tar.gz
项目/
项目/代码.txt
项目/说明.txt

user@linux:~$ mkdir -p 解压测试
user@linux:~$ tar -xzf 项目备份.tar.gz -C 解压测试
user@linux:~$ ls 解压测试/项目
代码.txt 说明.txt

 

🧠 思考题

  1. tar -czf 和 tar -xzf 分别做什么?c、x、z、f 各代表什么?

  2. 想 "把压缩包解压到指定目录" 用什么参数?想 "只看压缩包里有啥但不解压" 用什么?