linux(tar命令)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用 tar 非常类似于使用诸如 PKZip 这样的文件实用工具。只需将它指向一个目的(可以是文件或设备),然后指定您想要打包的文件。您可以通过标准的压缩类型来动态压缩归档文件,或指定一个自己选择的外部压缩程序。要通过 bzip2 压缩或解压缩文件,可使用 tar -z 命令。
语法:tar (主选项+辅选项) 文件或者目录
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅助选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
您可能会经常使用的另外两个 tar 命令是 -t 和 -d 开关。 -t 开关列出某个归档文件的内容。 -d 开关将归档文件的内容与系统上的当前文件作比较。
为便于操作和编辑,您可以将想要归档的文件和目录放进一个文本文件中,然后在命令行通过 -T 开关引用这个文本文件。这些文件和目录可以与命令行上列出的其他目录结合起来。下面的命令行备份 MyFiles 中列出的所有文件和目录、/ 根目录和 /tmp 目录中的所有 iso 文件。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一
要使用该选项进行解压缩。
例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar
$ tar cvf usr.tar /home
例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。
要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件
拷贝到备份文件中。
$ tar cf /dev/fd0 /home
要恢复设备磁盘中的文件,可使用xf选项:
$ tar xf /dev/fd0
#!/bin/sh
cat MyFiles > TempList
find /usr/share -iname *.png >> TempList
find /tmp -iname *.iso >> TempList
tar -cpzMf /dev/st0 -T TempList
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的
可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
要还原一个或多个文件,可以使用带提取开关( -x )的 tar 命令:
tar -xpf /dev/st0 -C /
这里的 -f 开关同样指向归档文件, -p 开关表明我们想要还原归档的权限。 -x 开关表明从归档中提取文件。 -C / 表明我们想要让还原从 / 开始。 tar 通常还原到运行这个命令的目录。 -C 开关使我们的当前目录不再相关。
使用 tar 可以打包整个目录树,这使得它特别适合用于备份。归档文件可以全部还原,或从中展开单独的文件和目录。备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。 tar 是与文件系统无关的。它可以使用在 ext2、ext3、 jfs、Reiser 和其他文件系统上。
Linux学习笔记之备份命令tar 2006-12-15 21:41出处:互联网作者:2【我要评论】 [导读]
tar 是一个已移植到 Linux 中的经典 UNIX 命令。 tar 是 tape archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。如果您下载过 Linux 源代码,或许已经碰到过 tar 文件。这是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。
$ tar czvf usr.tar.gz /home
例3:把usr.tar.gz这个备份文件还原并解压缩。
$ tar xzvf usr.tar.gz
例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。
$ tar tvf usr.tar | more
如果用户备份的文件大小超过设备可用的存贮空间,如软盘,您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备,当 使用M选项向一个软驱进
存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。
$ tar cMf /dev/fd0 /home
要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在
要时您会被提醒放入另外一张软盘。
$ tar xMf /dev/fd0
例 6:用 tar 来把除 /proc 目录之外的整个文件系统备份到 SCSI 磁带设备。
tar -cpf /dev/st0 / --exclude=/proc
tar -cpf /dev/st0 -T MyFiles /root /tmp/*.iso
文件列表只是一个文本文件,其中列出文件或目录。下面是一个例子:
/etc
/var
/home
/usr/local
/opt
请注意 tar -T (或 files-from )命令不能接受通配符。文件必须明确地列出。上面的例子展示了一种单独地引用文件的方法。您还可以执行脚本来搜索系统,然后建立一个列表。下面就是这样一个脚本的例子:
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
还可以使用脚本来执行更精细的操作,比如增量备份。也可以编写脚本来还原文件,虽然还原通常是手动进行的。正如上面提到过的,用于提取文件的 -x 开关代替了 -c 开关。可以还原整个归档文件,或者还原指定的个别文件或者目录。使用通配符来引用归档文件中的文件是可以的。还可以使用开关来转储和还பைடு நூலகம்。
原文出自【比特网】,转载请保留原文链接:/biz/cbfwq/18/3007518.shtml
上面的脚本首先将 MyFiles 中的所有现有文件列表复制到 TempList。然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件,并将它们附加到 TempList。第一次是搜索 /usr/share 目录树中以 .png 结尾的所有文件。第二次是搜索 /tmp 目录树中以 .iso 结尾的所有文件。在建立好列表之后, tar 然后在文件设备 /dev/st0 (第一个 SCSI 磁带设备)上创建 一个新的归档文件,该文件使用 g zip 格式来压缩,并保留所有文件权限。该归档文件将跨越多个卷。要归档的文件的名称将从 TempList 文件中提取。
在上面的例子中, -c 开关表示归档文件正在被创建。 -p 开关表示我们希望保留文件许可权限,这对良好的备份来说是很关键的。 -f 开关指向该归档文件的文件名。在本例中,我们使用的是原始磁带设备 /dev/st0。/ 表示我们想要备份的内容。既然我们想要备份整个系统,因此把这个开关指定为根(root)。当把 tar 指向一个目录(以 / 结尾)时,它会自动递归。最后,我们排除了 /proc 目录,因为它没有包含需要保存的任何内容。如果单盒磁带容纳不下这个备份,我们需要添加 -M 开关(本例中没有显示)以进行多卷备份。