1 tar简介
Linux 下最常用的打包程序就是 tar 了,使用 tar 程序打出来的包我们常称为 tar 包,tar 包通常都是以 .tar
结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。
tar 命令的选项有很多(用 man tar
可以查看到),但常用的就那么几个选项,下面来举例说明一下:
例1:
$ tar -cf all.tar *.jpg
这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c
是表示产生新的包 ,-f
指定包的文件名。
例2:
$ tar -rf all.tar *.gif
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去。-r
是表示增加文件的意思。
例3:
$ tar -uf all.tar logo.gif
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u
是表示更新文件的意思。
例4:
$ tar -tf all.tar
这条命令是列出 all.tar 包中所有文件,-t
是列出文件的意思。
例5:
$ tar -xf all.tar
这条命令是解出 all.tar 包中所有文件,-x
是解压的意思。
以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。
2 tar调用gzip
gzip 是 GNU 组织开发的一个压缩程序,.gz
结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z
这个参数来调用 gzip。下面来举例说明一下:
例1:
$ tar -czf all.tar.gz *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz
例2:
$ tar -xzf all.tar.gz
这条命令是将上面产生的包解压。
3 tar调用bzip2
bzip2 是一个压缩能力更强的压缩程序,.bz2
结尾的文件就是 bzip2 压缩的结果。
与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 bzip2。下面来举例说明一下:
例1:
$ tar -cjf all.tar.bz2 *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2
例2:
$ tar -xjf all.tar.bz2
这条命令是将上面产生的包解开。
4 tar调用compress
compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z
结尾的文件就是 compress 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用 -Z
这个参数来调用 compress。下面来举例说明一下:
例1:
$ tar -cZf all.tar.Z *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z
例2:
$ tar -xZf all.tar.Z
这条命令是将上面产生的包解开。
5 总结
有了上面的知识,你应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:
-
对于 .tar 结尾的文件
$ tar -xf all.tar
-
对于 .gz 结尾的文件
$ gzip -d all.gz $ gunzip all.gz
-
对于 .tgz 或 .tar.gz 结尾的文件
$ tar -xzf all.tar.gz $ tar -xzf all.tgz
-
对于 .bz2 结尾的文件
$ bzip2 -d all.bz2 $ bunzip2 all.bz2
-
对于 tar.bz2 结尾的文件
$ tar -xjf all.tar.bz2
-
对于 .Z 结尾的文件
$ uncompress all.Z
-
对于 .tar.Z 结尾的文件
$ tar -xZf all.tar.z
另外对于 Window 下的常见压缩文件 .zip 和 .rar,Linux 也有相应的方法来解压它们:
-
对于.zip
linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
$ zip all.zip *.jpg
这条命令是将所有 .jpg 的文件压缩成一个 zip 包。
$ unzip all.zip
这条命令是将 all.zip 中的所有文件解压出来。
-
对于.rar
要在 linux 下处理 .rar 文件,需要安装 RAR for Linux,可以从网上下载,但要记住,RAR for Linux 不是免费的;可从http://www.rarsoft.com/download.htm 下载 RARfor Linux 3.2. 0,然后安装:
$ tar -xzpvf rarlinux-3.2.0.tar.gz $ cd rar $ make
这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
$ rar a all *.jpg
这条命令是将所有 .jpg 的文件压缩成一个rar包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。
$ unrar e all.rar
这条命令是将 all.rar 中的所有文件解压出来。
6 附录
tar的选项如下:
-c:建立压缩档案
-x:解压
-t :查看内容
-r :向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
上面这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
-z :有gzip属性的
-j :有bz2属性的
-Z :有compress属性的
-v :显示所有过程
-O:将文件解开到标准输出
上面的参数是根据需要在压缩或解压档案时可选的。
-f:使用档案名字
上面的参数 -f 是必须的,切记,这个参数是最后一个参数,后面只能接档案名。