且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

压缩与打包(下)

更新时间:2022-09-24 23:38:43

   除了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 列出压缩文件所包含的内容

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[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 newdir
newdir: directory
[root@server02 ~]# zip -r newdir.zip newdir
  adding: newdir/ (stored 0%)
  adding: newdir/1.txt (deflated 71%)
[root@server02 ~]# unzip 1.txt.zip
Archive:  1.txt.zip
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: 1.txt
[root@server02 ~]# unzip -l newdir.zip
Archive:  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 打包时部分文件不打包

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@server02 ~]# tar -cvf 1.tar 1.txt
1.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.txt
1.txt
2.txt
[root@server02 ~]# tar -tf 12.tar
1.txt
2.txt
[root@server02 ~]# ls newdir
1.txt  2.txt  3.txt
[root@server02 ~]# tar -cvf 123.tar newdir --exclude 1.txt
newdir/
newdir/2.txt
newdir/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 查看压缩包文件列表

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@server02 ~]# tar -zcvf 1.txt.tar.gz 1.txt
1.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.gz
1.txt
[root@server02 ~]# tar -jcvf 1.txt.bz2 1.txt
1.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.bz2
1.txt
[root@server02 ~]# tar -Jcvf 1.txt.xz 1.txt
1.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.xz
1.txt










本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1941493,如需转载请自行联系原作者