Qual è la ragione per cui i file .tar.gz hanno due estensioni invece di una?


4

Da quello che ho capito questo tipo di file è un archivio proprio come i file RAR. Perché non c'è l'estensione .targz semplice e semplice? C'è più di un programma che sta creando questo tipo di file e ognuno sta aggiungendo la sua estensione al file risultante?

C'è qualche altro equivalente a questo tipo di file? È l'unica "doppia estensione" che ho visto fino ad ora. C'è qualche altro tipo di file come questo?

Risposte:


9

Qual è la ragione per cui i file .tar.gz hanno due estensioni invece di una?   Da quello che ho capito questo tipo di file è un archivio proprio come i file RAR.

Non proprio. Ritorniamo in giorni in cui il tempo della CPU era molto costoso. Gli archivi erano spesso non compressi o utilizzavano l'hardware di compressione su un'unità nastro. Lo strumento di solito usa per questo era t scimmia ar Erba cipollina.

A differenza di quanto sembra suggerire il nome, può scrivere l'archivio su qualsiasi file (e su Un * x un'unità nastro è proprio come un file). Quindi creare un archivio non compresso è facile.

Se vuoi comprimerlo, puoi prima creare l'archivio (con tutti i suoi file e cartelle) e poi comprimere il tuo file archive.tar con qualcosa di simile compress. Compress aggiunge un suffisso .Z in modo da avere un file con due estensioni. (Archive.tar.Z).

In time compress è stato sostituito con gzip (e con estensione .gz) e molte versioni di tar possono eseguire questa compressione.

Rar (e arj, lha, zip e altri) sono molto più moderni e comprimono i file sul posto. In tal caso, si utilizza un singolo programma e si ottiene una singola estensione. Ma per tar le estensioni e la creazione di un intero archivio e quindi la compressione dell'intero archivio sono il risultato della cronologia.


Quindi gli archivi RAR o gli archivi ZIP non incollano i file e quindi comprimono il mega-file risultante? Funzionano in modo diverso?
yoyo_fun

1
Molti di essi comprimono ciascun file e lo memorizzano nell'archivio. Tar memorizza tutti i file in un unico file e questo singolo flusso viene compresso. Ha delle conseguenze quando vuoi estrarre una parte di un archivio. Se la compressione è per file, è sufficiente estrarre le informazioni per quel file e decomprimerle. Con .tar.Z | tar.gz | tar.bz | ... potresti aver bisogno di tutte le informazioni fino al file che stai estraendo.
Hennes

Capisco il vantaggio di comprimere prima e 'archiviare dopo'. Tuttavia, c'è un vantaggio per l'archiviazione prima e la compressione successiva. Sto pensando che avere un file più grande da comprimere potrebbe essere molto più efficiente di dover comprimere singoli file. Sto pensando ora alla compressione di huffman e, se ricordo bene, è più efficiente comprimere file o documenti più grandi o ... più dati che meno dati. Non sono sicuro però ... potrei sbagliarmi.
yoyo_fun

Questa è anche la mia comprensione; avere un set di dati più grande da comprimere dovrebbe consentire una migliore compressione totale. Se ho capito bene, allora è ancora un compromesso tra una estrazione più semplice dei file singoli e una dimensione dell'archivio leggermente più efficiente.
Hennes

3

Perché è un tar file compresso con gzip.

Il metodo di creazione è: tar a archive.tar dir/myfile

Poi gzip archive.tar, che produce tar.gz per impostazione predefinita.

Nei bei vecchi DOS giorni l'estensione era .tgz.


2

È un residuo dei vecchi giorni * Nix. . Tar è un tape archive. 'Tarballing' ha creato un file con più file e / o cartelle, il che ha reso più efficiente il loro trasferimento su nastro. Non è stato fino a tardi, che la compressione di quei file è diventato lo standard. Da qui il .tar.gz.


1

tar sta per tarball e archivio (quindi palla ) (rende più file in uno), e gz sta per gunzip e impacchi (o cerniere ) (riduce la dimensione del) file.


Un altro metodo di compressione (alternativo a Gunzip) è bzip2 che utilizza un algoritmo diverso per la compressione. Significa che potresti incontrarti .tar.bz2 (o anche la sua forma concatenata .tbz ) anche.

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.