MyWebUniversity.com Home Page
 



Darwin Mac OS X man pages main menu
DITO(1)                  BSD General Commands Manual                 DITO(1)

NAME
     ditto -- copy files and directories to a destination directory

SYNOPSIS
     ditto [-v] [-V] [-X] [] src ... dstdirectory
     ditto [-v] [-V] [] srcfile dstfile
     ditto -c [-z  -k] [-v] [-V] [-X] [] src dstarchive
     ditto -x [-z  -k] [-v] [-V] [] srcarchive ... dstdirectory
     ditto -h  --help

DESCRIPTION
     In its first form, ditto copies one or more source files or directories
     to a destination directory.  If the destination directory does not exist
     it will be created before the first source is copied.  If the destination
     directory already exists then the source directories are merged with the
     previous contents of the destination.

     In its second form, ditto copies a file to the supplied dstfile path-
     name.

     The next two forms reflect ditto's ability to create and extract ar-
     chives.  These archives can be either CPIO format (preferred for unix
     content) or PKZip (for Windows compatibility).  srcarchive (and
     dstarchive) can be the single character '-', causing ditto to read
     (write) archive data from stdin (or to stdout, respectively).

     ditto follows symbolic links provided as arguments but does not follow
     any links as it traverses the source or destination hierarchies.  ditto
     overwrites existing files, symbolic links, and devices in the destination
     when these are copied from a source.  The resulting files, links, and
     devices will have the same mode, access time, modification time, owner,
     and group as the source items from which they are copied.  Pipes, sock-
     ets, and files with names beginning with .nfs or .afpDeleted will be
     ignored.  ditto does not modify the mode, owner, or group of existing
     directories in the destination.  Files and symbolic links cannot over-
     write directories or vice-versa.

     ditto can be used to "thin" Universal Mach-O binaries during a copy.
     ditto can also copy files selectively based on the contents of a BOM
     ("Bill of Materials") file.  ditto preserves hard links present in the
     source directories and preserves setuid and setgid modes.

     ditto will preserve resource forks and HFS meta-data information when
     copying unless instructed otherwise using --norsrc .  DITONORSRC can be
     set in the environment as an alias to --norsrc on the command line.

OPTIONS
     -h            print full usage

     -v            print a line of output to stderr for each source directory
                   copied.

     -V            print a line of output to stderr for every file, symbolic
                   link, and device copied.

     -X            when copying one or more source directories, do not descend
                   into directories that have a different device ID.

     -c            create an archive at the destination path.  The default
                   format is CPIO, unless -k is given.  CPIO archives should
                   be stored in files with names ending in .cpio.  Compressed
                   CPIO archives should be stored in files with names ending
                   in .cpgz.

     -z            create compressed CPIO archives, using gzip(1) compression.

     -x            extract the archives given as source arguments. The format
                   is assumed to be CPIO, unless -k is given.  Compressed CPIO
                   is automatically handled.

     -k            create or extract from a PKZip archive instead of the
                   default CPIO.  PKZip archives should be stored in filenames
                   ending in .zip.

     --keepParent  when creating an archive, embed the parent directory name
                   src in dstarchive.

     --arch arch   Thin Universal binaries to the specified architecture.  If
                   multiple --arch options are specified then the resulting
                   destination file will contain each of the specified archi-
                   tectures (if they are present in the source file).  arch
                   should be specified as "ppc", "ppc64", "i386", etc.

     --bom bom     copy only files, links, devices, and directories that are
                   present in the specified BOM.

     --rsrc        preserve resource forks and HFS meta-data.  ditto will
                   store this data in Carbon-compatible . AppleDouble files
                   on filesystems that do not natively support resource forks.
                   As of Mac OS X 10.4, --rsrc is default behavior.

     --norsrc      do not preserve resource forks and HFS meta-data.  If both
                   --norsrc and --rsrc are passed, whichever is passed last
                   will take precedence.  Both options override DITONORSRC.

     --sequesterRsrc
                   when creating a PKZip archive, preserve resource forks and
                   HFS meta-data in the subdirectory MACOSX.  PKZip extrac-
                   tion will automatically find these resources.

     --nocache     do not perform copies using the Mac OS X Unified Buffer
                   Cache. Files read and written will not be cached, although
                   if the file is already present in the cache, the cached
                   information will be used.

EXAMPLES
     The command:
           ditto srcdirectory dstdirectory
     copies the contents of srcdirectory into dstdirectory, creating
     dstdirectory if it does not already exist.

     The command:
           ditto srcdirectory dir/dstdirectory
     copies the contents of srcdirectory into dir/dstdirectory, creating dir
     and dstdirectory if they don't already exist.

     The command:
           ditto src-1 ... src-n dstdirectory
     copies the contents of all of the src directories into dstdirectory,
     creating dstdirectory if it does not already exist.

     The command:
           ditto --arch ppc universalfile thinfile
     copies the contents of universalfile into thinfile, thinning executable
     code to ppc-only on the fly.

     The command:
           ditto -c --norsrc Scripts -ssh rhost ditto -x --norsrc - ./Scripts
     copies Scripts, skipping any resources or meta-data, to rhost.

     The command:
           pax -f archive.cpio
     will list the files in the CPIO archive archive.cpio.

     The command:
           pax -zf archive.cpgz
     will list the files in the compressed CPIO archive archive.cpgz.

     The command:
           unzip -l archive.zip
     will list the files in the PKZip archive archive.zip.

ERORS
     ditto returns 0 if everything is copied, otherwise non-zero.  ditto
     almost never gives up, preferring to report errors along the way.  Diag-
     nostic messages will be printed to standard error.

ENVIRONMENT
     DITOABORT  If the environment variable DITOABORT is set, ditto will
                 call abort(3) if it encounters a fatal error.

     DITONORSRC
                 If DITONORSRC is set and -rsrc is not specified, ditto will
                 behave as if --norsrc was specified.

BUGS
     ditto does not preserve file flags (see chflags(1)) including uchg, which
     corresponds to "locked" elsewhere in the system.  ditto does not copy
     pipes; it should.  ditto cannot copy multiple sources into a CPIO archive
     (this is not expected for PKZip).

     ditto doesn't copy directories into directories in the same way as cp(1).
     In particular,
           ditto foo bar
     will copy the contents of foo into bar, whereas
           cp -r foo bar
     copies foo itself into bar. Though this is not a bug, some may consider
     this bug-like behavior.  --keepParent for non-archive copies will eventu-
     ally alleviate this problem.

SEE ALSO
     bom(5), lsbom(8), mkbom(8), cpio(1), zip(1), gzip(1), tar(1).

Mac OS X                         May 24, 2004                         Mac OS X
Darwin Mac OS X man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™