TAR (.tar, .tgz, .tb2, .tbz2, .tar.gz, .tar.bz2)
Background & Context
-
- MIME types: application/tar, application/x-tar
- TAR archive file format.
- Combines collections of files in a single archive.
- Popular on Unix systems.
- Often used in combination with compression utilities.
- The extensions .tgz, .tb2, and .tbz2 are supported for GZIP or BZIP2-compressed TAR files.
- TAR is an acronym derived from Tape Archive.
- Stores files sequentially and without using compression, while preserving file system information and directory structures.
- Does not support encryption or compression.
- Part of the POSIX.1-1998 and POSIX.1-2001 standards.
Import & Export
- When importing files from a TAR archive, the specific converter for each format will be used.
- Import["file.tar"] returns an expression of the form {"fn1", "fn2",…}, giving full path specifications for all files in "file.zip".
- Import["file.tar",elem] imports the specified element from a TAR file.
- Import["file.tar","fn"] extracts "fn" from the archive and imports it.
- Import["file.tar",{elem,suba,subb,…}] imports a subelement.
- Import["file.tar",{{elem1,elem2,…}}] imports multiple elements.
- Import["file","TAR"] or Import["file",{"TAR",elem,…}] imports any file as a TAR archive.
- Export["file.tar",expr,elem] creates a TAR archive by treating expr as specifying element elem.
- Export["file.tar",{expr1,expr2,…},{{elem1,elem2,…}}] treats each expri as specifying the corresponding elemi.
- Export["file.tar","fn"->expr] exports expr to a file and compresses it as a TAR archive, inferring the file format from the file extension of "fn".
- Export["file.tar","fn1"->expr1,"fn2"->expr2,…] exports multiple expressions to a TAR file archive.
- See the following reference pages for full general information:
-
Import, Export import from or export to a file CloudImport, CloudExport import from or export to a cloud object ImportString, ExportString import from or export to a string ImportByteArray, ExportByteArray import from or export to a byte array
Import Elements
- General Import elements:
-
"Elements" list of elements and options available in this file "Summary" summary of the file "Rules" list of rules for all available elements - The following can be used to select or specify individual files:
-
"FileNames" list of file names representing the contents of a TAR archive "filename" a single file "filename","format" a single file, taken to be in the specified format "filename","format",elem element elem from the specified file - Import by default uses the "FileNames" element for the TAR format.
- Import["file.tar","fn"] imports file "fn".
- Import["file.tar",All] imports an entire TAR archive.
- File names can include relative or absolute directory specifications and the abbreviated string patterns supported by StringMatchQ.
- Import["file.tar","dir/*.jpg"] imports all JPEG files from subdirectory dir.
- Export["file.tar","file1.gif"->expr1,"file2.txt"->expr2] creates an archive containing a GIF and a text file.
- Export["file",{expr1,expr2},{"TAR",{{"file1","GIF"},{"file2","Text"}}}] is equivalent to the above.
Examples
open all close allBasic Examples (1)
This creates a TAR file that contains a PNG file and a text file:
Export["test.tar", <|"photo.png" -> \!\(\*GraphicsBox[«3»]\), "description.txt" -> "picture of a coneflower"|>, "Rules" ];Importing a TAR archive gives the names of the files in the archive by default:
Import["test.tar"]Import all files using their default element:
Import["test.tar", "*"]Extract and import the PNG file:
Import["test.tar", "photo.png"]Extract and import all text files:
Import["test.tar", "*.txt"]Scope (1)
Export["test.tar", <|"photo.png" -> \!\(\*GraphicsBox[«3»]\), "b.fa" -> {"TTTCG", "GATAG"}, "c.col" -> {{0, 1, 1, 1}, {1, 0, 1, 1}, {1, 1, 0, 1}, {1, 1, 1, 0}}|>, "Rules" ];Import["test.tar", "Elements"]Extract available elements for one of the files in the TAR archive:
Import["test.tar", {"photo.png", "Elements"}]Import some elements from one of the files in the archive:
Import["test.tar", {"photo.png", {"ColorSpace", "Image"}}]Import the default element for multiple files with different formats:
Import["test.tar", "*"]Import Elements (1)
"FileNames" (1)
Get the names of all files in a TAR archive:
Export["test.tar", <|"photo.png" -> \!\(\*GraphicsBox[«3»]\), "description.txt" -> "picture of a coneflower"|>, "Rules" ];Import["test.tar", "FileNames"]This is also the default element:
Import["test.tar"]Properties & Relations (1)
data = <|"a.txt" -> StringJoin[ConstantArray[ExampleData[{"Text", "DeclarationOfIndependence"}], 3]], "b.txt" -> StringJoin[ConstantArray[ExampleData[{"Text", "AliceInWonderland"}], 5]]|>;Compare ZIP, TARGZ, TARBZ2 and TARZST compression to the uncompressed size:
formats = {"Text", "ZIP", {"GZIP", "TAR"}, {"BZIP2", "TAR"}, {"ZSTD", "TAR"}};
BarChart[ByteCount[ExportString[data, #]]& /@ formats, ...]Compare ZIP, TARGZ, TARBZ2 and TARZST compression speeds:
formats = {"ZIP", {"GZIP", "TAR"}, {"BZIP2", "TAR"}, {"ZSTD", "TAR"}};
BarChart[Round[First[AbsoluteTiming[ExportString[data, #]]], .001]& /@ formats, ChartLabels -> Placed[{"ZIP", "TARGZ", "TARBZ2", "TARZST"}, Above], LabelingFunction -> Bottom, Ticks -> None]Related Guides
History
Introduced in 2007 (6.0) | Updated in 2017 (11.2)