新聞中心
Linux是一種開源操作系統(tǒng),常常被用來處理大量數(shù)據(jù)。在處理大量數(shù)據(jù)的過程中,文件壓縮是不可或缺的。本文將介紹如何在Linux中快速壓縮10G文件。

10多年的延壽網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整延壽建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“延壽網(wǎng)站設(shè)計(jì)”,“延壽網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
步驟一:安裝壓縮工具
Linux有很多壓縮工具,比如gzip、bzip2、zip等等。我們可以通過以下命令來安裝gzip和bzip2:
sudo apt-get install gzip bzip2
步驟二:選擇壓縮格式
gzip和bzip2是兩種非常常用的壓縮格式,它們的壓縮速度和壓縮比都比較不錯(cuò)。我們可以根據(jù)實(shí)際需要來選擇壓縮格式。
如果希望壓縮速度更快,那么我們可以選擇gzip格式。gzip格式的壓縮速度比較快,但是壓縮比比較低,所以生成的壓縮文件相對來說會更大一些。
如果希望壓縮比更高,那么我們可以選擇bzip2格式。bzip2格式的壓縮比相對來說更高,但是壓縮速度比較慢,所以生成的壓縮文件相對來說會更小一些。
步驟三:壓縮文件
通過以下命令來壓縮文件:
gzip testfile
或者
bzip2 testfile
testfile是要壓縮的文件名。
如果我們希望生成的壓縮文件名和原文件名不同,可以在命令中加上參數(shù) -c:
gzip -c testfile > testfile.gz
或者
bzip2 -c testfile > testfile.bz2
這樣就可以將壓縮后的文件保存為testfile.gz或testfile.bz2。
步驟四:解壓文件
通過以下命令來解壓文件:
gzip -d testfile.gz
或者
bzip2 -d testfile.bz2
解壓后的文件名為testfile。
注意:如果我們在壓縮文件時(shí)使用了參數(shù) -c,那么解壓文件時(shí)也需要使用參數(shù) -c:
gzip -dc testfile.gz > testfile
或者
bzip2 -dc testfile.bz2 > testfile
這樣就可以將解壓后的文件保存為testfile。
在Linux中壓縮和解壓文件非常方便,只需要選擇合適的壓縮格式,然后通過命令行輸入相應(yīng)的命令即可。對于非常大的文件,我們可以考慮使用分卷壓縮的方法,將大文件壓縮成多個(gè)小文件,然后再將這些小文件合并成一個(gè)大文件。
相關(guān)問題拓展閱讀:
- Linux:文件解壓、復(fù)制和移動(dòng)的若干坑
Linux:文件解壓、復(fù)制和移動(dòng)的若干坑
Linux下進(jìn)行文件的解壓、復(fù)制、移動(dòng)應(yīng)該是最常見的操作了。尤其是我們在項(xiàng)目中使用大量的數(shù)據(jù)集文件(比如機(jī)器學(xué)習(xí))文件。然而使用這些命令時(shí)一不留神就會掉進(jìn)坑里,這篇文章我們就來細(xì)數(shù)用Shell進(jìn)行文件操作的這些坑。
Linux下壓縮文件的常見擴(kuò)展名包括 .gz , .tar , .tar.gz , .zip 等。這些壓縮格式都能夠跨平臺(Windows/Mac/Linux)使用。下面我們以 .zip 文件為例子來講解。我們已知一個(gè)文本文件壓縮包 test.zip ,想把它解壓,很簡單,運(yùn)行 unzip 命令即可:
如果我們想要將 test.txt 重新壓縮呢?你可能情不自禁會執(zhí)行 zip test.txt ,然后我們發(fā)現(xiàn)提示:
其實(shí)是傳參數(shù)傳錯(cuò)了,導(dǎo)致 zip 誤把 test.txt 當(dāng)成壓縮后的文件名了,這當(dāng)然不是合法的。我們看 zip 的參數(shù)構(gòu)成:
是壓縮后的 .zip 文件的路徑, zipfile list 是待壓縮的文件列表。于是,我們這樣寫即可成功壓縮:
當(dāng)然, zip 也支持將多個(gè)文件壓縮:
此時(shí)我們發(fā)現(xiàn)再解壓 test3.zip 會發(fā)現(xiàn)重新得到了兩個(gè)原始文件:
zip 也支持對目錄壓縮困帶,如我們嘗試壓縮 test 目錄:
此時(shí)再解壓 test4.zip 則會重新生成 test 目錄:
不過, zip 是將輸入的文件列表
分別
進(jìn)汪芹蘆行壓縮的操作,即是對目錄來進(jìn)行壓縮也是對目錄內(nèi)的所有文件one-by-one的操作。那我們需要將很多文件先打包成一個(gè)文件,然后再壓縮呢?此時(shí)就要用到 tar 了。
很多人誤解 tar 是個(gè)壓縮命令,其實(shí)壓縮命令是 gzip 、 xz 以及我們上文提到的 zip 這些。 tar 是個(gè)打包命令,只不過附帶壓縮與解壓的功能。 tar 的選項(xiàng)多如牛毛,為了減輕大家的記憶負(fù)擔(dān),我們只介紹下面兩個(gè)選項(xiàng):
-c : 建立打包文件(可搭配 -v 將過程中打包的文件可視化);
-x :解包或解壓縮的功能(可搭配 -C 在特定目錄解壓);
(其實(shí)還有表示通過gzip進(jìn)行壓縮/解壓縮的 -z ,通過bzip2的支持進(jìn)行壓縮/解壓縮的 -j ,通過xz的支持進(jìn)行壓縮解壓縮的 -J 等,但我們這里統(tǒng)一用 .zip 示范,就省去這些參數(shù)了)
那么,我們只需要記住下面的命令即可:
壓縮: tar -cv -f filename.zip 要被壓縮的文件或目錄名稱
解壓縮: tar -xv -f filename.zip -C 欲解壓的目錄(這個(gè)目錄必須已經(jīng)存在)
注意,壓縮傳參順序是壓縮后的.zip文件在前,壓縮前的文件在后
,別搞錯(cuò)了。(讓人聯(lián)想到gcc編譯器,不過 gcc 傳參時(shí)規(guī)定是 -o output_file.out 的形式來指定輸出的可執(zhí)行文件,就回避了這個(gè)順序問題)
比如,我們要將 test 文件夾(該文件夾下有首納一個(gè) test.txt 文件)壓縮,可以運(yùn)行如下命令:
然后將其解壓到當(dāng)前目錄,可運(yùn)行如下命令:
多個(gè)文件壓縮:
然后將其解壓到當(dāng)前目錄:
由上面所說,
zip / unzip 和 tar 都是壓縮什么解壓出來就是什么,原來是目錄就是目錄,原來沒目錄不會幫你自動(dòng)生成一個(gè)目錄
,但Linux或Mac系統(tǒng)的可視化壓縮工具就不一樣了(在Mac中被稱為「歸檔實(shí)用工具」)。Mac中對目錄壓縮時(shí)壓縮命令和 tar 命令是等效的,比如我們想用Mac自帶的壓縮工具壓縮 test 文件夾:
會生成對應(yīng)的歸檔文件:
再解壓會得到同樣的文件夾(會自動(dòng)幫我們重命名),不會幫我們生成多余的目錄:
這個(gè)文件夾內(nèi)部才是我們需要的文件:
它會自動(dòng)幫我們生成一個(gè)名為 歸檔.zip 的文件:
這個(gè)文件夾內(nèi)部才是我們需要的文件:
這個(gè)文件夾內(nèi)部才是我們需要的文件:
這在對大量文件操作時(shí)需要額外注意,否則會白白開銷你一次拷貝文件的時(shí)間!
我們緊接著上面的情景。假設(shè)我們當(dāng)前的目錄為項(xiàng)目目錄,而我們手滑使用了系統(tǒng)自帶的可視化解壓工具生成了一個(gè)多余的目錄。我們接下來要把系統(tǒng)生成的多余的 歸檔 文件夾里的文件拷貝到當(dāng)前目錄,那么我們可以使用帶 r 參數(shù)的 cp 命令:
這里 -r 參數(shù)表示遞歸復(fù)制命令,用于目錄的遞歸復(fù)制。注意命令中的 歸檔/ 表示 歸檔 目錄下的所有文件,意思和 歸檔/* 相同:
選項(xiàng)參數(shù) -r 寫成 -R 是等效的:
但如果直接傳入?yún)?shù) 歸檔 ,則表示將這個(gè)目錄整個(gè)地復(fù)制:
同一個(gè)目錄下不可能有兩個(gè)相同名稱的子目錄,這當(dāng)然就會出錯(cuò),當(dāng)然我們可以將其復(fù)制到另外一個(gè)目錄里:
你可能要問,加 r 和不加 r 有啥區(qū)別?如果不加 r ,則默認(rèn)是跳過目錄的,也就是說只能copy文件:
我們還是緊接著上面的場景。假定我們已經(jīng)將 歸檔 文件夾中的 test.txt 、 test2.txt 成功拷貝到當(dāng)前項(xiàng)目目錄了。現(xiàn)在我們有了個(gè)新的需求:我們在項(xiàng)目目錄中建了一個(gè) data 子目錄,現(xiàn)在需要將項(xiàng)目目錄中的 test.txt 、 test2.txt 移動(dòng)到 data 子目錄中。這就需要如下命令:
注意,如果有多個(gè)源文件或目錄,則最后一個(gè)目標(biāo)文件(也就是這里的data)一定是目錄
。當(dāng)我們只移動(dòng)一個(gè)文件時(shí),就有潛在的二義性。這里因?yàn)?data 目錄本身存在,我們移動(dòng) test.txt 到 data 目錄還能正常執(zhí)行:
但是如果data目錄不存在,就會將 mv 解釋為重命名的意思,比如如果我們將 data 目錄刪除再執(zhí)行:
此時(shí)就等效于把 test.txt 更名為 data 文件:
可以看出,之一個(gè)字母是 – ,也就意味著 data 是普通文件,不是目錄(是目錄的話之一個(gè)字母是 d )。
因此,使用 mv 語句時(shí)要格外小心,因?yàn)樗扔幸苿?dòng)到目錄的作用,也有重命名的作用,一不注意就可能出錯(cuò)!
有移動(dòng)到目錄的作用,也有重命名的作用,一不注意就可能出錯(cuò)!
linux 壓縮10g文件的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 壓縮10g文件,如何在Linux中快速壓縮10G文件?,Linux:文件解壓、復(fù)制和移動(dòng)的若干坑的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁題目:如何在Linux中快速壓縮10G文件?(linux壓縮10g文件)
分享路徑:http://m.fisionsoft.com.cn/article/cocjoii.html


咨詢
建站咨詢
