千家信息网

压缩与打包(下)

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,除了gzip、bzip2和xz外,linux中还有一款压缩软件。它支持压缩目录,也可以解压windows中同类型的文件。它就是我们熟悉的zip。1、zip命 令作 用zip 1.txt.zip 1.t
千家信息网最后更新 2024年09月30日压缩与打包(下)

除了gzip、bzip2和xz外,linux中还有一款压缩软件。它支持压缩目录,也可以解压windows中同类型的文件。它就是我们熟悉的zip。

1、zip

命 令作 用
zip 1.txt.zip 1.txt压缩
zip -r 123.zip 123/压缩目录
unzip 1.txt.zip解压
unzip 123.zip -d /root/456/解压缩到指定目录下
unzip -l 123.zip列出压缩文件所包含的内容

测试示例:

[root@server02 ~]# zip 1.txt.zip 1.txt  adding: 1.txt (deflated 71%)[root@server02 ~]# ls -lh 1.txt*-rw-r--r--. 1 root root  21M 6月  20 17:56 1.txt-rw-r--r--. 1 root root 4.2M 6月  20 17:55 1.txt.bz2-rw-r--r--. 1 root root 5.8M 6月  20 17:35 1.txt.gz-rw-r--r--. 1 root root  21M 6月  20 17:59 1.txt.new-rw-r--r--. 1 root root 681K 6月  20 17:59 1.txt.xz-rw-r--r--. 1 root root 5.8M 6月  20 18:03 1.txt.zip[root@server02 ~]# file newdirnewdir: directory[root@server02 ~]# zip -r newdir.zip newdir  adding: newdir/ (stored 0%)  adding: newdir/1.txt (deflated 71%)[root@server02 ~]# unzip 1.txt.zipArchive:  1.txt.zipreplace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A  inflating: 1.txt[root@server02 ~]# unzip -l newdir.zipArchive:  newdir.zip  Length      Date    Time    Name---------  ---------- -----   ----        0  06-20-2017 18:04   newdir/ 21095346  06-20-2017 18:04   newdir/1.txt---------                     ------- 21095346                     2 files

和gzip、bzip2和xz不同的是,使用zip压缩后,保留原文件。不能更改压缩后的压缩包名称。不能直接查看zip压缩包的内容,只能查看压缩包内文件列表。


2、tar

tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。它主要是用来对文件打包。

命 令作 用
tar -cvf 123.tar 123打包单个文件
tar -cvf 123.tar 1.txt 123打包多个文件
tar -xvf 123.tar解包
tar -tf 123.tar查看打包文件列表
tar -cvf 123.tar --exclude 1.txt --exclude 23打包时部分文件不打包

测试示例:

[root@server02 ~]# tar -cvf 1.tar 1.txt1.txt[root@server02 ~]# ls -lh 1.*-rw-r--r--. 1 root root 21M 6月  20 18:09 1.tar-rw-r--r--. 1 root root 21M 6月  20 17:56 1.txt[root@server02 ~]# tar -cvf 12.tar 1.txt 2.txt1.txt2.txt[root@server02 ~]# tar -tf 12.tar1.txt2.txt[root@server02 ~]# ls newdir1.txt  2.txt  3.txt[root@server02 ~]# tar -cvf 123.tar newdir --exclude 1.txtnewdir/newdir/2.txtnewdir/3.txt


使用tar命令还可以做打包并压缩:

命 令作 用
tar -zcvf 123.tar.gz 123打包并压缩成gzip压缩包
tar -zxvf 123.tar.gz解包并解压缩gzip压缩包
tar -jcvf 123.bz2 123打包并压缩成bzip2压缩包
tar -jxvf 123.bz2解包并解压缩bzip2压缩包
tar -Jcvf 123.xz 123打包并压缩成xz压缩包
tar -Jxvf 123.xz解包并解压缩xz压缩包
tar -tf 123.bz2/123.gz/123.xz查看压缩包文件列表

测试示例:

[root@server02 ~]# tar -zcvf 1.txt.tar.gz 1.txt1.txt[root@server02 ~]# ls -lh 1.txt.tar.gz-rw-r--r--. 1 root root 5.8M 6月  20 18:15 1.txt.tar.gz[root@server02 ~]# tar -zxvf 1.txt.tar.gz1.txt[root@server02 ~]# tar -jcvf 1.txt.bz2 1.txt1.txt[root@server02 ~]# ls -lh 1.txt.bz2-rw-r--r--. 1 root root 4.2M 6月  20 18:18 1.txt.bz2[root@server02 ~]# tar -jxvf 1.txt.bz21.txt[root@server02 ~]# tar -Jcvf 1.txt.xz 1.txt1.txt[root@server02 ~]# ls -lh 1.txt.xz-rw-r--r--. 1 root root 680K 6月  20 18:22 1.txt.xz[root@server02 ~]# tar -Jxvf 1.txt.xz1.txt


0