命令行中的备份和 tar 问题

命令行中的备份和 tar 问题

我正在学习 Linux 基金会的 Linux 认证,但对一个实验室有一些疑问。以下是该实验室:

创建一个名为 backup 的目录,并在其中放置 /usr/include 下所有文件的压缩 tar 存档,最高级别的目录是 include。您可以使用任何压缩方法(gzip、bzip2 或 xzip)。

我开始mkdir backup然后tar -C /usr -zcf include.tar.gz include

harrydevries@harrydevries-410-100nd:/usr$ tar -C /usr -zcf include.tar.gz include
tar (child): include.tar.gz: Functie open() is mislukt: Toegang geweigerd
tar (child): Error is not recoverable: exiting now

有人能帮忙吗?我正在使用 Ubuntu 14.04 Harry de Vries

答案1

将您的错误通过 Google 翻译后,问题(显然)是权限问题。下次,请翻译错误消息,或者 — 更好的是 — 将其添加LC_ALL=C到您运行的任何命令前面,以便错误可以以英文显示。

无论如何,错误是:

$ cd /usr ; tar zcvf include.tar.gz include
tar (child): include.tar.gz: Cannot open: Permission denied
tar (child): Error is not recoverable: exiting now
include/
include/cairomm-1.0/
include/cairomm-1.0/cairomm/
include/cairomm-1.0/cairomm/win32_surface.h
include/cairomm-1.0/cairomm/surface.h

这是因为您尝试从目录运行此程序/usr,并指定/usr也应在其中创建存档。为了避免这种情况,请为 tar ball 指定一个路径:

mkdir ~/backup; cd /usr ; tar zcvf ~/backup/include.tar.gz include

或者更好的是,根本不cd要这样做/usr

mkdir ~/backup; tar zcvf ~/backup/include.tar.gz /usr/include

相关内容