文件压缩、解压、打包、解包
zip压缩/unzip解压
zip/unzip [参数] 被压缩文件
参数:
参数 含义
-r 压缩所有子目录
-d 解压
命令
# 压缩成zip文件(其中havorld.zip中的.zip可以省略,默认扩展名为zip)
zip -r havorld.zip ./havorld/*
# 解压zip文件到指定目录
unzip -d /home/havorld havorld.zip
注:zip既能压缩文件又能压缩目录
gzip压缩/解压
gzip使用格式:
gzip [参数] 被压缩文件
参数:
参数 含义
-r 压缩所有子目录
-d 解压
命令
gzip havorld.txt # 压缩指定文件 ,生成havorld.txt.tar.gz
gzip -r havorld.tar havorld.tar.gz # 压缩文件
gzip havorld.tar # 压缩打包文件,生成havorld.tar.gz
gzip -d havorld.tar.gz # 解压文件
注:gzip只能压缩文件不能压缩目录
打包(归档)/解包 tar
- 数据备份:把一系列文件打包到一个大文件中
- 恢复数据:把档案文件数据解包
tar使用格式:
tar [参数] 打包文件名 文件
参数:
参数 含义
-c 生成档案文件,创建打包文件
-v 列出打包解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t 列出档案中包含的文件
-x 解开档案文件
注:参数前面的 “-“ 也加可不加
命令:
# 打包指定文件,生成.tar文件
tar -cvf havorld.tar havorld.txt meng.log
# 打包文件havorld目录下的所有文件,生成.tar文件
tar -cvf havorld.tar ./havorld*
# 解包.tar的文件
tar -xvf havorld.tar
注:tar只负责打包文件但不压缩,在tar命令中增加一个参数(-z)调用gzip实现打包+压缩的功能,其扩展名一般为.tar.gz
# 打包+压缩指定文件,生成.tar.gz文件
tar -cvzf havorld.tar.gz havorld.txt meng.log
# 打包+压缩havorld目录下的所有文件,生成.tar.gz文件
tar -cvzf havorld.tar.gz ./havorld*
# 解压缩+解包.tar.gz的文件到指定目录
tar -zxvf havorld.tar.gz -C /home/havorld
bzip2压缩/bunzip2解压
由于 bzip2 与 gzip 相比,其压缩稳定性和效果都更好,用法跟gzip一样
bzip2 havorld.txt # 生成havorld.txt.bz2
bzip2 -k havorld.txt # 生成havorld.txt.bz2,并保留源文件
bunzip2 havorld.txt # 生成havorld.txt.bz2
bunzip2 -k havorld.txt # 生成havorld.txt.bz2,并保留源文件
tar与bzip2命令结合使用实现文件打包和压缩,其扩展名一般用xxxx.tar.gz2。 在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
# 打包+压缩指定文件,生成.tar.gz文件
tar -jcvf havorld.tar.bz2 havorld.txt meng.log
# 打包+压缩havorld目录下的所有文件,生成.tar.gz文件
tar -jcvf havorld.tar.bz2 ./havorld*
# 解压缩+解包.tar.gz的文件到指定目录
tar -jxvf havorld.tar.bz2 -C /home/havorld