Linux系统的文件压缩主要依赖三个压缩命令——gzipbzip2xz以及一个打包命令——tar
gzip命令:gzip是Linux系统下应用非常广泛的一个压缩命令,gzip可以解开compresszipgzip等软件所压缩的文件,而gzip所建立的压缩文件通常后缀名为*.gzgzip的语法:

gzip [ -cdtvk1~9 ]  [ name ]
参数意义:
       -c :将压缩的数据输出到文件,默认为标准输出(屏幕)可通过数据流重定向来写入其他文件;
       -d :表示解压缩而非压缩;
       -t:可以用来检验一个压缩文件的一致性,看其有无错误;
       -v:可以显示出原文件/压缩文件的压缩比等信息;
       -k:保留原始文件;
       -1~9:数字代表压缩等级,-1压缩比最差,-9最好,默认为-6,但压缩比越好相应的压缩时间就越长;

需要注意的是,使用gzip进行压缩时,在默认的状态下原文件会被压缩成后缀为.gz的文件,而原文件也将不复存在;若要保留原文件请使用-k参数。
bzip2命令与xz命令的用法和参数都和gzip命令差不多,只不过bzip命令生成的文件后缀名为.bz2,而且bzip2的压缩比较gzip要更好,相应的花费的时间也就更长一点;而xz生成的文件后缀名为.xzxz的压缩比较bzip2又要更好一点,但其压缩时间也是3个命令中最长的。
打包命令——tar:上述三个命令大多都是针对单一文件进行压缩,虽然他们也可以对目录进行压缩,不过,他们在执行的时候是将目录内的所有文件分别进行压缩。而tar则可以将多个目录或是文件打包成一个大文件,同时也可以通过上述三个命令的支持对文件进行压缩。

tar [-z|j|J] [cv] [-f 待建立的新文件名] [原文件名] //打包与压缩
tar [-z|j|J] [cv] [-f 既有的文件名] //查看文件名
tar [-z|j|J] [cv] [-f 既有的文件名] [-C 目录] //解压缩
参数意义:
-c:建立打包文件;
-t:查看打包文件中含有那些文件名;
-x:解压缩,可以用-C解压到指定目录;
-v:显示正在处理的文件名;
-z:通过gzip的支持进行压缩/解压锁;
-j:通过bzip2的支持进行压缩/解压缩;
-J:通过xz的支持进行压缩/解压缩;

tar还有许多非常好用的功能,这里就不一一介绍了。