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