[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
NUL
-Terminated File NamesThe ‘--null’ option causes
‘--files-from=file-of-names’ (‘-T file-of-names’)
to read file names terminated by a NUL
instead of a newline, so
files whose names contain newlines can be archived using
‘--files-from’.
Only consider NUL
-terminated file names, instead of files that
terminate in a newline.
Undo the effect of any previous ‘--null’ option.
The ‘--null’ option is just like the one in GNU
xargs
and cpio
, and is useful with the
‘-print0’ predicate of GNU find
. In
tar
, ‘--null’ also disables special handling for
file names that begin with dash (similar to
‘--verbatim-files-from’ option).
This example shows how to use find
to generate a list of files
larger than 800 blocks in length and put that list into a file called
‘long-files’. The ‘-print0’ option to find
is just
like ‘-print’, except that it separates files with a NUL
rather than with a newline. You can then run tar
with both the
‘--null’ and ‘-T’ options to specify that tar
gets the
files from that file, ‘long-files’, to create the archive
‘big.tgz’. The ‘--null’ option to tar
will cause
tar
to recognize the NUL
separator between files.
$ find . -size +800 -print0 > long-files $ tar -c -v --null --files-from=long-files --file=big.tar
The ‘--no-null’ option can be used if you need to read both
NUL
-terminated and newline-terminated files on the same command line.
For example, if ‘flist’ is a newline-terminated file, then the
following command can be used to combine it with the above command:
$ find . -size +800 -print0 | tar -c -f big.tar --null -T - --no-null -T flist
This example uses short options for typographic reasons, to avoid very long lines.
GNU tar
is tries to automatically detect NUL
-terminated file
lists, so in many cases it is safe to use them even without the
‘--null’ option. In this case tar
will print a
warning and continue reading such a file as if ‘--null’ were
actually given:
$ find . -size +800 -print0 | tar -c -f big.tar -T - tar: -: file name read contains nul character
The null terminator, however, remains in effect only for this particular file, any following ‘-T’ options will assume newline termination. Of course, the null autodetection applies to these eventual surplus ‘-T’ options as well.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on August 23, 2023 using texi2html 5.0.