linux-打包压缩命令,tar,gzip,bzip2

 

tar命令

tar是linux下经常使用的归档工具,是对文件或者目录进行打包归档,归成一个文件

 

 

格式:

tar  [主选项+辅助选项]  文件或目录

 

 

主选项:

-c:创建新的文件

-r:把要归档的文件追加到档案文件的末尾

-t:列出档案文件中已经归档的文件列表

-x:从打包的档案文件中还原出文件

-u:更新档案文件,用新的文件替换档案中的原始文件

 

 

辅助选项:

-z:调用gzip命令在文件打包的过程中进行压缩或解压文件

-w:在还原文件时,把所有文件的修改时间设定为现在时间

-j:调用bzip2命令在文件打包的过程中进行压缩或解压文件

-Z:调用compress命令过滤档案

-f:"-f"选项后面紧跟档案文件的存储设备,默认是磁盘,需要指定档案文件名,如果是磁带,只需指定磁带设备名即可。

      注意:在"-f"选项之后不能跟其它任何选项,也就是说"-f"必须是tar命令的最后一个选项

-v:指定在创建归档文件过程中,显示各个归档文件的名称

-p:在文件归档的过程中,保持文件的属性不发生变化

-N:"yyy/mm/dd"在指定日期之后的文件才会被打包到档案文件中

--exclude: file 在打包的过程中,不将指定file文件打包

 

 

 

tar实例跟实战

 

打包指定目录下的所有文件到指定的目录中

将当前目录中的date目录打包到date目录中,打包的路径和名字是由自己设置

一般会在名字后面加上.tar标识,方便识别

打包:
tar -cvf /root/date.tar date/

解包:
tar -xf date.tar

 

 

打包压缩指定目录下的所有文件到指定的目录中(.gz)

将当前目录中的date目录打包压缩到date目录中,打包压缩的路径和名字是由自己设置

一般会在名字后面加上.tar.gz标识,方便识别

-zcvf选项是代表打包完成后调用gzip命令进行压缩

压缩:
tar -zcvf /root/date.tar.gz /data/

解压:
tar -zxvf date.tar.gz

 

 

打包压缩指定目录下的所有文件到指定的目录中(.bz2)

将当前目录中的date目录打包压缩到date目录中,打包压缩的路径和名字是由自己设置

一般会在名字后面加上.tar.bz2标识,方便识别

-jcvf选项是代表打包完成后调用bzip2命令进行压缩

注意,如果压缩报错,正常是bzip2没有安装

压缩:
tar -jcvf /root/date.tar.bz2 /data/

解压:
tar -jxvf date.tar.bz2

 

 

查阅压缩包中的内容

查看.gz压缩包中的内容
tar -ztvf data.tar.gz

查看.bz2压缩包中的内容
tar -jtvf data.tar.bz2

 

 

打包的时候,保留文件的原权限

tar -zcvpf data.tar.gz /data/

 

 

解压指定压缩包中的文件

解压前要先查阅一下压缩包的内容。找到需要的文件,记录好所需要的文件的路径,在通过以下的命令就可以解压出所需的文件

tar -zxvf data.tar.gz data/1

 

 

压缩指定日期的文件

tar -N "2019/3/7" -zcvf d.tar.gz /data/

 

 

打包压缩目录下除了eso目录中的1文件,其它都打包压缩

--exclude选项只能去除文件,不能去除目录

tar --exclude /data/eso/1 -zcvf s.tar.gz /data/*

 

 

将data目录打包压缩后直接解压到当前目录中

不生成档案文件,就是不生成压缩文件

tar -zcvf - /data/ | tar -zxvf-

 

 

解压到指定的路径下

使用-C选项

tar -zxvf data.tar.gz -C /tmp/

 

 

============================================================================

============================================================================

============================================================================

 

 

gzip/gunzip命令

gzip/gunzip命令用于将一般文件进行压缩或解压的,压缩文件预设的扩展名为“.gz

gunzipgzip的硬链接,因此无论是压缩或者解压都可以通过gzip来实现

注意:gzip只能对文件压缩,不能压缩目录,即使指定压缩目录,也只会压缩目录内的所有文件

 

 

格式:

gzip  [选项]   [压缩/解压]   [文件]

 

 

选项:

-d:对压缩的文件进行解压

-r:递归式压缩指定目录以及子目录下的所有文件

-t:检查压缩文件的完整性

-v:对于每个压缩和解压的文件,显示相应的文件名和压缩比

-l:显示压缩文件的压缩信息,显示字段为压缩文件大小,未压缩文件大小,压缩比和未压缩文件名称

-num:用指定的数字num配置压缩比,“-1”或“-fast” 表示最低压缩比,“-9”或“-best”表示最高压缩比,系统默认压缩比为6

 

 

 

实例

 

使用gzip压缩级别为9

先将jpress目录下的所有文件以及子目录进行压缩

然后在对压缩好的文件进行gzip压缩,设置gzip压缩级别为9

压缩
zip jpress.zip jpress/

再度压缩
gzip -9v jpress.zip 

 

 

查看压缩文件的压缩信息

[root@localhost ~]# gzip -l jpress.zip.gz 
         compressed        uncompressed  ratio uncompressed_name
                115                 164  47.6% jpress.zip

 

 

解压文件到当前目录

使用gzip/gunzip解压
gzip -d jpress.zip.gz / gunzip jpress.zip.gz

解压后,还有一层,因为我们上面使用了zip压缩
unzip jpress.zip

 

 

 

============================================================================

============================================================================

============================================================================

 

 

 

bzip2/bunzip2命令

bzip2/bunzip2命令用于对文件进行压缩或解压,这命令类似于“gzip”命令

只能对文件进行压缩,对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”的后缀压缩包

bunzipbzip2的符号链接,即软链接,因此压缩解压都可以通过bzip2来实现

 

 

格式:

bzip2  [选项]   [压缩/解压的文件]

 

 

选项

-d:执行解压,此时选项后面要跟着解压的文件

-v:压缩或解压文件时,显示详细信息

-k:bzip2在压缩或解压后,会删除原始文件,若要保留原始文件,可使用这选项

-f:bzip2的压缩或解压时,若输出文件与现有的文件同名,默认不会覆盖现有文件,若要覆盖,可使用这选项

-t:测试“.bz2”压缩文件的完整性

压缩级别:压缩级别可以从1-9中选取,数字越大,压缩率越高

 

 

将jpress.zip压缩包进行压缩,设置压缩率为最高,同时在压缩完后不删除原始文件,显示压缩过程的详细信息

[root@localhost data]# bzip2 -9vk jpress.zip 
  jpress.zip:  1.086:1,  7.366 bits/byte,  7.93% saved, 164 in, 151 out.

 

 

 

 

 

 

转载请注明原文链接:linux-打包压缩命令,tar,gzip,bzip2

发表评论:

共有 0 条评论

 Top