Linux壓縮與解壓Day.14

一.什么是文件壓縮

將多個(gè)文件或目錄合并成為一個(gè)特殊的文件。

二.為什么要對(duì)文件進(jìn)行壓縮

1.壓縮文件會(huì)減小文件的體積

2.加快資源的傳輸

3.節(jié)省網(wǎng)絡(luò)的寬帶

三.Windows的壓縮包與Linux的壓縮包可以互通

1.Windows的壓縮包類型:rar? zip 等等的其他類型

2.Linux的壓縮包類型:zip tar.gz 等等的其他類型

PS:Linux不支持Windows下的rar格式的壓縮文件。所以Windows和Linux互通通常選擇zip格式。

四.Linux中常見壓縮包類型

.zip? ? ? ? zip壓縮工具

.gz? ? ? ? gzip壓縮工具,只能壓縮文件但是會(huì)刪除原文件(通常會(huì)配合tar使用)

.bz2? ? ? bzip2壓縮工具,只能壓縮文件但是會(huì)刪除原文件(通常會(huì)配合tar使用)? ? ?

.tar.gz? ? 先使用tar命令歸檔打包,然后使用gzip壓縮

.tar.bz2? 先使用tar命令歸檔打包,然后使用bzip壓縮

五.工具使用

1.gzip使用方法(gzip打包壓縮只對(duì)文件有效)

默認(rèn)情況下沒有g(shù)zip工具需要安裝:

yum? install? gzip? -y

gzip? 文件名? ? (打包)

例:[root@localhost ~]# gzip zy10.txt?

gzip? -d? 文件名.gz? (解包)

例:[root@localhost ~]# gzip -d zy10.txt.gz

zcat? 文件名.gz? ? ? ? ? (查看包內(nèi)文件的內(nèi)容)

例:[root@localhost ~]# zcat zy10.txt.gz

讓某個(gè)文件暫時(shí)失效和快速啟用

gzip? 文件名? ? (gzip? *? 打包當(dāng)前目錄所有文件)

gzip? -d? 文件名 (gzip -d * 解壓當(dāng)前目錄所有文件)

zcat? 文件名? (查看不想解壓的壓縮包)

2.zip? unzip 使用方法

默認(rèn)情況下沒有zip和unzip工具需要安裝:

yum? install? zip unzip? -y

zip? 壓縮包名.zip? 文件名? (壓縮文件為壓縮包)

例:[root@localhost ~]# zip zhangyao.zip zy10.txt

unzip? -l? 壓縮包名.zip? (查看包內(nèi)文件)

例:[root@localhost ~]# unzip -l zhangyao.zip

? (unzip -t zhangyao.zip 檢測(cè)文件是否都OK)

zip? -r? 壓縮包名.zip? 目錄名? (壓縮目錄)

例:[root@localhost ~]# zip -r tmp.zip /tmp/

zip? -T? 壓縮包名.zip? ? (查看壓縮包是否完整)

unzip? 壓縮包名.zip? ? (解壓壓縮包到當(dāng)前目錄)

例:[root@localhost ~]# unzip tmp.zip

unzip? 壓縮包名.zip? -d? 其他目錄? (解壓壓縮包到其他目錄)

例:[root@localhost ~]# unzip tmp.zip -d /home/

3.tar使用方法(tar是linux下最常用的壓縮與解壓的工具,支持文件和忽略的壓縮)? ? ------ du? -sh? (查看文件大?。?/p>

使用語法: tar? -czf? 文件名? 要打包的文件名? (打包)

例:[root@localhost ~]# tar -czf root.tar.gz /root/

tar? -czf? 目錄/ 文件名? 要打包的文件名 (打包到指定的某個(gè)目錄)

例:[root@localhost ~]# tar -czf /tmp/root.etc.atr.gz /etc/ /root/

c? ? ? 創(chuàng)建新的歸檔文件

x? ? ? 對(duì)歸檔文件解包

t? ? ? 列出歸檔文件里文件列表

f? ? ? 指定壓縮包文件名,參數(shù)f寫最后

z? ? ? 使用gzip壓縮歸檔后的文件(.tar.gz)

j? ? ? 使用bzip2壓縮歸檔后的文件(.tar.bz2)

J? ? ? 使用xz壓縮歸檔后的文件(.tar.xz)

C? ? 指定解壓目錄位置

X? ? 排除多個(gè)文件(寫入需要排除的文件名稱)

h? ? 打包軟連接

--exclude? ? 在打包的時(shí)候?qū)懭胄枰懦奈募蚰夸?/p>

常用打包與壓縮的組合

------------------------------------------------>>打包

czf? ? ? ? 打包tar.gz格式

cjf? ? ? ? ? 打包tar.bz2格式

cJf? ? ? ? 打包tar.xz格式(使用較少)

czhf? ? ? 打包tar.gz格式的軟連接

------------------------------------------------>>解包

zxf? ? ? ? 解壓tar.gz格式

jxf? ? ? ? ? 解壓tar.bz格式

xf? ? ? ? ? 自動(dòng)選擇解壓模式

tf? ? ? ? ? ? 查看壓縮包內(nèi)容

------------------------------------------------>>常用

czf? ? ? ? 打包tar.gz格式

tf? ? ? ? ? ? 查看壓縮包內(nèi)容

xf? ? ? ? ? 自動(dòng)選擇解壓模式

-C? ? ? ? ? 解壓到指定目錄

例:(tar? xf? root.tar.gz? -C /tmp/)

find和tar組合用法

1.[root@localhost ~]# find /root/ -type f | xargs tar -czf /tmp/root.txt.tar.gz

2. tar czf root.txt.tar.gz? $(find? /tmp/? -type f)

(root目錄下的所有文件打包到tmp目錄下)

4.--exclude=單個(gè)文件? (排除單個(gè)文件)

例:[root@localhost ~]# tar zcf root.tar.gz /root/ --exclude /root/zy11.txt


x排除多個(gè)文件

需要?jiǎng)?chuàng)建一個(gè)文件,將要排除的文件寫入文件中。(pc.txt)

例:tar? czXf? pc.txt? root.tar.gz /root/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容