Come posso usare l'interfaccia della riga di comando di 7-Zip per Windows per creare archivi .tar.gz?


30

Come posso utilizzare l' interfaccia della riga di comando di 7-Zip ( 7za.exe ) su Windows per creare archivi .tgz, come utilizzo tar zcvf archive.tgz source_filessu Linux?

Risposte:


35

Se desideri farlo in una sola riga:

7za.exe a -ttar -so -an source_files | 7za.exe a -si archive.tgz

L' -anopzione indica a 7-Zip di non analizzare il parametro della riga di comando nome_archivio che è normalmente richiesto.


Nota: se non avete 7za.exe nella 7zip-cartella che si può anche utilizzare 7zg.exe se disponibile
anione

1
Nel mio caso, né 7za.exe né 7zg.exe erano presenti, ma 7z.exe era presente.
JoL

è richiesto tar perché becausa a tgz o tar.gz è un file tar che è stato compresso con gzip. 7zip semplicemente non ha la possibilità di fare tutto in un solo passaggio, quindi devi convogliare l'output del comando che mette i tuoi file in uno che gzips il tuo tar ^^. Questo è il motivo per cui quando si apre un file tar.gz in 7zip viene visualizzato un file tar all'interno.
DGoiko,

@DGoiko Conosco quella parte - non capivo perché il archive.tar nome file fosse richiesto quando i dati venivano trasmessi su stdout.
Afrazier

Oh, capisco. Pensavo che gz necessitasse del nome file interno per essere visualizzato correttamente, ma forse mi sbagliavo.
DGoiko,

5

Se stai solo comprimendo 1 file nel tarball, allora 7za a archive.tgz source_filefunzionerà.

Se si desidera aggiungere molti file al tar, è necessario farlo in due passaggi: Creare il tar 7za a archive.tar source_files Quindi comprimerlo7za a archive.tgz archive.tar

E, facoltativamente, elimina il tar "temporaneo" del archive.tar

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.