Linux 压缩与解压缩

fengyehongWorld 2024-07-15 10:37:02 阅读 78

参考资料

linux 压缩和解压缩命令gz、tar、zip、bz2tar命令 – 压缩和解压缩文件


目录

⏹.gz 文件 压缩与解压缩0.1 压缩0.2 解压缩

一. gzip命令1.1 压缩1.1.1 -k 压缩后保留源文件1.1.2 -l 查看压缩文件中的文件信息1.1.3 -r 递归压缩文件夹中的所有文件

1.2 解压缩

二. zip命令2.1 zip 压缩2.1.1 -r 压缩文件夹2.1.2 压缩文件夹中的指定文件

2.2 查看压缩文件内容2.2.1 zipinfo 命令2.2.1 unzip -l 命令

2.3 unzip 解压缩2.3.1 解压压缩包中的全部文件2.3.2 解压压缩包中的部分文件

三. tar命令3.1 压缩3.2 查看压缩包内容3.3 解压缩3.3.1 将整个压缩包解压到当前目录3.3.2 将压缩包中的部分文件解压到当前目录3.3.3 将压缩包中的文件解压到指定目录


⏹.gz 文件 压缩与解压缩

0.1 压缩

<code>-k:压缩后保留原文件(默认源文件会被删除)-v:显示执行之后的详细信息

⏹压缩一个文件

gzip -kv newfile.csv

# newfile.csv.gz

⏹压缩多个文件

gzip -kv newfile1.csv newfile2.csv

# newfile1.csv.gz

# newfile2.csv.gz

0.2 解压缩

-d:用来解压缩文件-k:如果不添加此配置项,文件解压缩之后,原始压缩文件会被删除

gzip -dkv newfile.csv_bk.gz

# newfile.csv_bk

⏹使用gunzip命令解压文件后,原始的.gz文件会被删除(没有提供保留源文件的配置项)

gunzip newfile.csv.gz

# newfile.csv

一. gzip命令

压缩后的文件后缀名为.gz。只能用于压缩单个文件,不能压缩文件夹。

配置项 说明
-k 保留源文件(默认情况下,源文件压缩后会被删除)
-r 递归处理所有子文件(<code>将文件夹中的所有子文件压缩为.gz)
-l 显示压缩包内文件信息
-v 显示执行过程中详细信息

1.1 压缩

1.1.1 -k 压缩后保留源文件

⏹默认情况下,当文件被压缩后,源文件会被删除。

在这里插入图片描述

⏹使用 <code>-k 配置项 可以在压缩后保留源文件

在这里插入图片描述

1.1.2 -l 查看压缩文件中的文件信息

在这里插入图片描述

1.1.3 -r 递归压缩文件夹中的所有文件

⏹无法压缩文件夹,但是可以递归压缩文件夹中的所有子文件

在这里插入图片描述

1.2 解压缩

使用<code>gunzip命令来解压缩,解压后,默认情况下,压缩包会被删除使用 -k 配置项来保留源文件

在这里插入图片描述


二. zip命令

2.1 zip 压缩

2.1.1 -r 压缩文件夹

⏹<code>zip -r 压缩文件名.zip ./文件夹名/*

在这里插入图片描述

2.1.2 压缩文件夹中的指定文件

指定多个文件:<code>zip 压缩文件名.zip ./路径1/文件1 ./路径2/文件2 ...指定通配符:zip 压缩文件名.zip ./路径/filename-2023*.txt

在这里插入图片描述

2.2 查看压缩文件内容

2.2.1 zipinfo 命令

在这里插入图片描述

2.2.1 unzip -l 命令

<code>-l:显示压缩包内文件列表

在这里插入图片描述

2.3 unzip 解压缩

2.3.1 解压压缩包中的全部文件

<code>-d:解压压缩包中的文件到指定路径

# 将out.zip文件解压到当前目录的temp文件夹下,若temp文件夹不存在,会新建

unzip -d ./temp out.zip

在这里插入图片描述

2.3.2 解压压缩包中的部分文件

<code>fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l

-rw-rw-r-- 1 fengyehong fengyehong 910 Jun 25 03:53 output.zip

drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:54 temp

# 查看压缩包中的文件

fengyehong@ubuntu:~/jmw_work_space/20240625$ unzip -l output.zip

Archive: output.zip

Length Date Time Name

--------- ---------- ----- ----

0 2024-06-25 03:52 001/

0 2024-06-25 03:52 001/file2.txt

0 2024-06-25 03:52 001/file1.txt

0 2024-06-25 03:52 002/

0 2024-06-25 03:52 002/fileA.txt

0 2024-06-25 03:52 002/fileB.txt

--------- -------

0 6 files

# 解压压缩包中的部分文件到指定路径

fengyehong@ubuntu:~/jmw_work_space/20240625$ unzip output.zip 001/file1.txt 002/fileB.txt -d ./temp

Archive: output.zip

extracting: ./temp/001/file1.txt

extracting: ./temp/002/fileB.txt

# 查看解压之后的部分文件

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/

drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:55 001

drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:55 002

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/*

./temp/001:

-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 03:52 file1.txt

./temp/002:

-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 03:52 fileB.txt


三. tar命令

-z:用gzip来压缩/解压缩文件(gzip)

-v:详细报告tar处理的文件信息(verbose)

-c:创建新的档案文件(create)

-C:解压到指定的目录

-x:解压缩文件或目录(extract)

-f:使用档案文件或设备,这个选项通常是必选的(file)

-t:显示压缩包的内容

3.1 压缩

⏹ 将指定路径下的文件压缩

tar -zvcf output.tar.gz ./business-content-1.csv ./business-content-2.csv

在这里插入图片描述

3.2 查看压缩包内容

⏹ 查看指定路径下压缩包中的文件

<code>-t:显示压缩包的内容

tar -tzvf ./output.tar.gz

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l

-rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gz

fengyehong@ubuntu:~/jmw_work_space/20240625$

fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -tzvf ./output.tar.gz

drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./001/

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file2.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./001/file3.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file1.txt

drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./002/

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileA.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./002/fileC.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileB.txt

3.3 解压缩

3.3.1 将整个压缩包解压到当前目录

tar -zvxf ./output.tar.gz

在这里插入图片描述

3.3.2 将压缩包中的部分文件解压到当前目录

<code>tar -zxvf output.tar.gz ./001/file3.txt ./001/file2.txt

# 查看压缩文件中的信息

fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -tzvf ./output.tar.gz

drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./001/

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file2.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./001/file3.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file1.txt

drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./002/

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileA.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./002/fileC.txt

-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileB.txt

# 解压压缩包中的部分文件到当前目录

fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -zxvf output.tar.gz ./001/file3.txt ./001/file2.txt

./001/file2.txt

./001/file3.txt

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l

drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:33 001

-rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gz

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./001

-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:35 file2.txt

-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:37 file3.txt

3.3.3 将压缩包中的文件解压到指定目录

-C:解压到指定的目录

⏹将整个文件解压到指定目录

tar -zvxf ./15/output.tar.gz -C ./15/temp

在这里插入图片描述

⏹将部分文件解压到指定目录

<code>tar -zxvf output.tar.gz -C ./temp ./001/file3.txt ./001/file2.txt

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l

-rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gz

drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:40 temp

# 将部分文件解压到指定目录

fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -zxvf output.tar.gz -C ./temp ./001/file3.txt ./001/file2.txt

./001/file2.txt

./001/file3.txt

# 查看解压的结果

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/

drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:40 001

fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/001

-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:35 file2.txt

-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:37 file3.txt



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。