1、什么是tar
1.1、tar
tar命令将指定的文件、文件夹打包(存储)为一个文件(归档文件,archive file)。tar将被归档文件以及被归档文件的文件名、时间戳以及文件权限等文件属性写入归档文件。归档文件的后缀名为tar。
tar命令的名字派生自tape archive(磁带归档文件)。该命令在1979年1月发布的Unix v7中首次被引入,用以替代tp命令。之后,归档文件的文件格式在POSIX.1-1988和POSIX.1-2001中被确认。
1.2、tar.gz、tar.bz2、tar.7z等
在Ubuntu上压缩文件,或者从开源代码网站下载代码时,经常会遇到后缀名为tar.gz、tar.bz2、tar.7z等的文件。这些文件是在tar输出的归档文件基础上,使用特定压缩算法对归档文件进行压缩之后的输出文件。不同的压缩算法对应不同的tar.xx后缀名。采用这种“打包+压缩”的方式,可以在压缩文件的同时保存时间戳、文件权限等文件属性。
2、打包/解包
2.1、Linux
在命令行中,使用如下命令将文件FILE1、FILE2以及文件夹DIR1、DIR2打包为ARCHIVE.tar。
tar -cvf ARCHIVE.tar FILE1 FILE2 DIR1 DIR2
在命令行中,使用如下命令将当前目录下的txt文件、dat文件打包为ARCHIVE.tar。
tar -cvf ARCHIVE.tar *.txt *.dat
在命令行中,使用如下命令将归档文件ARCHIVE.tar解包到当前目录下。
tar -xvf ARCHIVE.tar
当然,也可以在Ubuntu的文件浏览器下,选中待打包文件,通过鼠标右键菜单中的“Compress...”对选中的文件进行打包。或者选中归档文件,通过鼠标右键菜单中的“Open With Archive Manager”或“Extract Here”,对归档文件进行解包。
(点击右键看大图)
2.2、Windows
在Windows下,可以通过7-Zip软件对文件进行打包和解包。
如下图所示,用户可以在Windows文件浏览器下,选中待打包的文件,然后点击鼠标右键,选择“7-Zip>>添加到压缩包...”,对文件进行打包。
(点击右键看大图)
如下图所示,用户可以在Windows文件浏览器下,选中归档文件,然后点击鼠标右键,选择“7-Zip>>打开压缩包...“或”提取到当前位置”,对归档文件进行解包。
(点击右键看大图)
用户也可在Windows命令行中,使用7z.exe进行打包、解包操作。
更详细的信息参见7-Zip官网。
3、带压缩的打包/解包
带压缩的打包,就是如1.2所述的,先归档,再使用压缩算法对归档文件进行压缩。
如下图所示,在Ubuntu文件浏览器中,选中文件,点击鼠标右键,选择“Compress...”,在弹出的对话框中(如下图所示)可以看到文件后缀名列表中有tar.7z、tar.Z、tar.bz2、tar.gz、tar.lz、tar.lzma、tar.lzo、tar.xz。
(点击右键看大图)
其中,
- tar.bz2:使用bzip2压缩(基于块排序压缩算法)。打包命令为“tar cvfj ARCHIVE.tar.bz2 FILE”,解包命令为“tar xvf ARCHIVE.tar.bz2”。
- tar.gz:使用gzip压缩(基于DEFLATE压缩算法)。打包命令为“tar cvfz”,解包命令为“tar xvf ARCHIVE.tar.gz”。