建立儲存檔案名稱但不儲存檔案內容的 tar 文件

建立儲存檔案名稱但不儲存檔案內容的 tar 文件

基本上我想創建資料夾結構的 tar 映像,但不儲存實際的檔案內容。因此,當我解壓縮檔案時,我想取得原始資料夾、檔案名稱、時間戳記等,但所有零長度檔案而不是原始檔案內容。

這裡的目的是捕獲巨大資料夾(大小為千兆位元組)的資料夾結構,而不創建多千兆位元組的 tar 檔案。

提前致謝。

答案1

如果你cp夠強大, 你可以這樣做:

cp -a --attributes-only olddir newdir

哪裡newdir還不存在並且--attributes-only意味著

僅將來源檔案的指定屬性複製到目標。 […]

這不會複製資料;常規文件的newdir大小為零。請注意,您需要成為 root 才能複製所有屬性(例如所有權),因此也許您需要sudo cp ….相反,-a您可以使用更具體的選項來僅複製您真正需要的屬性。

無論如何,在創建newdir包含空文件後,只需tar此目錄而不是olddir.

答案2

star18 年來一直支持這個......試試:

star -c -dump -meta ... | star -tv

這將所有條目列為“m”eta 類型檔案...

star -c -dump -meta ... | star -C todir -xmeta

將所有檔案提取為 0 位元組大小的檔案。

star -c -dump -meta ... | star -C todir -xmeta -force-hole

將所有文件提取為原始大小的文件,不含資料(稀疏文件)。

star是 schilytools 的一部分。

相關內容