tar {utils} | R Documentation |
Create a tar archive.
tar(tarfile, files = NULL, compression = c("none", "gzip", "bzip2", "xz"), compression_level = 6, tar = Sys.getenv("tar"))
tarfile |
The pathname of the tar file: tilde expansion (see
path.expand ) will be performed. Alternatively, a
connection that can be used for binary writes. |
files |
A character vector of filepaths to be archived: the default is to archive all files under the current directory. |
compression |
logical or character. The type of compression to be used. Can be abbreviated. |
compression_level |
integer: the level of compression. Only used for the internal method. |
tar |
character string: the path to the command to be used. |
This is either a wrapper for a tar
command or uses an
internal implementation in R. The latter is used if tarfile
is a connection or if the argument tar
is "internal"
or
""
.
Beware of portability considerations: the ‘tar’ format no
longer has an agreed standard (‘Unix Standard Tar’ was part of
POSIX 1003.1:1998 but has been removed in favour of pax
),
and in any case many common implementations diverged from the former
standard. Known problems arise from
tar
, and supported in one
way by POSIX tar
and in another by GNU tar
. The
internal implementation uses the POSIX way which supports up to 255
bytes (depending on the path), and warns on paths of more than 100
bytes.
tar
was developed on an OS that used
hard links, and physical files that were referred to more than one
in the list of files to be included were included only once, the
remaining instance being added as links. Later a means to include
symbolic links was added. The internal implementation supports
symbolic links (on OSes that support them), only. Of course, the
question arises as to how links should be unpacked on OSes that do
not support them: for files at least file copies can be used.
The internal implementation writes only the blocks of 512 bytes
required, unlike GNU tar
which by default pads with
nul to a multiple of 20 blocks (10KB). Implementations differ
to whether the block padding should occur before or after compression
(or both).
The internal implementation currently skips empty directories.
The return code from system
, invisibly.
http://en.wikipedia.org/wiki/Tar_(file_format),
http://www.opengroup.org/onlinepubs/009695399/utilities/pax.html#tag_04_100_13_06
for the way the POSIX utility pax
handles tar
formats.