1. tar命令
使用tar程序打出来的包我们常称为tar包. tar包文件的命令通常都是以.tar结尾的。生成tar包后. 就可以用其它的程序来进行压缩了. tar命令本身不进行数据压缩. 但可以在打包或解包的同时调用其它的压缩程序. 比如调用gzip、bzip2
选项:
-c 创建.tar格式包文件
-x 解开.tar格式包文件
-v显示详细信息
-f 使用归档文件
-p 保留原始文件权限
-C 解压到目标文件夹
-z 调用gzip进行压缩或解压
-j 调用bzip2进行压缩或解压
打包示例:
tar -cvf /blog/uouo123/com.tar bb.txt 打包文件
打包并压缩示例:
tar -zcvf /blog/uouo123/com.tar.gz bb.txt 压缩文件
解压缩示例:
tar -zxvf /blog/uouo123/com.tar.gz -C /com/bb 解压文件
2. gzip压缩
常用数据压缩命令. 压缩比例可手工调整. 压缩后文件名 filename.gz:
注:压缩后文件可直接load至hive数据库. 但每个文件只会产生一个map. 查询效率极低
选项:
-c 将输出写到标准输出上. 并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件. 显示下列字段:
压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试. 检查压缩文件是否完整。
-v 对每一个压缩和解压的文件. 显示文件名和压缩比。
-num 用指定的数字 num 调整压缩的速度. -1 或 --fast 表示最快压缩方法(低压缩比).
-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。
压缩示例:
gzip filename
查看gzip压缩文件内容命令:
zcat filename.gz
解压缩命令:
gzip -d filename.gz
压缩过程中可控制压缩率(1-9). 1压缩最快. 压缩率不高. 9压缩最慢. 压缩比例最高. 缺省为6. 例如:
gzip -9 filename
3. bzip2压缩
常用数据压缩命令. 压缩比例比gzip高. 压缩后文件名为filename.bz2
注:压缩后文件可直接load至hive数据库
选项
-c或——stdout:将压缩与解压缩的结果送到标准输出;
-d或——decompress:执行解压缩;
-f或-force:bzip2在压缩或解压缩时. 若输出文件与现有文件同名. 预设不会覆盖现有文件。若要覆盖。请使用此参数;
-h或——help:在线帮助;
-k或——keep:bzip2在压缩或解压缩后. 会删除原始文件。若要保留原始文件. 请使用此参数;
-s或——small:降低程序执行时内存的使用量;
-t或——test:测试.bz2压缩文件的完整性;
-v或——verbose:压缩或解压缩文件时. 显示详细的信息;
-z或——compress:强制执行压缩;
-V或——version:显示版本信息;
--repetitive-best:若文件中有重复出现的资料时. 可利用此参数提高压缩效果;
--repetitive-fast:若文件中有重复出现的资料时. 可利用此参数加快执行效果。
压缩示例:
bzip2 filename
解压缩示例:
bzip2 -d filename.bz2
直接查看压缩文件示例:
bzcat filename.bz2
使用默认压缩情况下压缩性能:
bzip2 > gzip > tar
② (DELPHI)已经存入SQLSERVER中的图片数据(image字段)太大,怎么直接在数据库中压缩或怎么用程序实现
delphi 的图像缩放示例代码如下:
//将图片缩放至指定大小
procereSizeBmp(constSource,Dest:string;constx,y:integer);
var
aBmp,bBmp:tbitmap;
scalex,scaley:real;
begin
aBmp:=TBitmap.Create;
bBmp:=TBitmap.Create;
try
aBmp.LoadFromFile(Source);
scaley:=aBmp.Height/y;
scalex:=aBmp.Width/x;
bBmp.Width:=round(aBmp.Width/scalex);
bBmp.Height:=round(aBmp.Height/scaley);
bBmp.PixelFormat:=pfDevice;
SetStretchBltMode(bBmp.Canvas.Handle,COLORONCOLOR);
StretchBlt(bBmp.Canvas.Handle,0,0,bBmp.Width,bBmp.Height,
aBmp.Canvas.Handle,0,0,aBmp.Width,aBmp.Height,src);
bBmp.SaveToFile(Dest);
finally
aBmp.Free;
bBmp.Free;
end;
end;
procereTForm1.btn1Click(Sender:TObject);
begin
SizeBmp('e:1112.bmp','e:1112_small.bmp',640,480);
end;
③ 如何压缩mongodb文本字段
有可能你添加数据的速度比存储价格下降的速度来得更快,你花费在存储上的净支出实际上正在上升。你的内部成本也可能需要包括管理等因素,因此它们的价格可能会比商品市场价格高出很多。换句话说,你仍然需要寻求新的方式以减少您对存储的需求。
磁盘存储的大小是一个需要考虑的因素,当然还有其他需要考虑的。磁盘I/ O延迟是由在旋转存储上寻道时间为主导。通过降低数据的大小,用更少的磁盘寻道检索一定量的数据是必要的,这样磁盘I / O吞吐量将得到改善。对于RAM而言,一些压缩格式可以不用解压在内存中的数据。在这样的情况下,更多的数据可以放在RAM中,从而提高了性能。
④ 报头压缩是什么意思
完整的区分是TCP报头压缩和IP报头压缩.
TCP/IP报头压缩被设计用来提高低速串行链路上的带宽利用率,减小开销。
报头压缩的基本思路是只传输在TCP/IP连接期间报头中变化的字段。通过使用预先建立的连接标识符,报头中的部分可以省去。如果在连接建立期间,建立起连接标识符与源地址、目的地址及源端口、目的端口之间的联系,那么这些字段都可以省略。还有一些字段可以压缩,例如,对于有的数据链路控制子层来说,允许省略总长度字段。
典型的TCP/IP分组包含20字节的IP报头和20字节的TCP报头。TCP连接建立后,分组报头信息便是冗余的,不必在发送的每个分组中都重复整个报头。通过重构一个小型报头,可以减少传输的字节数。该小型报头标识了连接,并指出了发生变化的字段以及变化量。一般来说,压缩后的TCP/IP分组报头为10个字节,而不是40字节。
⑤ Mysql中的字段的可压缩性是什么意思
属性就看你的这个字段是不是主键或者是外键
选择是null的话,就可以为空,就在添加这个字段可以不用插入数据,也可以插入数据的
选择not null的话,就代表这个字段必须得填写内容,不填写就报错
⑥ C语言求助:请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
#include <stdio.h>
void stringZip(const char
*pInputStr, long lInputLen, char *pOutputStr)
{ int n=1;
char c,*p1=pInputStr,*p2=pOutputStr;
while(*p1)
{
c=*(p1++);
while(*p1==c){n++;p1++;}
if(n>1)
{
if(n>999){*(p2++)=48+n/1000; n/=10;}
if(n>99){*(p2++)=48+n/100; n/=10;}
if(n>9){*(p2++)=48+n/10; n/=10;}
*(p2++)=48+n;
}
*(p2++)=c;
n=1;
}
*p2='