目前計算機系統中都是使用所謂的位元組單位來計量的,而事實上,計算機最小的計量單位應該是在正常情況下,我們儲存數字bit
才對,而1b = 8bit
,即每個位元組當中會有 8 個空格,每個空格可以是0
、1
。
1
為例,在 8 個bit
中,1
會佔據最右邊的乙個位,而其餘的七個為都會將會自動地被填上 0。但按理說這七個位都應該為空的才對,不過為了要滿足目前作業系統資料的讀寫,所以就會將該資料轉化為位元組的形式來記錄,而其中一種壓縮的技術其實就是 通過一些複雜的計算方式,將這些沒有使用的空間 「丟」 出來,從而使檔案變小。
還有一種壓縮技術就是將重複的資料進行統計記錄,比如說,資料中為1111111......
共有 100個1
時,那麼壓縮技術就可以記錄為 100 個1
來表示,而不是真的使用 100 個 bit 來表示。
不過,這些壓縮過的檔案並無法直接被作業系統所使用,即需要解壓才能正常使用該檔案,而壓縮後與壓縮的檔案所占用的磁碟空間大小,就可以被稱為壓縮比。
它們之間的壓縮比都是不同的,而 linux 上最常用的壓縮命令就是gzip
、bzip2
以及最新的xz
,不過簡單的壓縮命令通常只針對乙個檔案來壓縮與解壓,即如果要壓縮與解壓一堆檔案的時候,就要使用到打包程式tar
。
tar
可以將很多檔案打包成乙個檔案,實際上它沒有壓縮功能,所以如上列表的*.tar.gz
命令那樣,將這個tar
與壓縮的功能結合在一起,方便使用者使用。
gzip
可以說是應用最廣的壓縮命令了,目前gzip
可以解開 compress、zip 與 gzip 等軟體所壓縮的檔案,以下是它的語法:
壓縮:
gzip [-cdtv#] 檔名
以下是一些引數與選項:
使用gzip
進行壓縮時,在預設的狀態下原本的檔案會被壓縮為.gz
字尾的檔案,原始檔就不再存在了,同時使用gzip
壓縮的檔案在 windows 系統中,可以被 winrar 或 7 zip 這些軟體解壓縮。
與此同時,還有bzip2
與xz
這兩個用法一致但壓縮比更好的壓縮命令可以使用,不過鑑於耗時問題,所以最常用的還是gzip
zcat/zmore/zless/zgrep
這些是gzip
命令衍生出來的命令,看它們的名字可以猜出,它們可以模擬於cat/more/less/grep
命令用於檢視由文字型別的檔案壓縮而來的壓縮檔案
前面談到的壓縮命令大多只針對單一檔案進行壓縮,如gzip
,bzip2
對目錄的壓縮是值將目錄內所有檔案分別進行壓縮的操作,而不是像使用 winrar 一樣將這些資料都包成乙個檔案然後進行壓縮。
此時就需使用到tar
打包命令了。
tar
命令的語法如下:
打包壓縮:
tar [-z|-j|-j] [-cv] [-f 待建立的檔名] filename ...
檢視打包壓縮檔案內檔名:
tar [-z|-j|-j] [-tv] [-f 既有的 tar 檔名]
tar [-z|-j|-j] [-xv] [-f 既有的 tar 檔名] [-c 目錄]
tar -zxv -f 打包檔名 待解開檔名
tar 打包出來的檔案有沒有進行壓縮所得到檔案稱呼不同,如果僅是打包而已(如tar -cv -f filename
),這個檔名我們稱為tarfile
,否則稱為tarball
Linux檔案壓縮
linux檔案壓縮 1.壓縮成tar檔案 tar命令可以用來壓縮打包單檔案 多個檔案 單個目錄 多個目錄。常用格式 單個檔案壓縮打包 tar czvf my.tar file1 多個檔案壓縮打包 tar czvf my.tar file1 file2,單個目錄壓縮打包 tar czvf my.tar...
linux下檔案壓縮與解壓操作(入門)
對於剛剛接觸linux的人來說,一定會給linux下一大堆各式各樣的檔名給搞暈。別個不說,單單就壓縮檔案為例,我們知道在windows下最常見的壓縮檔案就只有兩種,一是,zip,另乙個是.rap。可是linux就不同了,它有.gz tar.gz tgz bz2 z tar等眾多的壓縮檔案名,此外wi...
Linux 入門之檔案歸檔,壓縮及遠端檔案傳輸
1.檔案歸檔,就是把多個檔案變成乙個歸檔檔案 2.tar c 建立 f 指定歸檔檔案名稱 t 顯示歸檔檔案中的內容 r 向歸檔檔案中新增檔案 get 取出單個檔案 delete 刪除單個檔案 x 取出歸檔檔案中的所有內容 c 指定解檔目錄 z gz格式壓縮 j bz2格式壓縮 j xz格式壓縮 gz...