Linux 压缩 / 解压(tar)命令 + 参数详解

一、tar(Linux 最核心,打包 + 压缩一体)

作用 :本身只打包 ,配合 gzip/bzip2/xz 实现压缩,后缀常见: .tar(仅打包)、.tar.gz/.tgz(gzip 压缩)、.tar.bz2.tar.xz

1. 必记核心参数(通用)

表格

参数 含义
-c **创建(create)**新压缩包(压缩)
-x 解压提取(extract)文件
-v 显示详细过程(verbose)
-f 指定压缩包文件名(必须放最后)
-t 查看压缩包内容(不解压)
-C 指定解压到目标目录

2. 压缩格式专属参数

表格

参数 压缩算法 后缀 特点
-z gzip .tar.gz 速度快、最常用
-j bzip2 .tar.bz2 压缩率更高、稍慢
-J xz .tar.xz 压缩率最高、最慢

3. 完整用法 + 示例

(1)打包(不压缩,仅 tar)

bash

运行

复制代码
# 打包目录/文件 为 test.tar
tar -cvf test.tar 目录名/文件名

# 查看包内容
tar -tvf test.tar

# 解压 tar 包
tar -xvf test.tar
(2).tar.gz/.tgz(最常用)

压缩

bash

运行

复制代码
tar -zcvf 压缩包名.tar.gz 目标文件/目录
# 示例:把 dir 压缩为 dir.tar.gz
tar -zcvf dir.tar.gz dir/

解压

bash

运行

复制代码
tar -zxvf 压缩包名.tar.gz

# 解压到指定目录 /tmp
tar -zxvf dir.tar.gz -C /tmp
(3).tar.bz2

压缩

bash

运行

复制代码
tar -jcvf 压缩包名.tar.bz2 目标

解压

bash

运行

复制代码
tar -jxvf 压缩包名.tar.bz2
(4).tar.xz

压缩

bash

运行

复制代码
tar -Jcvf 压缩包名.tar.xz 目标

解压

bash

运行

复制代码
tar -Jxvf 压缩包名.tar.xz

简写习惯:日常很多人省略 -,如 tar zcvf xxx.tar.gz 也可执行。


二、gzip /gunzip(单文件压缩,不打包目录

后缀:.gz 只能压缩单个文件 ,不能直接压目录,会删除原文件

gzip 压缩

bash

运行

复制代码
# 基础压缩(原文件变 xxx.gz)
gzip 文件名

# -9 最高压缩率(1-9,默认6)
gzip -9 file.txt

# -c 保留原文件,输出到新压缩包(常用)
gzip -c file.txt > file.txt.gz

gunzip 解压(等价 gzip -d)

bash

运行

复制代码
# 解压,删除 .gz
gunzip file.txt.gz
# 或
gzip -d file.txt.gz

# 解压保留原压缩包
gunzip -c file.txt.gz > file.txt

三、bzip2 /bunzip2(.bz2 格式)

压缩率 > gzip,速度更慢,同样单文件

压缩

bash

运行

复制代码
bzip2 文件名
bzip2 -9 文件名   # 最高压缩

解压

bash

运行

复制代码
bunzip2 文件名.bz2
# 或
bzip2 -d 文件名.bz2

四、xz(.xz 格式,高压缩率)

后缀 .xz,压缩率最优,大文件常用。

压缩

bash

运行

复制代码
xz 文件名
xz -9 文件名

解压

bash

运行

复制代码
xz -d 文件名.xz
# 或
unxz 文件名.xz
相关推荐
极客先躯2 小时前
高级java每日一道面试题-2026年02月07日-实战篇[Docker]-如何使用存储插件(如 NFS、Ceph)?
运维·分布式·容器·自动化·文件·插件·高可用
IT探索2 小时前
服务器 BIOS 测试
运维·服务器·网络
hj2862512 小时前
Rsync 数据同步 + Inotify 实时监控 完整版实操笔记3
linux·运维·网络
ZKNOW甄知科技2 小时前
燕千云AI-ITR系列:三线分层机制的标准化解决方案
大数据·运维·人工智能·低代码·自然语言处理·自动化·敏捷流程
__Witheart__2 小时前
Linux SDK 中 build.sh 打包 updateimg 流程分析
linux·ubuntu·rockchip
AIOps打工人2 小时前
数据库运维工具选型 2026 横评:dbskiter vs MySQL Workbench vs percona_toolkit vs Navicat
运维·数据库·mysql
姚愚谦2 小时前
Linux源码-通用双向链表的实现
linux
麦麦麦当劳大王2 小时前
OpenClaw安装部署(Windows/Linux/MacOS)
linux·windows·macos
烁3473 小时前
shell脚本简单语法
linux·娱乐