Linux壓縮打包

2022-06-16 03:36:11 字數 4567 閱讀 6079

將多個檔案或目錄合併成為乙個特殊的檔案。比如: 搬家…腦補畫面 img.

當我們在傳輸大量的檔案時,通常都會選擇將該檔案進行壓縮,然後在進行傳輸。

首先:壓縮後的檔案會比壓縮前的檔案小。乙個28g的資料夾壓縮後能達到6g

其次:多個檔案傳輸很慢,但單個檔案傳輸會很快,同時還能節省網路的消耗。

(比如: 搬家時,單行李往外拿和打包後往外拿??你懂我意思?)

在windows系統下,我們接觸最多的壓縮格式是 rar 或 zip ,但在linux上使用最多的壓縮格式是 zip 和 tar.gz 。當然不用擔心,linux上的壓縮格式放在windows系統下都是可以正常開啟的。

ps: linux不支援 windows下的 rar 格式的壓縮檔案。windows和linux互通通常選擇 zip

格式壓縮工具

.zip

zip壓縮工具

.gzgzip壓縮工具,只能壓縮檔案,會刪除原檔案(通常配合tar使用)

.bz2

bzip2壓縮工具,只能壓縮檔案,會刪除原檔案(通常配合tar使用)

.tar.gz

先使用tar命令歸檔打包,然後使用gzip壓縮

.tar.bz2

先使用tar命令歸檔打包,然後使用bzip壓縮

使用gzip方式進行壓縮檔案

123

4567

891011

# 僅對檔案有效,對資料夾無效,壓縮有檔案刪除,解壓後壓縮包刪除

[root@lqz ~]# yum install gzip -y

[root@lqz ~]# gzip file #對檔案進行壓縮

[root@lqz ~]# zcat file.gz #檢視gz壓縮後的檔案

[root@lqz ~]# gzip -d file.gz #解壓gzip的壓縮包

#使用場景:當需要讓某個檔案不生效時,快速關閉和啟用配置檔案

[root@lqz ~]# cd /etc/yum.repos.d/

[root@lqz ~]# gzip *

[root@lqz ~]# gzip centos-vault.repo --> centos-vault.repo.gz

[root@lqz ~]# zcat centos-vault.repo.gz --> 檢視不想解壓的壓縮包檔案內容

使用zip命令可以對檔案進行壓縮打包,解壓則需要使用unzip命令

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

# 預設情況下沒有zip和unzip工具,需要進行安裝

[root@lqz ~]# yum install zip unzip -y

#1.壓縮檔案為zip包

# zip 壓縮表名 壓縮的檔案

[root@lqz ~]# zip filename.zip filename

# 打包不通目錄下的不通檔案

[root@lqz ~]# zip filename1.zip file1 file2 /etc/hosts

#2.壓縮目錄為zip包 (不加r,只會打包乙個資料夾)

[root@lqz ~]# zip -r dir.zip dir/

#3.檢視zip壓縮包是否是完整的

[root@lqz ~]# zip -t filename.zip

testof filename.zip ok

#4.不解壓壓縮檢視壓縮包中的內容

[root@lqz ~]# unzip -l filename.zip

[root@lqz ~]# unzip -t filename.zip

#5.解壓zip檔案包, 預設解壓至當前目錄

[root@lqz ~]# unzip filename.zip

#6.解壓zip內容至/opt目錄

[root@lqz ~]# unzip filename.zip -d /opt/

tar是linux下最常用的壓縮與解壓縮, 支援檔案和目錄的壓縮歸檔

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

#語法:tar [-zjxcvfpp] filename 

c #建立新的歸檔檔案

x #對歸檔檔案解包

t #列出歸檔檔案裡的檔案列表

v #輸出命令的歸檔或解包的過程

f #指定包檔名,多引數f寫最後

z #使用gzip壓縮歸檔後的檔案(.tar.gz)

j #使用bzip2壓縮歸檔後的檔案(.tar.bz2)

j #使用xz壓縮歸檔後的檔案(tar.xz)

c #指定解壓目錄位置

x #排除多個檔案(寫入需要排除的檔名稱)

h #打包軟鏈結

--hard-dereference #打包硬鏈結

--exclude #在打包的時候寫入需要排除檔案或目錄

#常用打包與壓縮組合

czf #打包tar.gz格式 常用

cjf #打包tar.bz格式 不怎麼用

cjf #打包tar.xz格式 不考慮

zxf #解壓tar.gz格式

jxf #解壓tar.bz格式

xf #自動選擇解壓模式

xvf #顯示解壓過程

tf #檢視壓縮包內容

1.將檔案或目錄進行打包壓縮

123

4567

891011

1213

1415

16

#1.以gzip歸檔方式打包並壓縮

tar czf test.tar.gz test/ test2/

#2.以bz2方式壓縮

tar cjf test.tar.bz2 dir.txt dir/

#3.打包鏈結檔案,打包鏈結檔案的真實檔案

[root@lqz ~]# cd /

[root@lqz /]# tar czfh local.tar.gz etc/rc.local

#4.打包/tmp下所有檔案

[root@lqz ~]# cd /

[root@lqz /]# find tmp/ -type f | xargs tar czf tmp.tar.gz

#5.打包/tmp下所有檔案

[root@lqz /]# tar czf tmp.tar.gz $(find /tmp/ -type f)

2.排除檔案, 並打包壓縮

123

4567

891011

1213

#1.排除單個檔案

[root@lqz /]# tar czf etc.tar.gz --exclude=etc/services etc/

#2.排除多個檔案

[root@lqz /]# tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.local etc/

#3.將需要排除的檔案寫入檔案中

[root@lqz /]# cat paichu.list

etc/services

etc/rc.local

etc/rc.d/rc.local

#指定需要排除的檔案列表, 最後進行打包壓縮

[root@lqz /]# tar czfx etc.tar.gz paichu.list etc/

3.檢視壓縮檔案

1

2

#檢視壓縮包內容和解壓

[root@lqz /]# tar tf test.tar.gz

4.解壓縮檔案

123

45

#1.解壓至當前目錄

[root@lqz /]# tar xf test.tar.gz

#2.將解壓內容儲存至指定的/tmp目錄

[root@student ~]# tar xf /etc/local.tar.gz -c /tmp

linux 打包 壓縮

壓縮好處 1.節省空間 2.節省頻寬 解決脈絡 現在有各種壓縮檔案形式,原因何在?主要是壓縮技術更新換代,壓縮方法不完全相同。不同的字尾,便於區分。最早期的壓縮命令式compress,不過現在已經不怎麼用了。後來開發出新一代的壓縮命令gzip gnu zip 和壓縮比更好的bzip2壓縮命令。注意 ...

linux 打包 壓縮

閱讀目錄 回到頂部 壓縮好處 1.節省空間 2.節省頻寬 解決脈絡 現在有各種壓縮檔案形式,原因何在?主要是壓縮技術更新換代,壓縮方法不完全相同。不同的字尾,便於區分。最早期的壓縮命令式compress,不過現在已經不怎麼用了。後來開發出新一代的壓縮命令gzip gnu zip 和壓縮比更好的bzi...

linux 打包 壓縮

root xiaoluo gzip cdtv 檔名 root xiaoluo zcat 檔名.gz 選項與引數 c 將壓縮的資料輸出到螢幕上,可通過過資料流重導向來處理 d 解壓縮的引數 t 可以用來檢驗乙個壓縮檔案的一致性,看看檔案有無錯誤 v 可以顯示出原檔案 壓縮檔案的壓縮比等資訊 壓縮等級 ...