Linux 中 “tar” 是 tape archive(磁带归档)的缩写,起初经常被 Linux/Unix 系统管理员用来做磁带驱动器的备份。在 Linux 中 tar 命令用来将一些文件和目录变成高度压缩存档文件,这种文件一般是 tarball、tar、gzip 或者 bzip。人们通常用 tar 命令创建压缩存档文件以便在硬盘和机器之间移动复制。
在这篇文章中我将讲述讨论不同的 tar 命令示例,包括怎么用(tar、tar.gz 和 tar.bz2)压缩算法创建存档文件、怎么解压存档文件、在存档文件中解压出单个文件、查看存档文件的目录、添加文件或目录到存档文件中、在归档文件中删除文件等等。
这篇文章的主要目的是提供各种 tar 命令示例帮助大家理解 tar 存档的方法。
创建tar存档文件
下面命令示例将在当前目录在为 /home/tecmint 目录创建名为 tecmint-14-09-12.tar 的 tar 存档文件。
|
|
让我们来讨论下上面用到的几个参数的含义。
c :创建新的 .tar 存档文件
v :详细显示存档 .tar 文件的进度
f :指定存档文件的文件名
创建 tar.gz 存档文件
要创建一个 gzip 压缩存档文件我们需要用到 z 参数。下面命令示例中将为 /home/MyImages 目录创建名为 MyImages-14-09-12.tar.gz 的存档文件。(注意:tar.gz 和 tgz 是等价的)
|
|
创建 tar.bz2 存档文件
bz2 压缩算法创建的压缩存档文件比 gzip 更小。相应的,bz2 压缩算法在压缩和解压文件时也要更多的时间。创建高度压缩的 bz2 存档文件我们需要用参数 j。下面的示例将为 /home/php 目录创建名为 Phpfiles-org.tar.bz2 的存档文件。(注意:tar.bz2、tbz 和 tb2 是等价的)
|
|
解压 tar 存档文件
如果要解压一个 tar 文件,只需要用 x 参数。下面示例中将把 public_html-14-09-12.tar 文件到当前工作目录。如果你想解压到不同的的目录,只要用 -C 参数就可以你。
|
|
解压 tar.gz 存档文件
要解压 tar.gz 存档文件,只要运行下面的命令。如果你想解压到其他的目录只要用 -C 参数指定目录的路径,像上一个示例中一样。
|
|
解压 tar.bz2 存档文件
其实从上面两个示例中可以看出,解压 tar 和 tar.gz 存档文件,所用的命令是一样,解压 tar.bz2 文件也是一样,tar 命令会根据存档文件的类型自动选择解压算法解压。
|
|
列出 tar 归档文件中的内容
要列出 tar 归档文件中的内容,只需运行下面命令时加上 t 参数。下面的命令将列出 uploadprogress.tar 文件的内容。
|
|
列出 tar.gz 存档文件的内容
用下面的命令就可以列出 tar.gz 文件的内容。
|
|
列出 tar.bz2 存档文件的内容
和上面两个示例所用的命令一样。
|
|
在 tar 文件中解压单个文件
从 cleanfiles.sh.tar 中解压 cleanfiles.sh 文件,用下面的命令即可。
|
|
在 tar.gz 文件中解压单个文件
从 tecmintbackup.tar.gz 存档文件中解压 tecmintbackup.xml 文件,用下面的命令即可。
|
|
在 tar.bz2 文件中解压单个文件
从 Phpfiles-org.tar.bz2 文件中解压 index.php 文件。
|
|
在 tar、tar.gz 或 tar.bz2 文件中解压多个文件
如何在 tar、tar.gz 或 tar.bz2 解压多个文件。如下面示例中从存档文件中解压 file1 和 file2 两个文件。
|
|
用通配符解压一组文件
我们可以用 wildcard (通配符)解压一组文件。如下面的示例中,从 tar、tar.gz 或 tar.bz2 存档文件中解压出文件名是以 .php 结束的一组文件。
|
|
添加文件或目录到 tar 归档文件中
要添加文件或目录到已存在的tar归档文件中,我们需要用参数 r (append。下面示例中我们将添加 xyz.txt 文件和 php 目录到 tecmint-14-09-12.tar 归档文件中。
|
|
添加文件或目录到 tar.gz 或 tar.bz2 文件中
tar 命令没有添加文件或目录到 tar.gz 或 tar.bz2 文件中的参数。如果你尝试则会提示下面的错误。
|
|
删除 tar 归档文件中的文件
在 tar 归档文件中删除文件,要用到 –delete 参数。下面示例中删除 tecmin-14-09-12.tar 文件中的 cleanfile.sh。
|
|
删除 tar.gz 或 tar.bz2 归档文件中的文件
tar 命令没有提供删除 tar.gz 或 tar.bz2 归档文件中的文件的参数,如果你尝试则会得到如下错误。
|
|
Tar 命令参数说明
c :创建归档文件
x :解压归档文件
v :显示命令执行的进度
f :指定归档文件的名字
t :列出归档文件的内容
z :用 gzip 过滤存档
j :用 bzip2 过滤存档
r :添加或更新归档文件中的文件或目录
wildcards :指定通配符模式
delete :指定删除文件或目录
最后希望通过以上的 Tar命令示例 可以让大家基本了解 tar 命令的使用,如果要了解更多信息请使用 man tar 命令。如果你有什么好的的命令示例或者文章有什么需要改正的地方欢迎通过评论告诉我。
原文链接:TecMint.com