7z
如何使用 7z 通過管道進行壓縮?
我正在使用它來安全地創建備份(? - 它真的安全嗎?用一個好的密碼?):
# ENCRYPT ORIGDIR="DIRECTORYNAMEHERE"; tar cvf - "${ORIGDIR}/" 2>/dev/null | gzip -9 - 2>/dev/null | openssl aes-256-cbc -salt -out "${ORIGDIR}.tar.gz.aes" # DECRYPT openssl aes-256-cbc -d -salt -in "ENCDIRECTORYNAMEHERE" | tar -xz -f -
**問:**但是如何使用具有最大壓縮率的 7z 來做到這一點?
除了唯一的 OUTPUT 文件之外創建臨時文件並不好,因為如果我需要在 180 GByte FS 上壓縮 ~100 GByte 大小的文件/目錄,我將沒有足夠的可用空間(例如:壓縮文件需要 ~60千兆字節)。
您是否有理由要
7z
專門使用,或者您只是想要比 更好的壓縮gzip
?該實用程序使用與(LZMA)
xz
相同的壓縮算法,並允許與.7z``gzip
tar cvf ... | xz -9 | openssl ...
這在 7z 的手冊頁中有介紹:
-si Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)