命令列中的備份和 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

將您的錯誤通過谷歌翻譯後,問題(顯然)是權限問題。下次,請翻譯錯誤訊息,或者更好的是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 球的路徑:

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

或者,更好的是,根本不這樣cd/usr

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

相關內容