我有一個Unix服務器上的目錄,我需要壓縮(遞歸,包括所有文件和目錄)到一個存檔文件,我可以FTP到我的Windows盒子。我需要保持目錄/文件結構。如何將目錄壓縮到AIX上不存在tar z的存檔文件?
所有幫助我能找到的說,使用類似
tar -cvfz myarchive.tar.gz /path/dirtocompress
,但我沒有「z」的選項可用 - 如果我只是在控制檯輸入tar
,它給我的使用細節,但有沒有「z」選項。如果我在沒有「z」的情況下嘗試上述命令,它將在沒有壓縮的情況下運行 - 但文件會被截斷,因爲我的主目錄中沒有足夠的空間來存儲未壓縮的文件(可用空間由I無法控制,而不是沒有足夠的可用磁盤空間)。如果我用「z」運行它,我只是將「tar用法」輸出到控制檯,表明它不理解它。
我也試着將輸出重定向到gzip壓縮:
tar cvf - /path/dirtocompress | gzip > myarchive.tar.gz
這將壓縮的目錄到一個檔案文件裏面我的主文件夾適合,但不保留路徑結構,所以我最終與檔案的根目錄中的所有文件和目錄。
我沒有選擇在Unix服務器上安裝任何東西,比如不同版本的tar。
如果這是Windows,我只能壓縮目錄,它會創建一個歸檔,遞歸地包含所有文件和文件夾並保留路徑結構。如何使用上述約束在Unix上實現這一點?
'tar cvf' *應該*創建一個包含目錄的tar文件。如果你運行'zcat archive.tar.gz | tar tvf -',輸出是否包含路徑? – patrix
如果我運行命令,得到'tar:意外的文件結束',因爲它在創建時沒有壓縮(因爲主文件夾空間限制)而被截斷。 – user5639117
錯誤,我建議的命令只是列出壓縮的tar文件的內容(如'ls -l')。如果出現此錯誤,tar文件本身可能已損壞。 – patrix