归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和
压缩是指利用算法将文件进行处理,已达到保留最大文件信息,而让文件体积变小的目的。其基本原理为,通过查找文件内的重复字节,建立一个相同字节的词典文件,并用一个代码表示。
linux下常见的压缩包类型
格式 | 压缩工具 |
---|---|
.zip | zip压缩工具 |
.gz | gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.tar | 归档 |
.bz2 | bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)(不常用) |
.tar.gz | 先使用tar命令归档打包,然后使用gzip压缩 |
.tar.bz2 | 先使用tar命令归档打包,然后使用bzip压缩 |
tar命令
c #创建新的归档文件
x #对归档文件解包
t #列出归档文件里的文件列表
v #输出命令的归档或解包的过程
f #指定包文件名,多参数f写最后
z #使用gzip压缩归档后的文件(.tar.gz)
j #使用bzip2压缩归档后的文件(.tar.bz2)
J #使用xz压缩归档后的文件(tar.xz)
C #指定解压目录位置
X #排除多个文件(写入需要排除的文件名称)
h #打包软链接
打包文件
tar -cvf xxx.tar xxx/
打包并压缩一个文件
tar -zcvf xxx.tar.gz xxx/
解压文件
# 解压到当前目录
tar -xvf xxx.tar
# 解压到指定目录 目录要存在
tar -xvf xxx.tar -C xxx/
看看包里面的内容
tar tf xxx.tar
注:压缩和解压的命令,只需要将c换成x即可
zip命令
默认情况下没有zip和unzip工具,需要进行安装
yum install zip unzip -y
压缩文件
zip xxx.zip xxx.txt
压缩目录
-r 递归打包
zip -r dir.zip dir/
查看压缩包内容
unzip -l filename.zip
unzip -t filename.zip
解压压缩包
unzip file.zip
# 指定解压目录 目录可以不存在
unzip file.zip -d xxx/
参考文档
打包和压缩 https://zhuanlan.zhihu.com/p/601365738
tar和zip命令 linux文件打包与压缩 - 小迷茫c - 博客园