linux之打包压缩(tar,gz,bz2,xz,zip)

1.文件归档

1.
文件归档,就是把多个文件变成一个归档文件


2.
tar        c             ##创建
           f             ##指定归档文件名称
           t             ##显示归档文件中的内容
           r             ##向归档文件中添加文件
           --get         ##取出单个文件
           --delete      ##删除单个文件
           x             ##取出归档文件中的所有内容
           -C            ##指定解档目录
           -z            ##gz格式压缩
           -j            ##bz2格式压缩
           -J            ##xz格式压缩
tar xf etc.tar ##解压到当前目录下
tar f etc.tar –get westos ##解压具体文件westos到当前目录
tar xf etc.tar -C /mnt/ ##解压到指定目录下

举例:
 

1.tar cf bin.tar /bin/  将根目录下的bin目录打包到当前目录下,打包后名为bin.tar

linux之打包压缩(tar,gz,bz2,xz,zip)_第1张图片

2.tar tf bin.tar  显示bin.tar打包内容

linux之打包压缩(tar,gz,bz2,xz,zip)_第2张图片

3.tar rf bin.tar westos  将westos文件添加到bin.tar打包中

linux之打包压缩(tar,gz,bz2,xz,zip)_第3张图片
 

4.tar f bin.tar --delete westos        将bin.tar打包文件中的westos文件删除

linux之打包压缩(tar,gz,bz2,xz,zip)_第4张图片

5.tar xf bin.tar  将bin.tar打包所有内容取出,创建bin目录到当前目录下

6.tar xf etc.tar -C /mnt/  解压到根目录下的mnt目录


 

7.tar f etc.tar --get westos  将etc.tar打包文件中的westos文件单独取出来放在当前目录下

 

2.压缩

gz
gzip etc.tar          ##压缩成gz格式
gunzip  etc.tar.gz    ##解压gz格式压缩包
tar zcf etc.tar.gz /etc    ##把文件归档为tar并压缩成gz (将打包和压缩合成一步)
tar zxf etc.tar.gz    ##解压并解档gz格式压缩包  (将打包解压d到)
举例:
--gzip bin.tar (将打包好的bin.tar压缩为gz格式,压缩完成后,之前打包消失)

linux之打包压缩(tar,gz,bz2,xz,zip)_第5张图片

--gunzip bin.tar.gz  (解压gz格式的bin.tar包,之前的压缩gz压缩包消失)
--tar zcf etc.tar.gz /etc  (将根目录下的etc目录打包为etc.tar,并压缩成gz格式)

--tar zxf etc.tar.gz  (将etc.tar.gz 解压当前目录,并将所有内容显示在新创建的etc目录下,之前的gz压缩包不消失)

bz2
bzip2 etc.tar             ##压缩成bz2格式
bunzip2 etc.tar.bz2       ##解压bz2格式压缩包
tar jcf etc.tar.bz2 /etc/ ##把文件归档为tar并压缩成bz2
tar jxf etc.tar.bz2       ##解压并解档bz2格式压缩包
举例:
--bzip2 bin.tar  (将bin.tar包压缩成bz2格式,之前打包消失)

--bunzip2 bin.tar.bz2  (将bin.tar.bz2解压到当前目录,之前的bz2压缩包消失)


 

--tar jcf etc.tar.bz2 /etc/  (将根目录下的etc目录打包为etc.tar,并压缩为bz2格式)


 

--tar jxf etc.tar.bz2  (将etc.tar.bz2解压当前目录,并将所有内容显示在新创建etc目录下,之前的bz2压缩包不消失)

xz
xz etc.tar            ##压缩成xz格式
unxz  etc.tar.xz      ##解压xz格式压缩包
tar Jcf etc.tar.xz /etc    ##把文件归档为tar并压缩成zx
tar Jxf etc.tar.xz    ##解压并解档xz格式压缩包
举例:
--xz bin.tar  (将bin.tar包压缩为xz格式,之前的打包消失)


 

--unxz bin.tar.xz  (将bin.tar.xz解压到当前目录下,之前的xz压缩包消失)

--tar Jcf etc.tar.xz /etc/  (将根目录下etc目录打包为etc.tar,并压缩为xz格式)

--tar Jxf etc.tar.xz  (将etc.tar.xz解压到当前目录,并将所有内容显示在新创建的etc目录下,之前的xz压缩包不消失)

zip
zip -r etc.tar.zip etc.tar    ##压缩成zip格式
unzip etc.tar.zip        ##解压zip格式压缩包
举例:
--zip -r bin.tar.zip bin.tar  (将bin.tar包压缩为zip格式,bin.tar包不消失)


 

--unzip bin.tar.zip  (将bin.tar.zip压缩包解压,bin.tar.zip压缩包不消失)


注:这几种压缩格式中,xz的压缩效果最好,但是消耗的时间长。

你可能感兴趣的:(linux学习)