Linux
tar 中有很多“._”文件
我有一個在 linux 機器上生成的 tar。我需要將該 tar 的一部分上傳到另一台 linux 機器。完整的 tar 文件很大,需要數小時才能上傳。我現在在 Mac OSX 機器上,這是我的問題:
- 我將 tar 提取到一個文件夾並找到我需要上傳到新伺服器的內容
- 我創建了一個較小的 tar,其中包含我想要上傳的內容。
- 我將其上傳並提取到新的 linux 機器
- 當我查看伺服器時,它充滿了
._
文件。對於每個上傳的文件,都有一個._
文件,例如text1.txt
,._text1.txt
,text2.txt
,._text2.txt
…OSX 在 tar 中包含這些文件。
我試過這樣做
tar --exclude='._*' -cvf newTar .
沒有區別。
我現在沒有對新伺服器的 ssh 訪問權限。
我能做些什麼來解決這個問題?如何生成乾淨的焦油。
據我了解,
tar --exclude='._*' -cvf newTar .
應該可以工作:Finder 創建._*
文件但newTar
不應該包含它們。但是您可以通過在直通模式下呼叫 tar 來完全繞過這些文件。例如,要僅複製 下的文件
oldTar
,請some/path
使用tar -cf newTar --include='some/path/*' @oldTar
._ 文件是 OS X
bsdtar
處理 OS X 特定的擴展屬性和資源分支的方式。(這是一種稱為 AppleDouble 的機制,實際上它不僅僅適用於 TAR 檔案,它存在於幾種儲存格式中,其中沒有保存 MacOS 資源分支和 Finder 資訊的本機機制。)為了防止它們被添加到您的 tar 文件中,您可以將
COPYFILE_DISABLE=1
它們作為環境變數傳遞給 tar。
COPYFILE_DISABLE=1 tar cf newTar.tar /your/files