电脑技术学习

对话 UNIX,第 5 部分: 操纵数据与文件

dn001

  Shell 将星号 (*) 解释为“任何文件,所以对其展开后为两个文件和一个目录。从上面的输出中您可以看出,tar 对 CSS 目录进行了存档,同时递归地对该目录中的内容进行了存档。

  在运行 tar 命令之后,当前目录中包含了一个新的文件 archive.tgz:

$ ls -l archive.tgz
-rw-r--r-- 1 mstreicher mstreicher 105470 Oct 13 17:16 archive.tgz

  现在,您可以将 archive.tgz 复制到另一台计算机,并在远程计算机上使用 tar 解压存档的内容。事实上,用来恢复文件的命令行与前面使用的命令行基本相同。要对这个存档进行解压,可以使用:

$ tar --extract --verbose --gunzip --preserve-permissions --file archive.tgz

  这个 tar 命令将解压 archive.tgz 压缩文件中的内容。--extract 选项与 --create 选项正好相反;--gunzip 与 --gzip 相反,而 --preserve-permissions 将重新创建原始文件的权限。

  在运行了这个命令之后,完整地恢复了所保存的文件,并保持了原来的时间戳、权限和文件名。同时,重新创建了名为 css 的目录,并将其中的内容压缩到了最初的位置。

  tar 实用程序具有许多选项:--create、--extract 和 --list(列出 .tar 文件的内容而不展开该文件)。其他的选项(如 --gzip 和 --preserve-permissions)用来控制 tar 如何创建存档。有关在您的 Unix 版本中每个选项更详细的信息和正确的语法,请参阅 tar 的 man 页面。

  创建存档、将其复制到目标、然后再解压缩,这种方法非常有用,但是可能比较费事。另外,如果存档非常大,您可能无法同时存储存档和解压后的文件。如果源和目标计算机之间通过 LAN 或 WAN 连接,那么为了节省时间,您可以组合使用 Secure Shell (SSH) 和 tar 命令,以将文件存档、复制和解压合并为一步操作。下面是完成这项工作的命令:

标签: