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='