壓縮
1.壓縮的概念
1)壓縮的目的:
在網絡傳遞文件時,可以先將文件壓縮,然后傳遞壓縮后的文件,從而減少網絡帶寬。
接受者接受文件后,解壓即可。
2)壓縮的類型
有損壓縮、無損壓縮。
a)有損壓縮:
如mp4視頻文件,即使壓縮過程中,減少了很多幀的數據,
對觀看者而言,也沒有影響。當然mp3音樂文件也是有損壓縮。
b)無損壓縮:
如普通文件的壓縮,為了保證信息的正確傳遞,
不希望文件經過壓縮或解壓后,出現問題。
?
2.linux下常用的壓縮命令
小節:
單個文件的壓縮(解壓)使用gzip 和bzip2
多個文件和目錄使用tar
gzip的常用選項
-l(list) 列出壓縮文件的內容
-k(keep) 在壓縮或解壓時,保留輸入文件。
-d(decompress) 將壓縮文件進行解壓縮
1)查看
gzip -l 壓縮文件名
比如:gzip -l pwd.1.gz
2)解壓
gzip -kd 壓縮文件名
比如:gzip -kd pwd.1.gz
該壓縮文件是以.gz結尾的單個文件
3)壓縮
gzip -k 源文件名
比如:gzip -k mypwd.1
得到了一個.gz結尾的壓縮文件
注意:
1)如果gzip不加任何選項,此時為壓縮,壓縮完該文件會生成后綴為.gz的壓縮文件,
并刪除原有的文件,所以說,推薦使用gzip -k 來壓縮源文件。
2)相同的文件內容,如果文件名不同,壓縮后的大小也不同。
3)gzip只能壓縮單個文件,不能壓縮目錄。
提示:
man pwd會解壓/usr/share/man/man1/pwd.1.gz這個文件,
然后讀取該文件中固定的格式的一些信息,然后顯示到終端中。
?
bzip2來壓縮單個文件
bzip2的常用選項
-k(keep) 在壓縮或解壓時,保留輸入文件。
-d(decompress) 將壓縮文件進行解壓縮
1)壓縮
bzip2 -k 源文件名
比如:bzip2 -k mypwd.1
得到一個.bz2后綴的壓縮文件
2)解壓
bzip2 -kd 壓縮文件名
bzip2 -kd mypwd.1.bz2
注意:
1)如果bzip2不加任何選項,此時為壓縮,壓縮完該文件會生成后綴為.bz2的壓縮文件,
并刪除原有的文件,所以說,推薦使用bzip2 -k 來壓縮源文件。
2)bzip2只能壓縮單個文件,不能壓縮目錄。
單個文件的壓縮使用gzip或bzip2,
壓縮有兩個參數:1)壓縮時間 2)壓縮比
一般情況下,小文件使用gzip來壓縮,大文件使用bzip2來壓縮。
mypwd.1源大小是1477字節,
gzip壓縮后mypwd.1.gz是877字節,
bzip2壓縮后mypwd.1.bz2是939字節。
myls.1源文件大小7664字節,
gzip壓縮后myls.1.gz是3144字節,
bzip2壓縮后myls.1.bz2是3070字節。
//============================================================
gzip、bizp2只能對一個文件進行壓縮,而不能對多個文件和目錄進行壓縮。
所以需要tar來對多個目錄、文件進行打包和壓縮。
tar常用選項
-c(create) 表示創建用來生成文件包
-x:表示提取,從文件包中提取文件
-t可以查看壓縮的文件。
-z使用gzip方式進行處理,它與”c“結合就表示壓縮,與”x“結合就表示解壓縮。
-j使用bzip2方式進行處理,它與”c“結合就表示壓縮,與”x“結合就表示解壓縮。
-v(verbose)詳細報告tar處理的信息
-f(file)表示文件,后面接著一個文件名。
-C <指定目錄> 解壓到指定目錄
1.tar打包、gzip壓縮
1)壓縮
tar -czvf 壓縮文件名 目錄名
如:tar czvf dira.tar.gz dira
注意:
tar -czvf與tar czvf是一樣的效果,所以說,后面統一取消-。
2)查看
tar tvf 壓縮文件名
如:tar tvf dira.tar.gz
3)解壓
tar xzvf 壓縮文件名
tar xzvf 壓縮文件名 -C 指定目錄
如:tar xzvf dira.tar.gz 解壓到當前目錄
如:tar xzvf dira.tar.gz -C /home/book 解壓到/home/book
2.tar打包、bzip2壓縮
1)壓縮
tar cjvf 壓縮文件名 目錄名
如:tar cjvf dira.tar.bz2 dira
2)查看
tar tvf 壓縮文件名
如:tar tvf dira.tar.bz2
3)解壓
tar xjvf 壓縮文件名
tar xjvf 壓縮文件名 -C 指定目錄
如:tar xjvf dira.tar.bz2 解壓到當前目錄
如:tar xjvf dira.tar.bz2 -C /home/book 解壓到/home/book
?