1. 程式人生 > >Linux:檔案解壓與壓縮

Linux:檔案解壓與壓縮

檔案打包與壓縮

常見壓縮檔案格式:

|檔案字尾名 |說明|
|.zip |zip程式打包壓縮的檔案|
|
.rar |rar程式壓縮的檔案|
|.7z |7zip程式壓縮的檔案|
|
.tar |tar程式打包,未壓縮的檔案|
|.gz |gzip程式(GNU zip)壓縮的檔案|
|
.xz |xz程式壓縮的檔案|
|.bz2 |bzip2程式壓縮的檔案|
|
.tar.gz |tar打包,gzip程式壓縮的檔案|
|.tar.xz |tar打包,xz程式壓縮的檔案|
|
tar.bz2 |tar打包,bzip2程式壓縮的檔案|
|*.tar.7z |tar打包,7z程式壓縮的檔案|

zip

zip -r -q -o shiyanlou.zip /home/shiyanlou

第一行命令中,-r引數表示遞迴打包包含子目錄的全部內容,-q引數表示為安靜模式,即不向螢幕輸出資訊,-o,表示輸出檔案,需在其後緊跟打包輸出檔名。

zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip

這裡添加了一個引數用於設定壓縮級別-[1-9],1表示最快壓縮但體積大,9表示體積最小但耗時最久。最後那個-x是為了排除我們上一次建立的 zip 檔案,否則又會被打包進這一次的壓縮檔案中,注意:這裡只能使用絕對路徑,否則不起作用。

使用du命令檢視檔案大小:du -h -d 0 *.zip ~ | sort

注意: 關於zip命令,因為 Windows 系統與 Linux/Unix 在文字檔案格式上的一些相容問題,比如換行符(為不可見字元),在 Windows 為 CR+LF(Carriage-Return+Line-Feed:回車加換行),而在 Linux/Unix 上為 LF(換行),所以如果在不加處理的情況下,在 Linux 上編輯的文字,在 Windows 系統上開啟可能看起來是沒有換行的。如果你想讓你在 Linux 建立的 zip 壓縮檔案在 Windows 上解壓後沒有任何問題,那麼你還需要對命令做一些修改:

zip -r -l -o shiyanlou.zip /home/shiyanlou

需要加上-l引數將LF轉換為CR+LF來達到以上目的。

unzip

解壓到當前目錄:unzip shiyanlou.zip

使用安靜模式,將檔案解壓到指定目錄:unzip -q shiyanlou.zip -d ziptest

如果你不想解壓只想檢視壓縮包的內容你可以使用-l引數:unzip -l shiyanlou.zip

使用unzip解壓檔案時我們同樣應該注意相容問題,不過這裡我們關心的不再是上面的問題,而是中文編碼的問題,通常 Windows 系統上面建立的壓縮檔案,如果有有包含中文的文件或以中文作為檔名的檔案時預設會採用 GBK 或其它編碼,而 Linux 上面預設使用的是 UTF-8 編碼,如果不加任何處理,直接解壓的話可能會出現中文亂碼的問題(有時候它會自動幫你處理),為了解決這個問題,我們可以在解壓時指定編碼型別。

使用-O(英文字母,大寫o)引數指定編碼型別:unzip -O GBK 中文壓縮檔案.zip

rar

從指定檔案或目錄建立壓縮包或新增檔案到壓縮包:rar a shiyanlou.rar .

上面的命令使用a引數新增一個目錄~到一個歸檔檔案中,如果該檔案不存在就會自動建立。

注意:rar 的命令引數沒有-,如果加上會報錯。

從指定壓縮包檔案中刪除某個檔案:rar d shiyanlou.rar .zshrc

檢視不解壓檔案:rar l shiyanlou.rar

全路徑解壓:unrar x shiyanlou.rar

去掉路徑解壓:unrar e shiyanlou.rar tmp/

tar

