Linux打包和压缩工具的使用详解


压缩工具:gzip,bzip2 压缩能力逐渐增强
打包或压缩工具:tar
打包并压缩工具:zip 压缩能力比gzip和bzip2都强

gzip和bzip2这两种压缩工具的区别:

gzip和bzip2只能压缩文件,zip可以压缩文件和目录

bzip2和gzip的使用方法差不多,而且压缩后源文件消失,解压后压缩文件消失。bzip2多一个特色功能bzcat,可以查看压缩文件的内容

bzip2 [文件名] 压缩某个文件
bzip2 -d [压缩文件名] 解压某个压缩文件
gzip [文件名] 压缩某个文件
gzip -d [压缩文件名] 解压某个压缩文件
bzcat [压缩文件名] 查看某个压缩文件的内容

bzip2用法:

$ bzip2 file 
默认情况下,bzip2命令尝试压缩原始文件,并用压缩后的文件(同样的文件名加上.bz2扩展)替换它。

解压:

$ bunzip2 file.bz2 

如果file是文本文件,可以用bzcat查看:

$ bzcat file.bz2

gzip用法跟bzip2一样。

打包或压缩工具tar:

tar的打包功能

tar -cvf [待生成的包] [目录名] [文件名] 打包目录和文件
tar -xvf [包名] 解包

tar的压缩功能

tar -zcvf [待生成的压缩包名.tar.gz] [文件名] [目录名]
------打包文件和目录,并压缩(以gzip方式压缩)
tar -jcvf [待生成的压缩包名.tar.bz2] [文件名] [目录名]
------打包文件和目录,并压缩(以bzip2方式压缩)
tar -zcvf [压缩包名.tar.gz] --exclude [排除打包的文件或目录名] [文件名] [目录名]
------排除打包某个文件或目录,并以gzip方式压缩
tar -tf [包名] 查看包里面的所有文件

打包并压缩工具zip:

zip用于打包并压缩文件或目录
zip -r [待生成的压缩包名] [文件] [目录] 打包文件和目录,并压缩
unzip用于解压压缩包
unzip [压缩包名] 解压压缩包
tar和zip:压缩后源文件保留,解压后压缩文件也保留。

tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:

  # tar -cf all.tar *.jpg
  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

  # tar -rf all.tar *.gif
  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

       # tar -uf all.tar logo.gif
  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

  # tar -tf all.tar
  这条命令是列出all.tar包中所有文件,-t是列出文件的意思

  # tar -xf all.tar
  这条命令是解出all.tar包中所有文件,-x是解包的意思

以上就是tar的最基本的用法。

参与评论