壓縮技術一般分為兩種:有失真壓縮和無失真壓縮。在linux中一般不允許有資料丟死,所以都是無失真壓縮。
linux中壓縮技術一般可以分為兩種:
gzip
gzip是先於bzip2出現的壓縮技術,一般的使用方法如下:
gzip file
file是需要壓縮的檔案,生成的壓縮檔案一般會替換原始的檔案,壓縮檔案和原始的檔案具有相同的時間屬性和許可權。
如果想要保留原始的檔案,那麼可以使用c選項和重定向實現。
gzip -cv file > file.gz
c是將輸出定位到標準輸出,v是顯示壓縮過程中的詳細資訊。
gzip對應的解壓縮命令:(目前 gzip 可以解開 compress, zip 與 gzip 等軟體所壓縮的檔案)
gzip -d file.gz (或者使用gunzip命令)
可以使用zcat(參考cat)來直接檢視純文字壓縮檔案的內容。
bzip2
bzip2是對gzip技術的一種改進,一般具有較好的壓縮比,但是速度比較慢。bzip2的使用方式和gzip類似。
不同點:
bunzip2對應的解壓縮命令是bunzip2(一般使用bzip2 -d來進行解壓縮)
使用bzcat可以檢視.bz2檔案的內容。
缺點:這些壓縮命令通常僅能針對乙個檔案來壓縮與解壓縮,雖然 gzip 與 bzip2 也能夠針對目錄來進行壓縮,不過,這兩個命令對目錄的壓縮指的是將目錄內的所有檔案 "分別" 進行壓縮!因此,打包檔案顯得很有必要。
tar
打包就是把許多檔案**成乙個大檔案的過程,打包檔案使用tar命令。tar命令的一般使用方法如下:
打包檔案:tar -cv -f filename.tar filename1 filename2
(c選項表示建立打包檔案,f指定打包之後生成的檔名,v顯示打包的檔案資訊)
解包檔案:tar -xv -f filename.tar (x表示解包打包的檔案,f指定打包檔名)
檢視打包檔案包含的檔案 :tar -t -f filename.tar (-t顯示打包檔案中的檔名)
tar具有以下兩個特點:
從打包檔案恢復的檔案的許可權是執行恢復操作的使用者的許可權,除非你是root使用者,此時許可權是原始使用者的許可權。
tar 命令特點是它處理歸檔檔案路徑名的方式。預設情況下,路徑名是相對
的,而不是絕對路徑。當建立歸檔檔案的時候,tar 命令會簡單地刪除路徑名開頭的斜槓。
從上圖中可以看出,在打包檔案的時候使用絕對路徑時,~/playground會被展開為/home/peter/playground,所以最後會將home目錄下的檔案打包,並且會刪除home路徑前面的跟路徑(看圖中的第二行)。而且在解包的時候會
以當前路徑為父路徑
解包。 tar命令不僅具有打包功能,現在還能結合壓縮技術一起使用,選項-j使用gzip壓縮,-z使用bzip2壓縮。
tar 命令經常結合 find 命令一起來製作備份檔案。
通過 find 命令匹配指定的檔名或者新於某個時間戳的檔案,我們就能夠建立乙個歸檔檔案,例如:
find playground -name 'file-a' -exec tar rf playground.tar '{}' '+' //
r是追加選項
*.z compress 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
*.tar.bz2 tar 程式打包的檔案,其中並且經過 bzip2 的壓縮
另外,tar 打包出來的檔案有沒有進行壓縮所得到檔案稱呼不同。
Linux檔案打包和壓縮
備份tar存檔通常應提取到空目錄中,以確保不會覆蓋任何檔案。當root提取存檔時,tar命令會保留檔案的原始使用者和組所有權,如果是普通使用者,檔案的所有權屬於從存檔中提取檔案的使用者 c 建立 v 顯示過程 f指定歸檔檔案名稱 x解檔 t檢視歸檔檔案內容 f新增檔案到歸檔中 get解檔指定檔案 d...
linux 打包和壓縮用法
打包和壓縮用法 tar命令的使用方法如下 tar cxtzjvfppn 檔案與目錄 引數說明 c 建立乙個打包檔案 x 解開乙個打包檔案 t 檢視 tar包裡面的檔案 z 打包後用gzip壓縮,生成.tar.gz檔案 j 打包後用zip2壓縮,生成.tar.bz2檔案 v 壓縮的過程中顯示檔案 f ...
linux 打包 壓縮
壓縮好處 1.節省空間 2.節省頻寬 解決脈絡 現在有各種壓縮檔案形式,原因何在?主要是壓縮技術更新換代,壓縮方法不完全相同。不同的字尾,便於區分。最早期的壓縮命令式compress,不過現在已經不怎麼用了。後來開發出新一代的壓縮命令gzip gnu zip 和壓縮比更好的bzip2壓縮命令。注意 ...