在工作中,涉及到文件传输,为了减少文件的体积和传输的时间,经常会对文件进行压缩,本文介绍了linux系统中常用的压缩和解压缩命令
一、tar命令
.tar
:简单封装,被称为归档文件,只是简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装.gz
:压缩体积,常见为.tar.gz
,gzip
格式压缩文件是使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
一般使用tar
命令进行压缩文件,会结合以上两者
语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
-
-c
:创建的意思,表示创建压缩文件,用于压缩模式 -
-v
:表示显示压缩、解压的过程,用于查看进度 -
-x
:解压模式 -
-f
:表示要创建压缩的文件或要解压的文件,并且-f
选项必须在所有选项中位置处于最后一个 -
-z
:gzip
模式,使用该选项会极大减少压缩文件的体积,不使用-z
就是普通的归档文件的作用,不会减少体积 -
-C
:选择解压的目的地,用于解压的模式
1. 压缩
# 将a.txt b.txt c.txt 压缩到test.tar文件内,只是简单封装,没有减少体积
tar -cvf test.tar a.txt b.txt c.txt
压缩前三个文件的大小总共为11.6K,进行普通组装之后为20K,反而增加了。
# 将a.txt b.txt c.txt 压缩到test.tar.gz文件内,使用gzip模式进行压缩,会极大的减少test.tar的体积
tar -zcvf test.tar.gz a.txt b.txt c.txt
压缩前三个文件的大小总共为11.6K,进行gzip
模式压缩之后之后为1.8K,对比简单封装,极大减少的压缩文件的体积。
在使用tar
命令进行压缩的时候,-z
选项如果使用,一般处于选项位的第一个;-f
选项必须在选项的最后一个。
2. 解压
使用tar
命令进行解压,和压缩是对应的,除此之外还可以使用-C
指定解压路径
# 解压test.tar, 将文件解压到当前目录
tar -xvf test.tar
# 解压test.tar, 将文件解压到指定目录下
tar -xvf test.tar -C /home
# 以gzip模式解压test.tar.gz, 将文件解压到指定目录下
tar -zxvf test.tar.gz -C /home
在使用tar
命令进行解压的时候,-z
选项如果使用,一般处于选项位的第一个;-f
选项必须在选项的最后一个;-C
选项单独使用。
二、zip命令
zip
命令进行压缩和解压缩,比较简单,压缩文件为zip压缩包
1. 压缩
语法:zip [-r] 参数1 参数2 ... 参数N
-
-r
:被压缩的内容包含文件夹的时候,需要使用-r
选项
# 将a.txt b.txt c.txt 压缩到test.zip文件内
zip test.zip a.txt b.txt c.txt
# 将test1文件夹、test2文件夹、a.txt压缩到test.zip文件内
zip -r test.zip test1 test2 a.txt
2. 解压
语法:unzip [-d] 参数
-
-d
:表示指定要解压去的位置,和tar命令的-C
选项作用一样 -
参数
:表示被解压的zip压缩包文件
# 将test.zip解压到当前目录
unzip test.zip
# 将test.zip解压到指定的文件夹内
unzip test.zip -d /home
三、文件加密压缩和密码解压
1. tar命令
使用tar命令进行加密压缩时需要和OpenSSL进行结合
1.1 加密压缩
语法:tar -zcvf - a.txt b.txt | openssl des3 -salt -k 123456 -out /root/test/test.tar.gz
-
-
:该参数后跟的是被压缩的具体文件,*
表示当前路径下所有文件 -
-k
: 该参数后跟密码,本示例密码是123456
-
-out
:该参数后为输出的压缩文件
使用gzip
模式压缩当前路径下的a.txt b.txt
文件到当前目录/root/test
下,压缩文件名称为test.tar.gz
, 压缩密码为123456
1.2 密码解压
语法:openssl des3 -d -k 123456 -salt -in /root/test/test.tar.gz | tar zxvf - -C /root/test1
-
-k
:该参数后跟的是密码,示例中密码为123456
-
-in
:该参数后跟的是压缩文件,示例中是/root/test/test.tar.gz
-
-
:表示释放所有的文件 -
-C
:表示解压的路径
使用tar
命令解压加密文件/root/test/test.tar.gz
到/root/test1
目录下,解压密码为123456
2. zip命令
2.1 加密压缩
语法:zip -rP 123456 /root/test/test.zip a.txt b.txt*
-
-rp
:文件夹加密,示例中密码为123456
使用zip命令压缩当前路径下的a.txt b.txt
文件到当前目录/root/test
下,压缩文件名称为test.zip
, 压缩密码为123456
2.2 密码解压
语法:unzip -uP 123456 /root/test/test.zip -d /root/test1
文章来源:https://www.toymoban.com/news/detail-736165.html
-
-uP
:加压密码参数,示例密码为123456
使用unzip命令解压加密文件/root/test/test.zip
到/root/test1
目录下,解压密码为123456
文章来源地址https://www.toymoban.com/news/detail-736165.html
到了这里,关于linux 中常用的压缩和解压缩命令详解(tar zip)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!