In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, a file archiver is
utility software
Utility software is a program specifically designed to help manage and tune system or application software. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that b ...
that combines
files into a single
archive file
In computing, an archive file stores the content of one or more files, possibly compressed, with associated metadata such as file name, directory structure, error detection and correction information, commentary, compressed data archives, sto ...
or in less common cases, multiple files.
A minimally designed archiver might concatenate the content of files along with file
name
A name is a term used for identification by an external observer. They can identify a class or category of things, or a single thing, either uniquely, or within a given context. The entity identified by a name is called its referent. A person ...
and length. A more advanced archiver stores additional
metadata
Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive ...
, such as the
timestamps,
file attribute
File attributes are a type of metadata that describe and may modify how files and/or directories in a filesystem behave. Typical file attributes may, for example, indicate or specify whether a file is visible, modifiable, compressed, or encrypte ...
s and access control information. An archiver might
compress input file content to reduce the size of the resulting archive.
The process of making an archive file is called ''archiving'' or ''packing''. Reconstructing the original files from an archive is called ''unarchiving'', ''unpacking'' or ''extracting''.
Multics
In the early days of computing,
Multics
Multics ("MULTiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
provided the command a basic archiver without compression that descended from the
CTSS command of the same name. Multics also provided a
magnetic tape
Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use magnetic ...
archiver command, , which was perhaps the forerunner of the Unix command .
Unix
As the
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
archive tools
ar,
tar, and
cpio
cpio is a general file archiver utility and its associated file format. It is primarily installed on Unix-like computer operating systems. The software utility was originally intended as a tape archiving program as part of the Programmer's Work ...
do not provide compression, other tools, such as
gzip
gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and ...
,
bzip2
bzip2 is a free and open-source file compression program that uses the Burrows–Wheeler algorithm. It only compresses single files and is not a file archiver. It relies on separate external utilities such as tar for tasks such as handli ...
, or
xz, are used to compress an archive file after it is created and to decompress before extracting.
Not only does separating archiving from compressing follow the
Unix philosophy
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to Minimalism (computing), minimalist, Modularity (programming), modular software development. It is based on the experience of leading devel ...
that each tool should provide a single capability; not attempt to accomplish everything with one tool, it has the following advantages:
* As compression technology progresses, users may use a different compression tool without having to change how they use the archiver.
*
Solid compression
In computing, solid compression is a method for data compression of multiple files, wherein all the uncompressed files are concatenated and treated as a single data block. Such an archive is called a solid archive. It is used natively in the 7z a ...
allows the compressor to take advantage of redundancy across the multiple archived files in order to achieve better compression than simply compressing each file individually.
Disadvantages include:
* Extracting a single file requires decompressing the entire file, which can be costly in terms of time and storage space; adding a file to an existing archive requires both decompression and recompression.
* The archive becomes damage-prone; corruption in any part of the file might cause all files to be lost.
A challenge:
* Compression cannot take advantage of redundancy between files unless the compression window is larger than the size of an individual file; for example, gzip uses
DEFLATE, which typically operates with a 32768-byte window, whereas bzip2 uses a
Burrows–Wheeler transform
The Burrows–Wheeler transform (BWT) rearranges a character string into runs of similar characters, in a manner that can be reversed to recover the original string. Since compression techniques such as move-to-front transform and run-length enc ...
roughly 27 times bigger; xz defaults to 8 MiB but supports significantly larger windows.
Generally,
extensions
Extension, extend or extended may refer to:
Mathematics
Logic or set theory
* Axiom of extensionality
* Extensible cardinal
* Extension (model theory)
* Extension (proof theory)
* Extension (predicate logic), the set of tuples of values t ...
are successively added to the file name to indicate the operations performed and therefore required to read a file. For example, archiving with command and then compressing with command might be indicated with the
.tar.gz
extension.
Windows
Archiving tools on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
tend to have a
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(GUI) and to include compression including the built-in Windows feature as well as commonly used, third-party tools such as
WinRAR
WinRAR is a trialware file archiver utility, developed by Eugene Roshal of win.rar GmbH. It can create and view archives in RAR or ZIP file formats, and unpack numerous archive file formats. To enable the user to test the integrity of archive ...
and
7-Zip
7-Zip is a free and open-source file archiver, a utility used to place groups of files within compressed containers known as "archives". It is developed by Igor Pavlov and was first released in 1999. 7-Zip has its own Archive file, archive forma ...
. Unlike the built-in feature, WinRAR and 7-zip also provide a
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
(CLI) and
solid compression
In computing, solid compression is a method for data compression of multiple files, wherein all the uncompressed files are concatenated and treated as a single data block. Such an archive is called a solid archive. It is used natively in the 7z a ...
.
See also
*
Comparison of file archivers
The following tables compare general and technical information for a number of file archivers. Please see the individual products' articles for further information. They are neither all-inclusive nor are some entries necessarily up to date. Unless ...
*
Archive format
In computing, an archive file stores the content of one or more computer file, files, possibly lossless compression, compressed, with associated metadata such as file name, directory structure, error detection and correction information, commentary ...
*
List of archive formats
This is a list of file formats used by file archiver, archivers and data compression, compressors used to create Archive file, archive files.
Archive formats by purpose
Archive formats are used for backups, mobility, and archiving. Many archive ...
*
Comparison of archive formats
References
{{DEFAULTSORT:File Archiver
Computer storage systems
Computer file systems
Computer archives
Utility software types