在Linux平台上,tar 命令是紧张的归档实用程序。理解各种 tar 命令选项将帮助您节制归档文件操作。tar 代表磁带存档。
语法tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-C <目的目录>][-f <备份文件>][--delete][--totals][文件或目录...]
以前 unix 系统管理员利用 tar 实行磁带机备份。tar 命令用于获取文件和目录的凑集,并天生高度压缩的归档文件,在Linux中常日称为 tarball 或 tar、gzip 和 bzip。
-c

建立新的备份文件
-C
切换到指定的目录
-d
比拟备份文件内和文件系统上的文件的差异
-x
解压缩归档文件
-v
显示指令实行过程
-f
指定归档文件的文件名
-t
查看归档文件内容
-j
通过 bzip2 指令处理备份文件
-z
通过 gzip 指令处理备份文件
-r
向现有存档文件追加或更新文件或目录
-W
验证归档文件
--totals
备份文件建立后,列出文件大小
--delete
从备份文件中删除指定的文件
--wildcards
在 unix tar 命令中指定匹配模式
创建一个 tar 格式的压缩文件在当前事情目录的 /home/cyberpunk/testdir 目录下创建一个名为 archive.tar 的 tar 归档文件:
tar -cvf archive.tar /home/cyberpunk/testdir//home/cyberpunk/testdir//home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.sh/home/cyberpunk/testdir/file3.tar
本例中利用的选项有:
-c
建立新的备份文件
-v
显示指令实行过程
-f
指定归档文件的文件名
创建压缩后的tar.gz存档文件要创建一个压缩的 gzip 归档文件,我们须要利用选项 z 。
tar cvzf compressedArchive.tar.gz /home/cyberpunk/testdir/home/cyberpunk/testdir//home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.jpg/home/cyberpunk/testdir/file3.png
本例中利用的选项有:
-c
建立新的备份文件
-v
显示指令实行过程
-f
指定归档文件的文件名
-z
通过 gzip 指令处理备份文件
天生压缩率更高的tar.bz2文件tar 的 bz2 压缩,可以创建比 gzip 文件小的归档。Bz2 模式实行归档压缩和解压所需的韶光比 gzip 模式多。常日,这个韶光差可以忽略不计,但如果文件非常打,或者是文件数量非常多,那么韶光差就会非常大。
tar cvfj Archive.tar.bz2 /home/cyberpunk/testdir/home/cyberpunk/testdir//home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.txt/home/cyberpunk/testdir/file3.txt
本例中利用的选项有:
-c
建立新的备份文件
-v
显示指令实行过程
-f
指定归档文件的文件名
-j
通过 bzip2 指令处理备份文件
解压缩 tar 文件要解压缩(提取)一个tar文件,将 x (提取)选项通报给该命令 利用不带 -C 选项的命令将在当前事情目录中提取存档。-C 选项见告命令在哪里提取存档文件。
tar -xvf Archive.tar -C /home/cyberpunk/testdir//home/cyberpunk/testdir//home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.txt/home/cyberpunk/testdir/file3.txt
本例中利用的选项有:
-x
解压缩归档文件
-v
显示指令实行过程
-f
指定归档文件的文件名
解压缩 tar.gz 文件小知识:利用 tar 命令创建的所有归档文件,都可以以相同的办法提取。
tar -xvf Archive.tar.gz/home/cyberpunk/testdir//home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.txt/home/cyberpunk/testdir/file3.txt
本例中利用的选项有:
-x
解压缩归档文件
-v
显示指令实行过程
-f
指定归档文件的文件名
解压缩 tar.bz2 文件小知识:利用 tar 命令创建的所有归档文件,都可以以相同的办法提取。
tar -xvf Archive.tar.bz2/home/cyberpunk/testdir//home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.txt/home/cyberpunk/testdir/file3.txt
本例中利用的选项有:
-x
解压缩归档文件
-v
显示指令实行过程
-f
指定归档文件的文件名
列出归档内容利用 t 选项列出 tar 归档文件的内容:
# tar -tvf uploadprogress.tar-rwxr--r-- root/root 1111 2014-10-19 12:33:42 file1.txt-rwxr--r-- root/root 1111 2014-10-19 12:33:42 file2.txt-rwxr--r-- root/root 1111 2014-10-19 12:33:42 file3.txt-rwxr--r-- root/root 1111 2014-10-19 12:33:42 file4.txt
本例中利用的选项有:
-t
查看归档文件内容
-v
显示指令实行过程
-f
指定归档文件的文件名
从 tar 归档文件中提取单个文件tar --extract --file=archive.tar file1.txtfile1.txt
从 tar 归档文件中提取多个文件
tar -xvf Archive.tar "file 1" "file 2"
利用通配符提取文件组
# tar -xvf Archive.tar --wildcards .txt'/home/cyberpunk/testdir/file1.txt/home/cyberpunk/testdir/file2.txt/home/cyberpunk/testdir/file3.txt
添加文件或目录到 tar 存档中
要向现有的 tar 文件中添加文件或目录,可以利用 r 选项。例如,我们将 xyz.txt 文件和 php 目录添加到现有的 tecmint-14-09-12.tar 归档文件中。
# tar -rvf Archive.tar xyz.txt #add fileor# tar -rvf Archive.tar php # add directory