在Unix系统中Unix tar,充分利用Unix系统本身的命令tar、cpio和compress等来做到打包和压缩,使之充当类似DOS下的压缩软件,同时在Unix系统中亦具有通用性。Unix tar的使用很有意义,我们今天就来讲解下Unix tar的知识。
在Unix系统中,是先通过cpio或tar将众多的文件打包成一个文件库后,再用compress将文件库压缩来达到目的的。下面分别以cpio和tar来说明使用的方法和步骤。
Unix tar
1.Unix tar文件或目录打包:
tar -cvf /u0/temp2.tar /usr/lib
将/usr/lib目录下的文件与子目录打包成一个文件库为/u0/temp2.tar。
tar -cvf /u0/temp2.tar /usr/lib *.c *.f
将/usr/lib目录下的*.c *.f等文件(不含子目录)打包。
注意:如果指定文件如*.c *.f或*.*,则打包时均不含子目录。如果指定为.或*,则含子目录。
2.Unix tar压缩:
同上:compress /u0/temp2.tar压缩为/u0/temp2.tar.Z
3.Unix tar解压:
uncompress /u0/temp2.tar.Z则还原为/u0/temp2.tar。
4.Unix tar解包展开:
tar -xvf /u0/temp2.tar
若以相对路径打包的,解包时,以相对路径存放展开的文件数据;若以绝对路径打包的,解包时,以绝对路径存放展开的文件数据。
若指定展开的文件名,须注意文件的目录路径。
5.显示:
tar -tvf /u0/temp2.tar 显示文件库内的文件名称。当指定文件名时,亦须注意文件的路径。
相对来说这两个命令各有优缺点。
1)tar速度比cpio慢,且不能跨越两份存储媒体,但文件格式几乎在所有的Unix系统中都能通用,且使用简便。
2)cpio则由于可通过管道功能,使得其打包时的文件选择、排除功能非常强,且能跨越多份媒体,并能备份特殊的系统文件。
另外,压缩命令compress比DOS下的Pkzip的压缩率要低些。经测试,在一个目录下527个文本文件共15.7MB,在Unix打包后用compress压缩,大小为 2.1MB;相同的文件拷到DOS系统用Pkzip压缩,则大小为1.4MB。补充:实际在UNIX下有zip,gzip等压缩软件,压缩率比compress高,建议使用。
Unix tar的使用,我们就讲解到这里了。
【编辑推荐】