Descending into Directories
===========================
_(This message will disappear, once this node revised.)_
Usually, `tar' will recursively explore all directories (either those
given on the command line or through the `--files-from=FILE-OF-NAMES'
(`-T FILE-OF-NAMES') option) for the various files they contain.
However, you may not always want `tar' to act this way.
The `--no-recursion' option inhibits `tar''s recursive descent into
specified directories. If you specify `--no-recursion', you can use
the `find' utility for hunting through levels of directories to
construct a list of file names which you could then pass to `tar'.
`find' allows you to be more selective when choosing which files to
archive; see Note:files for more information on using `find' with
`tar', or look.
`--no-recursion'
Prevents `tar' from recursively descending directories.
`--recursion'
Requires `tar' to recursively descend directories. This is the
default.
When you use `--no-recursion', GNU `tar' grabs directory entries
themselves, but does not descend on them recursively. Many people use
`find' for locating files they want to back up, and since `tar'
_usually_ recursively descends on directories, they have to use the
`! -d' option to `find' as they usually do not want all the files in a
directory. They then use the `--files-from=FILE-OF-NAMES' (`-T
FILE-OF-NAMES') option to archive the files located via `find'.
The problem when restoring files archived in this manner is that the
directories themselves are not in the archive; so the
`--same-permissions' (`--preserve-permissions', `-p') option does not
affect them--while users might really like it to. Specifying
`--no-recursion' is a way to tell `tar' to grab only the directory
entries given to it, adding no new files on its own.
The `--no-recursion' option also applies when extracting: it causes
`tar' to extract only the matched directory entries, not the files
under those directories.
The `--no-recursion' option also affects how exclude patterns are
interpreted (Note:controlling pattern-patching with exclude).