08 Linux 壓縮解壓

2022-05-18 18:11:08 字數 3786 閱讀 3634

將多個檔案或目錄合併成為乙個特殊的檔案。比如: 搬家…腦補畫面 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方式進行壓縮檔案

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

[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命令

# 預設情況下沒有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

test of 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下最常用的壓縮與解壓縮, 支援檔案和目錄的壓縮歸檔

#語法: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.將檔案或目錄進行打包壓縮

#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.排除檔案, 並打包壓縮

#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.檢視壓縮檔案

#檢視壓縮包內容和解壓

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

4.解壓縮檔案

#1.解壓至當前目錄

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

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

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

Linux 系列筆記 08 Linux的目錄結構

我們都知道,windows下我們的磁碟會有很多分割槽,比如c d e盤 而在linux中,只有乙個根目錄 它是最頂層的,在根目錄下才會有很多其他分割槽。linux是層級式的樹形目錄結構,如下圖所示 在linux中,我們深刻理解它的目錄結構是非常必要且重要的的。要記住 linux世界裡,萬物皆檔案 下...

linux壓縮解壓

檔案壓縮解壓 gzip 作用 壓縮檔案,只能是單個檔案,不能是多個,也不能是目錄 格式 gzip file 說明 執行命令會生成file.gz,刪除原來的file 選項 d 等價於gunzip gunzip 作用 解壓使用gzip壓縮生成的檔案 格式 gunzip file.gz 說明 解壓file...

Linux 壓縮 解壓

tar 解包 tar xvf filename.tar tar 打包 tar cvf filename.tar dirname gz 解壓1 gunzip filename.gz gz 解壓2 gzip d filename.gz gz 壓縮 gzip filename tar.gz 和 tgz 解...