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