一为流,什么是文件壓縮
將多個文件或目錄合為一個特殊的文件呕屎。
二,為什么要對文件進行壓縮敬察?
減小文件體積
增加傳輸效率
節(jié)省網(wǎng)絡的帶寬
三秀睛,windows的壓縮包與Linux的壓縮包能否互通
Windows:rar,zip? 支持很多類型的壓縮
Linux? : zip莲祸,tar.gz....
Windows與Linux互通通常采用zip
四蹂安,Linux有哪些常見的壓縮包類型
格式壓縮工具
.zip必須會的壓縮工具
.gz只能壓縮文件,會刪除原文件锐帜,配合tar使用
.bz2只能壓縮文件田盈,會刪除原文件,配合tar使用
.tar.gz先使用tar命令歸檔打包缴阎,然后使用gzip壓縮允瞧,必須會的
.tar.bz2先使用tar命令歸檔打包,然后使用bzip壓縮药蜻,順帶會的
五瓷式,Linux gzip zip tar工具使用
1,gzip打包與壓縮只對文件有效
gzip filename? ? ? 打包
gzip -d filename.gz? ? 解包
zcat filename.gz? ? ? 查看包內文件內容
2语泽,zip工具使用
壓縮文件贸典,zip filename.zip filename
查看壓縮文件內容,unzip -l filename.zip
壓縮目錄踱卵, zip -r? dir.zip? dir/
查看壓縮包是否完整廊驼,zip -T filename.zip
不解壓查看壓縮包中的內容据过,unzip -l filename.zip/unzip -t filename.zip
解壓zip文件包,默認解壓至當前目錄妒挎,unzip filename.zip
解壓zip內容至/opt/目錄绳锅,unzip? filename.zip? -d? /opt/
3,tar工具使用
tar是linux下最常用的壓縮與解壓縮, 支持文件和目錄的壓縮歸檔
#語法:tar [-zjxcvfpP] filename
c? #創(chuàng)建新的歸檔文件
x? #對歸檔文件解包
t? #列出歸檔文件里的文件列表
v? #輸出命令的歸檔或解包的過程
f? #指定包文件名,多參數(shù)f寫最后
z? #使用gzip壓縮歸檔后的文件(.tar.gz)
j? #使用bzip2壓縮歸檔后的文件(.tar.bz2)
J? #使用xz壓縮歸檔后的文件(tar.xz)
C? #指定解壓目錄位置
X? #排除多個文件(寫入需要排除的文件名稱)
h? #打包軟鏈接
--exclude? #在打包的時候寫入需要排除文件或目錄
#常用打包與壓縮組合
czf? #打包tar.gz格式
cjf? #打包tar.bz格式
cJf? #打包tar.xz格式
zxf? #解壓tar.gz格式
jxf? #解壓tar.bz格式
xf? ? #自動選擇解壓模式
tf? ? #查看壓縮包內容
壓縮:tar czf test.tar.gz test/ tset2/? 以gzip方式壓縮
tar cjf test.tar.bz2 dir.txt dir/? 以bz2方式壓縮
解壓:tar xf test.tar.gz
? tar xf test.tar.bz2
? tar xf test.tar.xz
? Tar xf root.tar.gz -C /tmp/? 解壓至指定目錄
查看包內內容: tar tf test.tar.gz
通過管道符打包文件
? ? ? ? find tmp/ -type f | xargs tar czf tmp.tar.gz
打包/tmp下所有的文件
? ? ? ? tar czf tmp.tar.gz $(find /tmp f)
打包鏈接文件
? ? ? ? tar czfh local.tar.gz etc /rc.local
六酝掩,排除文件
1鳞芙,排除單個文件
tar czf etc.tar.gz --exclude=etc/services
2,排除多個文件
tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.locla
3,指定排除的文件列表,最后進行壓縮
tar czfX etc.tar.gz paichu.list? /etc/