linux笔记 文件的压缩与解压缩gzip、bzip2、xz、zip&unzip、tar打包、tar打包和压缩并用

时间:2022-12-10 13:54:45

压缩文件意义节省网络传输带宽,降低磁盘使用率。但会使用一定的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