2014-01-15 62 views
0

我正在搜索如何使每個文件壓縮歸檔。linux:如何壓縮每個文件在一個歸檔tar/cpio/...其他

例如:fic1.txt fic2.log fic3.srt

我想打一個檔案「fics.tar」與單獨壓縮到它的每個文件,並更名文件。

歸檔文件應包含:fic1.txt.gz fic2.log.gz fic3.srt.gz

用tar /人/程序的cpio問題是,我們不能做到這一點直接,和我不不想在硬盤驅動器上壓縮文件(或其副本),它必須在內存中使用緩衝區完成,以便與管道一起使用。

serverX上的示例:./compress_and_tar fic1.txt fic2.log fic3.srt | ssh server1「tar -x」

結果:fic1.txt.gz fic2.log.gz fic3.srt.gz on server1,只有serverX上的硬盤讀數爲零,寫入。

你有什麼想法嗎? 謝謝

+0

你爲什麼要這樣做? –

+0

我需要通過SSH將文件從一臺服務器傳輸到另一臺服務器,但只有一個流程:只有一個連接到目標服務器(如果我打開1個文件連接,傳輸時間將會崩潰)。 文件必須在目標服務器上進行壓縮。這就是爲什麼我在**傳輸前執行壓縮**:文件較小=>傳輸時間減少了 但是,如果我在傳輸之前壓縮整個存檔,我必須解壓存檔,然後重新壓縮這些文件。 ..效率不高。 – user3197025

回答

0

使用更適合的存檔類型。 zip(更便攜)或7z(更好的壓縮)。這些格式總是分別壓縮每個成員。

+0

我不知道如何用zip或7zip做到這一點。它只是壓縮文件,並沒有存檔 我不想壓縮文件(zip/tar或其他),但壓縮文件並將壓縮文件壓縮 – user3197025

相關問題