在 Linux 上面更常用的是tar工具,tar 原本只是一個打包工具,只是同時還是實現了對 7z,gzip,xz,bzip2 等工具的支援,這些壓縮工具本身只能實現對檔案或目錄(單獨壓縮目錄中的檔案)的壓縮,沒有實現對檔案的打包壓縮,所以我們也無需再單獨去學習其他幾個工具,tar 的解壓和壓縮都是同一個命令,只需引數不同,使用比較方便。

建立一個 tar 包:tar -cf shiyanlou.tar ~

上面命令中,-c表示建立一個 tar 包檔案,-f用於指定建立的檔名,注意檔名必須緊跟在-f引數之後,比如不能寫成tar -fc shiyanlou.tar,可以寫成tar -f shiyanlou.tar -c ~。你還可以加上-v引數以可視的的方式輸出打包的檔案。上面會自動去掉表示絕對路徑的/,你也可以使用-P保留絕對路徑符。

解包一個檔案(-x引數)到指定路徑的已存在目錄(-C引數):tar -xf shiyanlou.tar -C tardir

只檢視不解包檔案-t引數:tar -tf shiyanlou.tar

保留檔案屬性和跟隨連結(符號連結或軟連結),有時候我們使用tar備份檔案當你在其他主機還原時希望保留檔案的屬性(-p引數)和備份連結指向的原始檔而不是連結本身(-h引數):tar -cphf etc.tar /etc

對於建立不同的壓縮格式的檔案,對於tar來說是相當簡單的,需要的只是換一個引數,這裡我們就以使用gzip工具建立*.tar.gz檔案為例來說明。

tar -czf shiyanlou.tar.gz ~

tar -xzf shiyanlou.tar.gz

|壓縮檔案格式 |引數|
|.tar.gz |-z|
|
.tar.xz |-J|
|*tar.bz2 |-j|

相關推薦

Linux檔案壓縮

檔案打包與壓縮 常見壓縮檔案格式: |檔案字尾名 |說明| |.zip |zip程式打包壓縮的檔案| |.rar |rar程式壓縮的檔案| |.7z |7zip程式壓縮的檔案| |.tar |tar程式打包,未壓縮的檔案| |.gz |gzip程式(GNU zip)壓縮的檔案| |.xz |xz程式壓縮的檔案

Linux學習之壓縮

一、linux中常用的壓縮格式 .zip .gz .bz2 .tar.gz .tar.bz2 二、.zip 壓縮格式 zip 壓縮名 原始檔名 :壓縮檔案 zip -r 壓縮名 源目錄 : 壓縮目錄 例如:zip abc.zip abc 解壓: unzip 壓縮名 三、

C++ zip檔案壓縮

2、在專案中新增相關檔案 在Debug中新增zlib1.dll檔案,其他檔案載入到專案中 3、實現的程式碼 #pragma comment(lib,"zlib1") //壓縮檔案 int Compress(char * DestName, const char *SrcN

壓縮ramdisk.img檔案,生成uramdisk.img檔案

1. 在myandroid/out/target/product/imx51_bbg目錄下可以找到要解壓的ramdisk.img檔案。       通過file命令可以檢視ramdisk.img檔案的型別:       [email protected]

linux文件打包壓縮

get 註意 RR 常用 bashrc .gz div 處理 文本文 學習內容來源: 實驗樓鏈接: https://www.shiyanlou.com/ 學習內容介紹:Linux 上常用的壓縮/解壓工具,介紹了zip、rar、tar的使用。 文件打包和壓縮Linux 上的壓

Hadoop--使用JavaAPI對檔案壓縮

GitHub:https://github.com/GYT0313/Hadoop-JavaAPI-Code/tree/master/chapter5/src/org/gyt/hadoopCompression 前言 本次示例做了如下工作: 將 bzip2 格式解

基於linux檔案的歸檔壓縮

