Zip是使用最廣泛的存檔文件格式,它支持無(wú)損數(shù)據(jù)壓縮。Zip文件是包含一個(gè)或多個(gè)文件或目錄的數(shù)據(jù)壓縮容器。
已壓縮文件占用較少的磁盤空間可以比未壓縮文件更快地從一臺(tái)機(jī)器傳輸?shù)搅硪慌_(tái)機(jī)器。
zip文件適用于所有操作系統(tǒng),可以在Windows,macOS和Linux中解壓縮Zip文件。在本教程中,我們將向您展示如何在Linux使用zip命令創(chuàng)建拆分/分割zip文件。
安裝 zip
要檢查您的系統(tǒng)上是否安裝zip,請(qǐng)運(yùn)行命令zip --version
,命令將會(huì)打印zip的版本號(hào)。
如果您的系統(tǒng)上未安裝unzip,終端將會(huì)提示你bash: command not found: zip。可以使用發(fā)行版的軟件包管理器進(jìn)行安裝。
如果你的計(jì)算機(jī)運(yùn)行的是基于Debian的Linux發(fā)行版,例如Ubuntu,Linux mint,可以運(yùn)行sudo apt update && sudo apt install zip
安裝zip。
如果你的計(jì)算機(jī)運(yùn)行的是基于Redhat的Linux發(fā)行版,例如Fedora,CentOS??梢赃\(yùn)行sudo yum install zip
安裝zip。
sudo apt install zip
sudo yum install zip
zip 命令選項(xiàng)
zip命令語(yǔ)法形式是zip OPTIONS ARCHIVE_NAME FILES
。ARCHIVE_NAME
是存檔的名稱,FILES
可以是一個(gè)或者多個(gè)文件與目錄。
要在指定的目錄中創(chuàng)建Zip文件,用戶需要對(duì)該目錄具有寫入權(quán)限,對(duì)要壓縮的文件具讀取權(quán)限。
ZIP文件不支持Linux權(quán)限信息,zip文件解壓縮后的文件并不保留原始權(quán)限的信息,解壓縮的文件歸運(yùn)行unzip命令的用戶所有。
如果你需要保留文件權(quán)限信息,使用tar
命令創(chuàng)建存檔文件。
zip 命令壓縮文件和目錄
要使用zip命令壓縮一個(gè)或多個(gè)文件,請(qǐng)?jiān)趜ip命令指定存檔文件的名稱,然后是指定要添加到zip存檔的文件。文件使用空格分隔。
如果指定的名稱省略擴(kuò)展名.zip
,zip命令將會(huì)自動(dòng)添加擴(kuò)展名到存檔名稱。例如命令zip archivename filename
將創(chuàng)建一個(gè)與之相同名稱的存檔archivename.zip
。
通常,你都是壓縮目錄及其子目錄的所有文件,但zip命令并不會(huì)遞歸壓縮所有文件與目錄,如果需要遞歸壓縮文件與目錄,請(qǐng)使用unzip命令的-r
選項(xiàng)。
默認(rèn)情況下,zip
命令打印添加到存檔的文件名稱和壓縮方法。要禁止zip
命令打印這些信息,可以使用zip命令的-q
選項(xiàng)。
zip archivename.zip filename1 filename2 filename3
zip -q archivename.zip filename1 filename2 filename3
zip -r archivename.zip directory_name
adding: filename1 (deflated 63%)
adding: filename2 (stored 0%)
adding: filename3 (deflated 38%)
zip 命令壓縮方法和級(jí)別
Zip的默認(rèn)壓縮方法是 deflate 。如果zip命令確定無(wú)法壓縮文件,zip命令則使用store方法將文件添加到zip存檔文件,并且不對(duì)文件進(jìn)行壓縮。
在大多數(shù)Linux發(fā)行版中,zip命令還支持bzip2壓縮方法。要指定壓縮方法,請(qǐng)使用zip命令的-Z
選項(xiàng)。
zip
命令允許您使用前綴-
和0到9的數(shù)字指定壓縮級(jí)別。默認(rèn)壓縮級(jí)別為-6
。在指定的壓縮級(jí)別為-0
,所有文件都不會(huì)被壓縮,而僅僅是添加到存檔文件。
當(dāng)壓縮級(jí)別指定為-9
時(shí),將強(qiáng)制zip
命令對(duì)所有文件使用最佳壓縮。壓縮級(jí)別越高,zip進(jìn)程占用的CPU越多,并且需要更多時(shí)間才能完成。
zip -r -Z bzip2 archivename.zip directory_name
zip -9 -r archivename.zip directory_name
...
adding: sub_dir/ (stored 0%)
adding: sub_dir/file1 (bzipped 52%)
adding: sub_dir/file2 (bzipped 79%)
創(chuàng)建多個(gè)拆分zip文件
想象一下,您希望將Zip存檔存儲(chǔ)在文件托管服務(wù)上,文件上傳大小限制為1GB,但你的Zip文件為5GB。
此時(shí),您可以使用-s
選項(xiàng)后跟指定的文件大小創(chuàng)建多個(gè)Zip文件。單位可以是k
千字節(jié),m
兆字節(jié),g
千兆字節(jié)或t
萬(wàn)兆字節(jié)。
例如命令zip -s 1g -r archivename.zip directory_name
將會(huì)在zip文件達(dá)到1GB后,創(chuàng)建新的zip文件繼續(xù)壓縮。
zip -s 1g -r archivename.zip directory_name
archivename.zip
archivename.z01
archivename.z02
archivename.z03
archivename.z04
結(jié)論
在Linux,您可以使用zip
命令創(chuàng)建Zip存檔。要在Linux解壓縮ZIP存檔,可以使用unzip命令。
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208713 -
Zip
+關(guān)注
關(guān)注
0文章
17瀏覽量
8623 -
文件
+關(guān)注
關(guān)注
1文章
561瀏覽量
24671 -
命令
+關(guān)注
關(guān)注
5文章
676瀏覽量
21965
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論