1. 程式人生 > >Linux20180419四周第五次課(4月17日)

Linux20180419四周第五次課(4月17日)

zip壓縮目錄 tar tar打包並壓縮

四周第五次課(4月17日)

6.5 zip壓縮工具
6.6 tar打包
6.7 打包並壓縮
看下這個帖子: http://ask.apelearn.com/question/5435



zip壓縮工具支持壓縮目錄


一般rar文件放linux下也無法進行解壓縮

用法不太一樣

zip 壓縮後的名字 被壓縮的文件

技術分享圖片


zip壓縮目錄

技術分享圖片

zip 壓縮後的目錄文件名稱 要壓縮的目錄

而且zip壓縮後不刪除原來的文件

技術分享圖片

技術分享圖片

技術分享圖片


可以采用 -d 選項來指定解壓後的路徑

unzip 待解壓文件 -d 解壓後路徑

技術分享圖片


zip的壓縮包無法直接查看內容


zip無法指定解壓後的名字,依然是壓縮前的名字。


可以查看壓縮包裏的文件的列表

unzip -l

技術分享圖片




tar打包工具

技術分享圖片


假設一種情況:

需要傳輸幾個目錄但是目錄裏有多達10000個文件,因為傳輸的過程中是一個一個傳輸的,所以需要的時間是相疊加。

打包的話就是將所有的文件打包成一個大的文件,來傳輸這個大文件。

而且還有一種情況就是如果都是小文件小於4k的居多,一個文件4k,10000個就是 40000k 40M

而打包的話,會把不到4k的文件進行相加,所以平均下來每個文件大小也會縮小,總打包後的數據會小於40M


tar -cvf 打包後的文件名 待打包的文件/目錄

c表示create

v表示visual

f表示後面跟文件名

所以f是必須的,因為要跟打包後的文件名,v可是滅有

技術分享圖片


技術分享圖片

技術分享圖片

所以大小是幾乎不發生變化的,出發很多小於4k的文件

技術分享圖片

被打包的可以是目錄,文件,或者是目錄和文件的組合


解包是用 -xvf

如果是希望解包到具體的路徑 需用有 -C 選項

tar xvf 包 -C 解包路徑

技術分享圖片


tar -tf 包就可查看包裏的列表

技術分享圖片


如果遇到情況就是一個目錄下並非所有的文件你都想打包的話,如何?

可以使用--exclude 不包括誰,來排除掉


tar -cvf 包.tar --exclude 某某文件 然後再跟打包目錄或文件

技術分享圖片

技術分享圖片

如果不止一個文件需要過濾,需要每個前面都要寫上 --exclude. 支持通配符,比如 --exclude "*.txt"



tar打包並壓縮

技術分享圖片

記住選項裏寫的哪種壓縮方式,對應的文件名要添加哪一種的壓縮格式的後綴

z -------gz

j--------bz2

J-------xz

因為zip註意是可以壓縮目錄,所以這裏用不上。因為這樣理解,整個過程是先打包,再壓縮,所以不管什麽壓縮方式,壓縮的時候都針對的是這個包了。



tar -tf 就可以直接查看文件列表。不管是壓縮後的還是一個包都是用的-tf

Linux20180419四周第五次課(4月17日)