作者:mobiledu2502884243 | 来源:互联网 | 2015-09-23 00:55
tar是Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件名亦为“tar”。目前,tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,目前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tapearchive),因而得名tar。
什么是tar
概览
tar是Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件名亦为“tar”。目前,tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,目前是POSIX.1-2001。 本程序最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar。
版本
常用的tar是自由软件基金会开发的GNU版,目前的稳定版本是1.28,发布于2014年7月27日。同时,它有多个压缩率不同的版本,如tar.xz和tar.gz,前者的压缩率更高,但可能有兼容性问题。
缩写
Tar经常和别的压缩方式一起使用,比如gzip,来生成一个压缩文档。tar代表未被压缩的tar文件。已被压缩的tar文件则追加压缩文件的扩展名,如经过gzip压缩后的tar文件,扩展名为“.tar.gz”。由于受到DOS8.3文件名格式的限制,常使用下列缩写:
.tgz等价于.tar.gz
.tbz与tb2等价于.tar.bz2
.taz等价于.tar.Z
.tlz等价于.tar.lzma
.txz等价于.tar.xz
一、打包或解包文件
tar -cvf all.tar *.jpg
将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名,-v是显示出详细过程。
tar -rvf all.tar *.gif
将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -uvf all.tar logo.gif
更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -tf all.tar
列出all.tar包中所有文件,-t是列出文件的意思
tar -xvf all.tar
解出all.tar包中所有文件,-x是解开的意思
二、压缩或解压文件
tar可以打包/解包,同时调用其它的压缩程序进行压缩/解压,比如调用gzip、bzip2等。tar调用gzip,gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果,与gzip相对的解压程序是gunzip。
tar -zcvf all.tar.gz *.jpg
先将.jpg的文件打成一个tar包,然后用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz。
tar -xzvf all.tar.gz
将all.tar.gz包解开。
tar调用bzip2,bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果,与bzip2相对的解压程序是bunzip2
tar -jcvf all.tar.bz2 *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
tar -jxvf all.tar.bz2
这条命令是将上面产生的包解开。
三、linux压缩解压.zip/.rar
.zip和.rar 是Window下的常见压缩文件,在linux下也可以操作
zip是压缩程序,unzip是解压程序。
zip all.zip *.jpg
将所有.jpg的文件压缩成一个zip包
unzip all.zip
将all.zip中的所有文件解压出来
rar是压缩程序,unrar是解压程序。
rar a all.rar *.jpg
将所有.jpg的文件压缩成一个rar包,名为all.rar,也可以不写后缀名,会自动添加,不过建议还是写上去,好看一些
unrar e all.rar
将all.rar中的所有文件解压到当前目录下
unrar x all.rar /tmp/newrar/
将all.rar中的所有文件解压到指定目录下
unrar vb all.rar
查看all.rar压缩文件里的内容,不解压