1.tar格式
打包:tar -cvf [目标文件名].tar [原文件名/目录名]
解包:tar -xvf [原文件名].tar
注:tar格式只打包,不压缩。
tar命令详解:
-c: 创建新的档案文件(创建)
-x:从档案文件中释放文件(解包)
-t:列出档案文件的内容,查看已经备份了哪些文件
-r:把要存档的文件追加到档案文件的未尾
-u:更新原压缩包中的文件
-v: 详细报告tar处理的文件信息
-f: 使用档案名字(文件名)
-w:每一步都要求确认
-z: 用gzip来压缩/解压缩文件
-m:在还原文件时,把所有文件的修改时间设定为现在
-k:保存已经存在的文件

2.tar.gz格式
方式一:利用前面已经打包好的tar文件,直接用压缩命令。
压缩:gzip [原文件名].tar
解压:gunzip [原文件名].tar.gz

方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -zcvf [目标文件名].tar.gz [原文件名/目录名]
解压并解包: tar -zxvf [原文件名].tar.gz

注:z代表用gzip算法来压缩/解压。

3.tar.bz2格式
方式一:利用已经打包好的tar文件,直接执行压缩命令:
压缩:bzip2 [原文件名].tar
解压:bunzip2 [原文件名].tar.bz2

方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -jcvf [目标文件名].tar.bz2 [原文件名/目录名]
解压并解包: tar -jxvf [原文件名].tar.bz2

注:小写j代表用bzip2算法来压缩/解压。

4.tar.xz格式
方式一:利用已经打包好的tar文件,直接用压缩命令:
压缩:xz [原文件名].tar
解压:unxz [原文件名].tar.xz

方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -Jcvf [目标文件名].tar.xz [原文件名/目录名]
解压并解包: tar -Jxvf [原文件名].tar.xz

注:大写J代表用xz算法来压缩/解压。

5.tar.Z格式(已过时)
方式一:利用已经打包好的tar文件,直接用压缩命令:
压缩:compress [原文件名].tar
解压:uncompress [原文件名].tar.Z

方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -Zcvf [目标文件名].tar.Z [原文件名/目录名]
解压并解包: tar -Zxvf [原文件名].tar.Z

注:大写Z代表用ncompress算法来压缩/解压。另,ncompress是早期Unix系统的压缩格式,但由于ncompress的压缩率太低,现已过时。

6.zip格式
压缩:zip -r [原文件名].zip [路径名]
解压:unzip -o [原文件名].zip
解压:unzip -o -d [路径名] [原文件名].zip
注:-r:表示递归压缩子目录下所有文件.-o:不提示的情况下覆盖文件。-d:指明将文件解压缩到指定目录下;

7.rar格式
压缩:rar a [原文件名].rar [路径名]
解压:rar x [原文件名].rar

8.jar格式
压缩:jar -cvf [目标文件名].jar [原文件名/目录名]
解压:jar -xvf [原文件名].jar
注:如果是打包的是Java类库,并且该类库中存在主类,那么需要写一个META-INF/MANIFEST.MF配置文件,内容如下:

Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-class: the_name_of_the_main_class_should_be_put_here
然后用如下命令打包:

jar -cvfm [目标文件名].jar META-INF/MANIFEST.MF [原文件名/目录名]