linux压缩和打包


压缩技术一般分为两种:有损压缩和无损压缩。在linux中一般不允许有数据丢死,所以都是无损压缩。

linux中压缩技术一般可以分为两种:

gzipbzip2

gzip

gzip是先于bzip2出现的压缩技术,一般的使用方法如下:

gzip file

file是需要压缩的文件,生成的压缩文件一般会替换原始的文件,压缩文件和原始的文件具有相同的时间属性和权限。

如果想要保留原始的文件,那么可以使用c选项和重定向实现。

gzip -cv file > file.gz

c是将输出定位到标准输出,v是显示压缩过程中的详细信息。

gzip对应的解压缩命令:(目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件)

gzip -d file.gz (或者使用gunzip命令)

可以使用zcat(参考cat)来直接查看纯文本压缩文件的内容。


bzip2

bzip2是对gzip技术的一种改进,一般具有较好的压缩比,但是速度比较慢。bzip2的使用方式和gzip类似。

不同点:

bunzip2对应的解压缩命令是bunzip2(一般使用bzip2 -d来进行解压缩)
使用bzcat可以查看.bz2文件的内容。


缺点:这些压缩命令通常仅能针对一个文件来压缩与解压缩,虽然 gzip 与 bzip2 也能够针对目录来进行压缩,不过,这两个命令对目录的压缩指的是将目录内的所有文件 "分别" 进行压缩!因此,打包文件显得很有必要。

tar
打包就是把许多文件捆绑成一个大文件的过程,打包文件使用tar命令。tar命令的一般使用方法如下:

打包文件:tar -cv -f filename.tar filename1 filename2 (c选项表示创建打包文件,f指定打包之后生成的文件名,v显示打包的文件信息)

解包文件:tar -xv -f filename.tar (x表示解包打包的文件,f指定打包文件名)

查看打包文件包含的文件 :tar -t -f filename.tar (-t显示打包文件中的文件名)

tar具有以下两个特点:

从打包文件恢复的文件的权限是执行恢复操作的用户的权限,除非你是root用户,此时权限是原始用户的权限。tar 命令特点是它处理归档文件路径名的方式。默认情况下,路径名是相对的,而不是绝对路径。当创建归档文件的时候,tar 命令会简单地删除路径名开头的斜杠。 \
从上图中可以看出,在打包文件的时候使用绝对路径时,~/playground会被展开为/home喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcGV0ZXIvcGxheWdyb3VuZKOsy/nS1NfuuvO74b2raG9tZcS/wrzPwrXEzsS8/rTysPyjrLKix9K74cm+s/1ob21lwre+tseww+a1xLj6wre+tqOov7TNvNbQtcS12rb+0NCjqaGjtvjH0tTaveKw/LXEyrG68rvh0tS1scewwre+ts6quLjCt762veKw/KGjCgo8cD48L3A+Cgp0YXLD/MHusru99r7f09C08rD8uabE3KOsz9bU2ru5xNy94brP0bnL9by8yvXSu8bwyrnTw6Os0aHP7i1qyrnTw2d6aXDRucv1o6wtesq508NiemlwMtG5y/Who3RhciDD/MHuvq2zo73hus8gZmluZCDD/MHu0rvG8MC01sbX97G4t93OxLz+oaPNqLn9IGZpbmQgw/zB7salxeTWuLaotcTOxLz+w/u78tXf0MLT2sSzuPbKsbzktMG1xM7EvP6jrM7Sw8e+zcTcubu0tL2o0ru49rnptbXOxLz+o6zA/cjno7oKPHA+ZmluZCBwbGF5Z3JvdW5kIC1uYW1lIA=="file-A' -exec tar rf playground.tar '{}' '+' //r是追加选项

linux中相关的文件名约定:

*.Z compress 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件;
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩

另外,tar 打包出来的文件有没有进行压缩所得到文件称呼不同。

tarfile:打包文件 tar -cv -f file.tar tarball:打包并压缩文件 tar -jcv -f file.tar.bz2

相关内容

    暂无相关文章