檔案的歸檔 tar命令(下列中包含執行結果) # tar cf dir.tar /root/Desktop tar: Removing leading'/' f rom member names tar: / root /Desktop/dir.tar: file i

Mac: Command: 壓縮

#rar 稍微麻煩一些,需要brew install一下 unrar e extracting-file 壓縮還沒找到 #zip zip -r archive_name.zip direct

Linux 伺服器下壓縮命令

1.壓縮命令:    命令格式:tar  -zcvf   壓縮檔名.tar.gz   被壓縮檔名       2.解壓縮命令:   命令格式:tar  -zxvf &nb

linux zip檔案命令詳

文章轉自:http://www.cnblogs.com/wangkongming/p/4305962.html 1、把/home目錄下面的mydata目錄壓縮為mydata.zip zip -r mydata.zip mydata #壓縮mydata目錄

libjpeg-turbo壓縮JPEG影象原理

1  解壓縮操作過程 1.        為JPEG物件分配空間並初始化 2.        指定解壓縮資料來源 3.        獲取檔案資訊 4.        為解壓縮設定引數,包括影象大小,顏色空間 5.        開始解壓縮 6.        取出

zip檔案壓縮

<span style="font-size:18px;">/** * lsz */ public final class ZipUtil { /** * 解壓zip檔案 * @param unZipfile * @param destFil

指令篇文件文件系統的壓縮打包(歸檔)___gzip、zcat;bzip2、bzcat;zip; tar

roo 壓縮命令 過時 bsp 演示 組合 localhost 打包 mov 一、文件與文件系統的壓縮:   1、單文件的四種壓縮命令:     ①、Compress  (過時了,不做過多說明)     ②、gzip,zcat   (gzip:壓縮。zcat:查看)    

linux下.tar.gz和.gz檔案,zip壓縮和unzip壓縮命令詳

.tar.gz和.gz檔案是兩種不同的檔案,需要區別對待,解壓命令當然也不同咯,下面來分享一下他們各自的解壓方法。1. .tar.gz檔案,這種檔案是tar檔案的壓縮檔案,可以使用tar命令進行解壓。例如:解壓:tar zxvf pythontab.tar.gztar -xj

Linux學習(五)檔案壓縮

文章目錄 檔案解壓縮 `tar` 歸檔 打包 `gzip` 壓縮檔案 `bzip2` 壓縮檔案(用法同gzip) `zip` 壓縮檔案 壓縮率 zip 檔案解壓縮

Linux 檔案壓縮 —— gzip命令

一、gzip 命令的用途 gzip 是在 Linux 系統中經常使用的一個對檔案進行壓縮和解壓縮的命令 減少檔案大小有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間

linux下zip檔案、7z檔案壓縮

linux下zip檔案的解壓命令:unzip;壓縮命令:zip。具體參考文章1。 linux下7z檔案的解壓命令:7za x;壓縮命令:7za a。具體參考文章2. 注意: 1、linux預設情況下沒有安裝7z檔案的解壓縮命令,需要安裝。 2、線上安裝命令為:sudo ap

C++zip壓縮檔案

前言 最近做專案需要用到網路下載壓縮檔案並解壓至指定資料夾,本意是使用zlib庫,但是花費許久時間仍沒有編譯通過官網的檔案,於是放棄,轉而尋求其他方法,在之前的部落格中有說道用system呼叫shell命令的方式使用winrar解壓,但是這種方法有一個弊端就是要求客戶端必須安裝winrar,

linux 檔案

解壓 tar -xvf file.tar //解壓 tar包 tar -xzvf file.tar.gz //解壓tar.gz tar -xjvf file.tar.bz2   //解壓 tar.bz2 tar -xZvf file.tar.Z   //解壓ta

Linux檔案壓縮、軟體安裝

1、linux常用解壓縮命令:.zip格式  解壓:unzip  檔名.zip   壓縮:zip  檔名.zip  目錄名 .tar格式  壓縮:tar  cvf  檔名.tar  檔名