前言:
在開(kāi)發(fā)中,很多時(shí)候會(huì)遇到某些文件要進(jìn)行壓縮的操作,比如文件較大不方便傳輸?shù)臅r(shí)候,可能會(huì)考慮對(duì)文件進(jìn)行壓縮,以減少文件傳輸?shù)臅r(shí)間。
比如在網(wǎng)絡(luò)中傳輸文件的時(shí)候,就會(huì)考慮先將文件進(jìn)行壓縮,然后傳輸壓縮的文件,這樣可以減少文件傳輸所需要的帶寬和時(shí)間,在網(wǎng)絡(luò)接收到文件之后再解壓,就可以得到文件了。
文件的壓縮有兩種方式:有損壓縮和無(wú)損壓縮。 有損壓縮會(huì)對(duì)文件的數(shù)據(jù)有一定的破壞,一般對(duì)于重要的文件我們不會(huì)考慮這樣的方式。 無(wú)損壓縮不會(huì)影響文件,所以對(duì)于壓縮我們最先考慮的是使用無(wú)損壓縮的方式。
1、單個(gè)文件壓縮和解壓用 gzip / bzip2
對(duì)單個(gè)文件的壓縮和解壓我們可以使用使用gzip 和 bzip2 進(jìn)行操作。 這兩個(gè)命令只能用于對(duì)單個(gè)文件的壓縮操作,對(duì)于目錄和多級(jí)目錄的壓縮是不行的。
2.1、gzip 壓縮和解壓
gzip命令的使用如下:
gzip [選項(xiàng)] [完整的文件名]
常用的選項(xiàng)有:
-l(list):列出壓縮文件的內(nèi)容;
-k(keep):在壓縮或解壓時(shí),保留輸入文件;
-d(decompress):將壓縮文件進(jìn)行解壓縮;
使用gzip壓縮完之后的文件會(huì)生成后綴為.gz的壓縮文件。 如果直接使用 gzip 對(duì)某個(gè)文件進(jìn)行壓縮,不加任何其他選項(xiàng)的話,壓縮完成之后是會(huì)刪除掉被壓縮的源文件的,加 -k 選項(xiàng)就會(huì)在壓縮完成之后依然保留源文件。
gzip的使用示例如下:
1) 壓縮文件
gzip -k "需要壓縮的文件名" // 壓縮成功后得到了一個(gè).gz結(jié)尾的壓縮文件
2) 查看壓縮文件
gzip -l "經(jīng)過(guò)壓縮的.gz的文件"
3) 解壓文件
gzip -kd pwd.1.gz //該壓縮文件必須是以.gz結(jié)尾的單個(gè)文件
2.2、bzip2 壓縮和解壓
bzip2 命令的使用如下:
bzip2 [選項(xiàng)] [完整的文件名]
常用的選項(xiàng)有:
-l(list):列出壓縮文件的內(nèi)容;
-k(keep):在壓縮或解壓時(shí),保留輸入文件;
-d(decompress):將壓縮文件進(jìn)行解壓縮;
使用bzip2壓縮完之后的文件會(huì)生成后綴為.gz的壓縮文件。
bzip2 的使用示例如下:
1) 壓縮文件
bzip2 -k "需要壓縮的文件名" // 壓縮成功后得到了一個(gè).bz2結(jié)尾的壓縮文件
2) 查看壓縮文件
bzip2 -l "經(jīng)過(guò)壓縮的.bz2的文件"
3) 解壓文件
bzip2 -kd pwd.1.gz //該壓縮文件必須是以.bz2結(jié)尾的單個(gè)文件
gzip 和 bzip2 都能對(duì)單個(gè)文件進(jìn)行壓縮,那這兩個(gè)方式有什么不同呢?
不同之處在于:
1) 一般情況下,小文件使用gzip來(lái)壓縮,大文件使用bzip2來(lái)壓縮;
2) bzip2 比 gzip 的壓縮率更高。
2、目錄和多級(jí)目錄的解壓和壓縮用 tar
對(duì)目錄以及多級(jí)遞歸的目錄的壓縮和解壓可以使用 tar 進(jìn)行操作。 常用的 tar 命令的選項(xiàng)有:
-c(create):表示創(chuàng)建用來(lái)生成文件包 。
-x:表示提取,從文件包中提取文件。
-t:可以查看壓縮的文件。
-z:使用gzip方式進(jìn)行處理,它與”c“結(jié)合就表示壓縮,與”x“結(jié)合就表示解壓縮。
-j:使用bzip2方式進(jìn)行處理,它與”c“結(jié)合就表示壓縮,與”x“結(jié)合就表示解壓縮。
-v(verbose):詳細(xì)報(bào)告tar處理的信息。
-f(file):表示文件,后面接著一個(gè)文件名。 -C <指定目錄> 解壓到指定目錄。
使用 tar 的進(jìn)行打包壓縮的時(shí)候,是可以選擇壓縮方式的,這個(gè)壓縮方式就是前面提到的 gzip 和 bzip2 。
可以簡(jiǎn)單的理解為:tar就是將目錄進(jìn)行打包壓縮,至于選擇什么樣的壓縮文件的方式就要自己指定,對(duì)文件的壓縮可選 gzip 和 bzip2 。
3.1、tar打包,用 gzip 壓縮/解壓
1)把目錄 file1 壓縮、打包為file1.tar.gz文件:
tar czvf file1.tar.gz file1。
注意:“tar –czvf”與“tar czvf”是一樣的。
2)查看壓縮文件:
tar tvf file1.tar.gz
3) 解壓文件,可以用 -C 指定解壓到哪個(gè)目錄:
tar xzvf file1.tar.gz //解壓到當(dāng)前所在的目錄。
tar xzvf file1.tar.gz -C "解壓路徑:xxx" //解壓到xxx。
3.2、tar打包,用 bzip2 壓縮/解壓
1)把目錄 file1 壓縮、打包為file1.tar.bz2文件:
tar cjvf file1.tar.bz2 file1。
注意:“tar –cjvf”與“tar cjvf”是一樣的。
2)查看壓縮文件:
tar tvf file1.tar.bz2
3)解壓文件,可以用 -C 指定解壓到哪個(gè)目錄:
tar xjvf file1.tar.bz2 //解壓到當(dāng)前所在的目錄。
tar xjvf file1.tar.bz2 -C "解壓路徑:xxx" //解壓到xxx。
-
Linux
+關(guān)注
關(guān)注
87文章
11208瀏覽量
208721 -
壓縮
+關(guān)注
關(guān)注
2文章
101瀏覽量
19351 -
文件
+關(guān)注
關(guān)注
1文章
561瀏覽量
24671 -
命令
+關(guān)注
關(guān)注
5文章
676瀏覽量
21965 -
解壓
+關(guān)注
關(guān)注
0文章
7瀏覽量
7860
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論