linux基礎學習 檔案的壓縮和打包

2021-08-26 19:56:45 字數 2770 閱讀 2203

1. 檔案壓縮技術的原理

首先簡單描述一下檔案壓縮技術 的基本原理:計算機最小的計量單位是位(bit),1 byte=8 bit,假如我們要儲存乙個byte型別的變數的值是1,則其轉換成二進位制的形式是:0000 0001,前面的7個0都是「空的」,而計算機資訊儲存的最小單位是byte(資訊傳遞的最小單位是bit),得到位元組的型別才能被計算機系統識別,因此前面的7個0就是未填滿的空間。如此看來,資料之間儲存並不是連續的,壓縮技術就是採用一定的演算法把那些沒有使用到的空間(如上例中的"0")找出來,並填充,讓整個檔案占用的容量下降。壓縮過的檔案無法被計算機系統直接使用,需解壓縮處理,解壓縮就是把壓縮檔案還原回"未壓縮"的樣子。

2. linux 常用壓縮命令

下面是目前linux下一些常見的壓縮檔案的副檔名:

*.bz2 (bzip2程式壓縮的檔案)

*.gz (gzip程式壓縮的檔案)

*.tar (tar程式打包的檔案,並沒壓縮)

*.tar.gz (tar程式打包的檔案,並經過gzip壓縮)

*.tar.bz2 (tar程式打包的檔案,並經過bzip2壓縮)

gzip是gnu計畫開發出的用來開取代"compress(壓縮副檔名是*.z)"的壓縮命令,bzip2的"壓縮比"比gzip更好,tar是乙個檔案打包工具,可以將多個檔案或目錄打包成乙個檔案,但並沒有進行壓縮.

gzip和bzip2只能針對乙個檔案來進行壓縮和解壓縮,所以一般將壓縮工具跟打包工具tar結合起來使用,更方便更強大.

(1)gzip和zcat

gzip是用來壓縮和解壓縮副檔名是「*.gz」的檔案的命令,後面加上相應的引數執行相應的命令(通過gzip --help可詳細了解),zcat是用來讀取壓縮檔案內容的(可用來檢視壓縮檔案的內部結構,跟文字檔案讀取命令cat對應)。

下面列舉了一些常用的引數

-c (將壓縮的資料輸出到螢幕上,不改變原來的目錄和檔案)

-d (解壓縮引數)

-t (檢測檔案是否出錯)

-# (壓縮等級:-1 速度最快,壓縮比最差;-9 壓縮比最好,但速度最慢,預設是-6)

例子:(1.1) 將/home/alexzhou/ 下的test.txt檔案進行壓縮

從上圖可以看到,生成了test.txt.gz檔案,gzip未使用引數時,並未保留原來的test.txt檔案

解壓縮命令:gzip -d test.txt.gz 這樣就會把test.txt.gz檔案還原成test.txt檔案

(1.2) 檢視壓縮檔案test.txt.gz的內容

此時就在終端列印出了test.txt檔案的內容

(1.3) 將test.txt按最佳壓縮比壓縮,並保留test.txt檔案

從上圖可知,此時壓縮檔案test.txt.gz和原檔案test.txt同時存在

(2) bzip2和bzcat

下面列舉了一些常用的引數

-c (將壓縮過程產生的資料輸出到螢幕上)

-d (解壓縮引數)

-z (壓縮的引數)

-# (壓縮等級:跟gzip一樣,-1 速度最快,壓縮比最差;-9 壓縮比最好,但速度最慢)

bzip2會自動將副檔名設定為.bz2,可以使用bzcat讀取壓縮檔案的內容。

bzip2和bzcat的使用方式跟gzip和zcat差不多,這裡就不舉例了。解壓縮的命令為bzip2 -d *.bz2,也可以使用bunzip2代替。

(3)tar

這是乙個非常有用的建立檔案檔案和備份檔案的工具,可以把多個目錄或檔案整合成乙個檔案,跟壓縮工具一起使用非常方便。

-c (建立檔案檔案的引數命令,create的意思)

-x (從檔案檔案中釋放檔案的引數命令)

-t(列出檔案檔案的內容)

ps:在使用時,c/x/t三個引數命令不能同時存在

-z (用gzip來壓縮/解壓縮檔案)

-j (用bzip2來壓縮/解壓縮檔案)

-v (建立檔案檔案和壓縮的過程中顯示檔案資訊)

例子:(3.1)將~/test目錄下的所有檔案打包成~/test.tar(僅打包,不壓縮)

(3.2)將~/test目錄下的所有檔案打包後並以gzip壓縮

為了便於理解,一般把副檔名命名為*.tar.gz 或*.tar.bz2

(3.3)將~/test目錄下的所有檔案打包後並以bzip2壓縮

(3.4)檢視test.tar.gz和test.tar.bz2檔案內有哪些檔案

(3.5)解壓縮test.tar.gz和test.tar.bz2檔案

Linux 基礎學習 檔案與檔案系統的壓縮與打包

最近在除錯加速度感測器,adi的官方支援還不錯的。但是依然遇到了一些小問題,明天繼續解決。這一小節主要是講檔案的壓縮,壓縮命令是通過一些運算方法去將原來的檔案進行壓縮,以減少檔案所占用的磁碟空間。壓縮前和壓縮後的檔案所占用的磁碟的空間比值,就可以稱為 壓縮比 主要列出幾個常見的壓縮檔案的副檔名 gz...

linux基礎學習 檔案管理

一 linux檔案和目錄管理 一 絕對路徑和相對路徑的相關命令 1.cd 用於改變使用者當前所在目錄 1 cd 返回上一層目錄 2.mkdir 用於建立目錄 2 mkdir p 可用於建立一系列目錄 3.rmdir 用於刪除空目錄 4.rm 常用命令 1 rm r 可刪除非空目錄。會詢問是否刪除 2...

Linux學習 檔案基礎許可權

檔案基本許可權 drwxr xr x 第乙個字元表示檔案型別 d 表示是乙個目錄。表示這是乙個普通的檔案。l 表示這是乙個符號鏈結檔案,實際上它指向另乙個檔案。b c 分別表示區塊裝置和其他的外圍裝置,是特殊型別的檔案。s p 這些檔案關係到系統的資料結構和管道,通常很少見到。檔案許可權 從第二個字...