Linux 下解压和压缩是日常操作,用的最多的是 tar 和 zip 这两类命令。下面按文件格式分类,用最直白的语言和例子说明怎么用,看完就能上手。

一、处理 .tar, .tar.gz, .tar.bz2 文件(用 tar 命令)

tar 本身是“打包”工具,常搭配 gzip 或 bzip2 压缩,所以你会看到 .tar.gz(或 .tgz)和 .tar.bz2 这类扩展名。

1. 打包与压缩

只打包不压缩(生成 .tar)

tar -cvf 打包后的文件名.tar 要打包的文件或目录

# 例子:把 folder 打包成 backup.tar

tar -cvf backup.tar folder/

打包 + 用 gzip 压缩(生成 .tar.gz)

tar -czvf 压缩包名.tar.gz 要压缩的内容

# 例子:压缩 log 目录为 logs.tar.gz

tar -czvf logs.tar.gz /var/log/

打包 + 用 bzip2 压缩(生成 .tar.bz2.压缩率高但慢)

f12ed283b89e3f9cc7154d7d67678c2c_1731070937177819.jpg

tar -cjvf 压缩包名.tar.bz2 要压缩的内容

# 例子:压缩 project 文件夹为 proj.tar.bz2

tar -cjvf proj.tar.bz2 project/

参数说明

-c:创建压缩包;

-v:显示过程(可省略);

-f:后面必须跟压缩包名;

-z:使用 gzip;

-j:使用 bzip2.

2. 解包与解压

解压 .tar 文件

tar -xvf 文件名.tar

# 解压到当前目录:

tar -xvf backup.tar

# 解压到指定目录(比如 /tmp):

tar -xvf backup.tar -C /tmp

解压 .tar.gz 文件

tar -xzvf 文件名.tar.gz

# 例子:解压 logs.tar.gz 到当前目录

tar -xzvf logs.tar.gz

解压 .tar.bz2 文件

tar -xjvf 文件名.tar.bz2

# 例子:解压 proj.tar.bz2 到 ~/backup 目录

tar -xjvf proj.tar.bz2 -C ~/backup

参数说明

-x:解压;

-C:指定解压目录(可选)。