2013-10-30 46 views
1

我在UNIX中使用tar命令執行特定目錄的備份。但是,某些目錄包含當前用戶沒有任何讀取權限的文件/子目錄。結果tar命令返回非0退出代碼。添加--ignore-failed-read到tar導致「未知函數修飾符」錯誤

我在man pages'--ignore-failed-read'中遇到以下修飾符,它在遇到無法讀取的文件時會抑制非0退出代碼。但是,每當我嘗試使用它時,都會收到錯誤「未知函數修飾符」。

有人能幫我一下嗎?

我的tar命令看起來是這樣的:

tar --create --ignore-failed-read --file=test.tar my_dir 
+0

這不是一個好的問題stackoverflow。它已被標記,所以希望它會被轉移到更適合您的SE網站。 – Chilledrat

+0

你可以嘗試'tar --ignore-failed-read -cf test.tar my_dir',它可能只是參數的順序。 – Lohrun

回答

4

你的命令似乎是非常有效的,我看不出有任何錯字/錯誤。 爲了絕對確定,我只是在我的虛擬機上運行,​​在32位Debian 7.1(wheezy)下運行,內核爲3.2.0.4。據我懷疑,檔案已成功創建(唯一的變化是,當然,源目錄的名稱)。我也檢查了我的tar版本與

tar --version 

這給了我下面的輸出:

所有的
tar (GNU tar) 1.26 

首先,你應該檢查這個信息。如果你得到相同的結果(版本號可能不同),那很好。如果沒有(或者看起來比較老的版本),那麼可能你正在使用tar,它不支持這個功能。

此外,你可以檢查,如果你的焦油真的支持提到的國旗。要做到這一點,類型到控制檯:

tar --help | grep ignore-failed-read 

您應該看到這樣的事情:

--ignore-failed-read do not exit with nonzero on unreadable files 

如果輸出保持爲空,這意味着該版本的tar不知道該標誌在所有。

看看是否有任何上述的幫助。

+0

感謝您的回覆,我使用的系統上的tar版本不支持此修飾符......不幸的是! – user1896168

相關問題