Tar
兩個 tar 命令 -cf 和 -Jchf 之間的區別
我有一個在兩個地方執行的 python 腳本,兩個不同但相似的命令:
os.system("tar cf - -C %s . 2>/dev/null 3>/dev/null | 7za a -p%s -si %s 1>/dev/null 2>/dev/null 3>/dev/null" % (cf, self.config.get(jn, "archpass"), filename)) os.system("tar -Jchf - -C %s . 2>/dev/null 3>/dev/null | 7za a -p%s -si %s 1>/dev/null 2>/dev/null 3>/dev/null" % (cf, self.config.get(jn, "archpass"), filename))
此腳本用於備份 Ubuntu 伺服器上的網站。所以大部分文件都是html/php/js/jpg。我需要更多地理解這個命令,以便了解是否有改進的地方。
問題1)
tar cf
:和之間有什麼區別tar -Jchf
。不幸tar --help
的是並沒有幫助我理解附加-Jf
參數。問題 2) tar 是否也在歸檔?將所有內容髮送到的目的可能是什麼
7za
?它是在做雙重歸檔嗎?
命令的實際區別在於
Jh
開關,此處描述(來自man tar
):-h, --dereference Follow symlinks; archive and dump the files they point to. -J, --xz Filter the archive through xz(1).
因此,您強制使用符號連結壓縮存檔
xz
並遵循符號連結,而不是歸檔連結本身。