UNIX文件目录管理基本命令之tar文件合并或抽取-tar文件

3.1tar(tape file archiver)文件合并或抽取

格式:tar c[bBDeEfFhiklnopPqvwX@[0-7]] [block] [tarfile] [exclude-file] {-I include-file | -C directory | file |file} ...

tar r[bBDeEfFhiklnqvw@[0-7]] [block] {-I include-file |-C directory | file | file} ...

tar t[BefFhiklnqvX[0-7]] [tarfile] [exclude-file] {-I include-file | file} ...

tar u[bBDeEfFhiklnqvw@[0-7]] [block] [tarfile] file...

tar x[BefFhiklmnopqvwX[0-7]] [tarfile] [exclude-file] [file...]

说明:tar的作用是把若干文件写到一个档案文件中,或者是从一个 tar格式的档案文件中提取出其中所保存的全部或部分文件。保存 tar档案文件的通常是某种磁带,但实际上档案可以按任一种形式的文件存储。tar通过 c, r, t, u, x这五个关键字来实现对档案文件的不同处理。在命令行中指定的文件名参数均指定待归档或从档案中提取的文件。并且若指定的文件名是一个目录名称,那么 tar实际上将对该目录下所有文件及子目录进行处理。

选项解释
b该选项指示 tar将 Block参数的值作为磁带记录的分块因子。缺省的分块因子为l,最大值为200。在档案文件为普通文件或块设备文件时不应使用此选项。但向原始磁带这类存储设备归档时则必须指定此选项及 Block的值
B该选项指示 tar在需要时进行多次读操作以获取填满一个数据块所需要的数据。此选项主要用于 tar从网络上或管道中获取输入数据的情形
e指示 tar在遇到错误时立即以某个正的返回状态退出
i指示 tar忽略目录校验和错
I指示 tar在它无法转换到被归档的文件的链接时显示错误信息。若不指定 I,tar将不显示错误提示
m指示 tar不再从档案中获取被提取出的文件的修改时间,而将这些文件的修改时间设成被提取时的时间。此选项只有同 x关键字联用才是有效的
o指示 tar将被提取出的文件的拥有者及所属组修改为运行 tar x命令(提取档案中文件)的那个用户的用户标识及所属组。对于非超级用户的那些用户而言,这一点是缺省的。但若超级用户在提取文件时若没指定。选项,此时被提取出的文件将保留其原有的拥有者标识及所属组标识。 o选项也只同 x关健宇联用时才有效
p将指定待提取的文件恢复为其原有访问权限设置,而不管当前 Shell的 umask设置为何,对于超级用户,文件的有效用户标识(SetUID位)和粘着位信息也将被提取出来。此选项也只有在同 x选项联用时才有效
v通常情况下, tar是比较“寡言少语”的;它只是静静地干它的工作,而不给出它到底作了些什么。指定此选项我们可以让 tar显示出它所处理的每一个文件的名称。对于关键字 t, v选项使 tar除了给出文件名之外还将给出文件的访问权限等其他信息
w此选项将使 tar在完成实际操作之前,先显示出待完成的动作,然后是被处理的文件名称,等待用户确认。如果用户问答 y,那么 tar将对相应文件执行相应的动作。否则将不执行。此选项同 t关键字联用时是无效的
X此选项同 c, x, t关键宇联用,它指示 tar把名称在 ExcludeFilename中的那些文件排除在档案文件之外。这里 ExclndeFilenalne为一个文件,其中包含有若干个文件名。我们可以使用多个 X选项,只需与每个 X有一个相应的 ExcludeFilename即可。但应注意的是 ExcludeFilename中的文件名必须与档案中所记录的文件名完全一样。下面我们将说到这个问题
[0-7]选择一个可替换的其上安装有磁带的设备文件名。与每个数相应的设备文件记录在/etc/default/tar中
-I IncludeFilename指定此选项的效果与指定 Filenamebll参数的效果相同。IncludeFilename的内容同前面说过的 ExcludeFilename类似,也是每行一个文件名。 tar在处理-I IncludeFilename时,对 IncludeFilename中的每一个文件名,将把它当作是单独出现在命令行上的 Filename一样。但应注意,如果某个文件名同时在 ExcludeFilename中和 IncludeFilename或 Filename.中出现了,此时 tar将仍把该文件排除在外
-C Directory Filename该选项可出现在 tar c或 tar r命令中。此时 tar在查找写到档案中的文件时,将先转至目录 Directory,然后将该目录下的 Filename写至档案文件中。—C选项可以有多个。这使得我们可以用较短的相对路径名将不具有共同父目录的多个目录中的文件写到档案里

常用格式示例:

使用tar -cvf tmp-doc.tar tmp_doc命令将当前操作目录下tmp_doc目录合并为tmp_doc.tar文件,如下图

UNIX文件目录管理基本命令之tar文件合并或抽取

然后可以同过gzip命令压缩文件生成.gz压缩文件;再次使用文件可以通过gzip -d *.gz文件名解压文件,再通过tar -xvf *.tar释放合并文件。tar命令参数选项和格式变化较多,在此仅给出常用格式,如需详细了解可参考其他文档。

弈安传媒科技微课堂,每天分享财经资讯,计算机技术知识,人生感悟,创业指导以及各种专业技术知识资料学习交流.移动学习平台、知识分享平台。随时随地的学习,如果你喜欢成长,这里你不容错过的地方.弈安传媒科技培训关注:关注自己成长,分享内容,分享自己的技术,成就未来.

[弈安传媒科技提升自己的平台]请关注:头条号及公众号 弈安传媒科技

推荐阅读