
基本上我想創建資料夾結構的 tar 映像,但不儲存實際的檔案內容。因此,當我解壓縮檔案時,我想取得原始資料夾、檔案名稱、時間戳記等,但所有零長度檔案而不是原始檔案內容。
這裡的目的是捕獲巨大資料夾(大小為千兆位元組)的資料夾結構,而不創建多千兆位元組的 tar 檔案。
提前致謝。
答案1
如果你cp
是夠強大, 你可以這樣做:
cp -a --attributes-only olddir newdir
哪裡newdir
還不存在並且--attributes-only
意味著
僅將來源檔案的指定屬性複製到目標。 […]
這不會複製資料;常規文件的newdir
大小為零。請注意,您需要成為 root 才能複製所有屬性(例如所有權),因此也許您需要sudo cp …
.相反,-a
您可以使用更具體的選項來僅複製您真正需要的屬性。
無論如何,在創建newdir
包含空文件後,只需tar
此目錄而不是olddir
.
答案2
star
18 年來一直支持這個......試試:
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 的一部分。