壓縮文件意義節省網絡傳輸帶寬,降低磁盤使用率。但會使用一定的cpu。
1、gzip
不支持壓縮目錄,gzip後直接跟文件名,在當前目錄下壓縮時,原文件會消失。
#gzip filename
指定壓縮目錄:#gzip -c 123.txt > /tmp/123.txt.gz 將當前目錄下123.txt文件壓縮到tmp目錄下名字爲123.txt.gz
解壓縮:#gzip -d file.gz
#zcat file.gz 查看.gz文件內容
2、bzip2
不支持壓縮目錄,bzip2後可直接跟文件名也可跟-z filename,在當前目錄下壓縮時,原文件會消失。
#bzip2 filename
解壓縮:
#bzip2 -d file.bizp2
#bzcat file.bz2 查看.bz2文件內容
3、xz
不支持壓縮目錄,xz後可直接跟文件名也可跟-z filename,在當前目錄下壓縮時,原文件會消失。
語法:xz -z filename
-d filename 解壓縮
#xzcat file.xz 查看.xz的文本內容。
指定解壓縮文件的解壓路徑,比如xz壓縮文件爲 1.txt.xz
#xz -d 1.txt.xz -c > /tmp/1.txt
4、zip&unzip
zip後跟文件壓縮後文件名 然後跟要壓縮的文件,在當前目錄下壓縮時,原文件會消失,支持壓縮目錄但要加-r
壓縮:#zip 1.txt.zip 1.txt
指定壓縮路徑:
#zip /tmp/a/1.txt.zip /tmp/1.txt 將/tmp/1.txt壓縮到/tmp/a/下文字爲1.txt.zip
壓縮目錄:#zip -r yasuo.zip yasuo/
解壓:#unzip 1.txt.zip
#unzip -l file.zip 列出file.zip文件列表
解壓到指定目錄:#unzip -d /home/ 1.txt.zip
5、tar打包
#tar -cvf file.tar file1 file2 dir1...
#tar -tf file.tar 查看壓縮包文件列表
解壓:#tar -xvf 1.tar
指定路徑解壓:#tar -C /yasuo/hello -xvf 1.tar或#tar -xvf 1.tar -C /yasuo/hello
6、tar打包和壓縮並用
tar支持gzip bzip2 xz格式壓縮
gzip格式壓縮
#tar -zcvf -z表示使用gzip壓縮,-tf 查看包或壓縮包的文件列表
如:# tar -zcvf 1.tar.gz 111 111.zip 1.txt
# tar -tf 1.tar.gz
#tar -zxvf 解壓.tar.gz文件
如:tar -zxvf 1.tar.gz
指定目錄解壓:#tar -zxvf 1.tar.gz -C nihao/
#tar -zxvf 1.tar.gz
bzip2格式壓縮
#tar -jcvf file.tar.bzip2 fil1 file2 dir1...
如:[root@zekLinux hello]# tar -jcvf 1.tar.bzip2 nihao/ yasuo
解壓:#tar -jxvf 1.tar.bzip2
xz格式壓縮:
#tar -Jcvf file.tar.xz file1 file2 dir1...
解壓:tar -Jxvf file.tar.xz
--exclude 打包或壓縮時過濾某些內容
如:#tar --exclude 12.txt --exclude aminglinux -cvf 111.tar 111
#tar --exclude 12.txt -cvf 111.tar 111
若想在 1.tar 中追加一個新的文件1.txt前提是1.tar時打包來的,壓縮的不支持。
tar -rf 1.tar 1.txt
[root@zekLinux hello]# tar -rf 1.tar 2.txt
[root@zekLinux hello]# tar -tf 1.tar
111/
1.txt
1.txt
2.txt