压缩是指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容。gzip、bzip2就是Linux用来压缩的命令。
打包是指将多个文件(或目录)合并成一个文件,方便传递或部署。tar就是Linux用来打包的命令。
在Linux系统中,文件的后缀名不重要,但是针对于压缩文件的后缀名是必须的,因为可以让其他的程序员根据文件的后缀名使用对应的方法进行解压。
gzip 指令 文件
-c : | 将压缩的数据输出到标准输出(stdout)上 |
-d : | 解压缩 |
-t : | 可以用来检验一个压缩文件的一致性,看看文件有无错误 |
-v : | 可以显示出原文件/压缩文件的压缩比等信息 |
-(1,2,...,9): | 压缩等级,1最快,但是压缩比最差;9最慢,但是压缩比最好,默认是6。 |
-l : | 查看压缩文件的压缩比: gzip –l *.gz |
压缩:
gzip -v passwd
解压:
gzip -d passwd.gz
使用gzip进行压缩,会自动覆盖源文件。
当然,如果不想覆盖源文件的话,可以使用输出流,将压缩的文件,输出到指定文件中。
gzip -c passwd >> passwd.gz 通过-c指令,将流输出到passwd.gz中, >>表示进行对标准输出进行数据重定向
注意:进行数据重定向的时候,一定不要忘记添加正确的文件后缀,使用gzip打包,就使用.gz。使用bzip2打包,就使用.bz2为后缀。
bzip2 指令 文件
-c : | 将压缩的过程产生的数据输出到标准输出(stdout) |
-d : | 解压缩的参数 |
-k : | 保留源文件,而不会删除原始的文件 |
-f : | 强制压缩 |
-v : | 可以显示出原文件/压缩文件案的压缩比等信息; |
-(1,2,...,9): | 与gzip同样的,都是在计算压缩比的参数,-9最佳,-1最快 |
压缩:
bzip2 -kv passwd
保留源文件,并使用bzip2算法进行压缩
解压:
bzip2 -d passwd.bz2
注意:bzip2的压缩比要比gzip的好,但是bzip2的压缩时长比gzip要长很多。虽然,bzip2的压缩比很好,但是现在使用gzip算法进行压缩的情况比较多,因为
tar是进行打包的指令。可以将一个文件/夹打包成一个文件,还可以结合gzip、bzip2的算法对包文件进行相应的压缩和解压。
压缩: tar [选项] newFileName.tar.gz sourceFileName
解压: tar [选项] fileName.tar.gz [-C /path]
-c : | 建立打包文件 |
-t : | 查看打包文件的内容含有哪些文件 |
-x : | 解打包或解压缩的功能,可以搭配-C(大写)在指定目录解开 |
-j : | 通过bzip2的支持进行压缩/解压缩:此时文件最好为 *.tar.bz2 |
-z : | 通过gzip的支持进行压缩/解压缩:此时文件最好为 *.tar.gz |
-v : | 在压缩/解压缩的过程中,将正在处理的文件名显示出来 |
-f filename: | -f 后面跟处理文件的全名称((绝对/相对)路径+文件名+后缀名) |
-C 目录: | 这个选项用在解压的时候,若要在特定目录解压,可以使用这个选项 |
tar -zcvf newinstall.log.tar.gz install.log
使用gzip算法压缩install.log文件。
tar -zxvf install.log.tar.gz
使用gzip算法解压install.log.tar.gz文件。
tar -zxvf install.log.tar.gz -C /
使用gzip算法解压install.log.tar.gz文件到指定目录中。
补充:命名的时候一定要注意规则,***.tar.gz/bz2