压缩技术:比如存1时,共8bit,最右边为1,其它7位为0,压缩时将0压缩。
或者将重复数据压缩。
常用命令:
compress(淘汰)
gzip(常用) 与 zcat
bzip2(常用) 与bzcat
打包命令tar
压缩文件的扩展名大多是*.tar *.tar.gz *.tgz *.gz *.Z *.bz2
其中
*.Z是compress压缩的;
*.gz是gzip压缩的;
*.bz2是bzip2压缩的;
*.tar是tar程序打包但没有压缩的;
.tar.gz是打包后并经gzip压缩的;
.tar.bz2是打包后并经bzip2压缩的;
通常,压缩与解压缩只针对一个文件;从而打包指令就派上用场了。
gzip与zcat
gzip可以解开compress,zip与gzip等软件所压缩的档案,
//说明:[]里面是选项
gzip [-cdtv#] 档名 //c输出到屏幕,d解压缩时用,t检查有无错误,v显示压缩比等信息
//#压缩等级,-1最快但压缩比最差,-9恰相反,默认-6;
查看:
zcat 档名.gz //cat可以查看纯文本,zcat则可以查看压缩文件里的纯文本文件(注意是针对文本文件)
如gzip -v man.config //压缩后源文件不再存在,被gzip压缩的文件在windows中可以用winRAR打开。
解压gzip –d man.config.gz //同时删除.gz压缩源文件
用最佳压缩比压缩且不删除源文件gzip -9 -c man.config > man.config.gz
bzip2与bzcat
比gzip更好
bzip2 [-cdkzv#] 文件 //k保留源文件,-z用于压缩,其它同上
如:bzip2 -z man.config
解压:bzip2 -d man.config.bz2
用最佳压缩比压缩且不删除源文件:bzip2 -9 -c man.config > man.config.bz2
如果扩展名为.bz .bz2 .tbz .tbz2时,可以尝试用bzip2来解
查看:bzcat 档名.bz2
tar
tar [-j或-z][cv][-f 建立的档名] filename… //打包与压缩
tar [-j或-z][xv][-f 建立的档名] [-C 目录] //解压
tar [-j或-z][tv][-f 建立的档名] //查看
参数:
c建立打包档案,x解压, t查看含有哪些文件,(cxt不能同时使用哦)v显示处理的文件
j最好用于tar.bz2 z最好用于.tar.gz。j比z有更好的压缩比
此外,还有-p(小写)保留原本权限和属性,常用于备份
如果不加[-j或-z],档名最好为.tar
eg:在Test_tar目录下有2个文件
压缩:首先进入上一层目录
tar -zcv -f ray.tar.gz Test_tar
tar -jcv -f ray.tar.bz2 Test_tar //Good
查看压缩包里有什么文件:t和v在一起(t重点在查看含有哪些文件,v显示详细信息)
tar -jtv -f ray.tar.bz2
tar -jt -f ray.tar.bz2
tar -ztv -f ray.tar.gz
tar -zt -f ray.tar.gz
解压
tar -zxv -f ray.tar.gz -C /tmp
tar -zx -f ray.tar.gz -C /tmp
tar -jx -f ray.tar.bz2 -C /tmp
打包目录,但不包含该目录下某些文件(比如打包文件本身):
假设我要打包/etc和/root这2个目录,但不想打包/root/etc*开头的档案,而且打包成/root/elesos.tar.bz2(当然自己不能打包自己,因为这个文件放在/root下嘛)
//exclude前面有2个短横线
tar –jcv –f /root/elesos.tar.bz2 –exclude=/root/etc*\
--exclude=/root/elesos.tar.bz2 /etc /root