Unix/Linux Go Back    


OSX 10.6.2 - man page for ditto (osx section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


DITTO(1)			   BSD General Commands Manual				 DITTO(1)

NAME
     ditto -- copy directory hierarchies, create and extract archives

SYNOPSIS
     ditto [-v] [-V] [-X] [<options>] src ... dst_directory
     ditto [-v] [-V] [<options>] src_file dst_file
     ditto -c [-z | -j | -k] [-v] [-V] [-X] [<options>] src dst_archive
     ditto -x [-z | -j | -k] [-v] [-V] [<options>] src_archive ... dst_directory
     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 dst_file pathname.

     The next two forms reflect ditto's ability to create and extract archives.  These archives
     can be either CPIO format (preferred for unix content) or PKZip (for Windows compatibility).
     src_archive (and dst_archive) 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 tra-
     verses 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, sockets, and files with
     names beginning with .nfs or .afpDeleted will be ignored.	ditto does not modify the mode,
     owner, group, extended attributes, or ACLs of existing directories in the destination.
     Files and symbolic links cannot overwrite 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 pre-
     serves file hard links (but not directory hard links) present in the source directories and
     preserves setuid and setgid modes when run as the superuser.

     ditto will preserve resource forks and HFS meta-data information when copying unless
     instructed otherwise using --norsrc .  Similarly, ditto will preserve extended attributes
     and Access Control Lists (ACLs) unless --noextattr or --noacl is passed.  DITTONORSRC can be
     set in the environment as an alias to --norsrc --noextattr --noacl 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.

     -j 	   Create compressed CPIO archives, using bzip2(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 ar-
		   chives should be stored in filenames ending in .zip.

     --keepParent  When creating an archive, embed the parent directory name src in dst_archive.

     --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 architectures (if they are present in the source file).  arch
		   should be specified as "i386", "x86_64", etc.

     --bom bom	   Copy only files, links, devices, and directories that are present in the spec-
		   ified BOM.

     --rsrc	   Preserve resource forks and HFS meta-data.  ditto will store this data in Car-
		   bon-compatible ._ AppleDouble files on filesystems that do not natively sup-
		   port 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 over-
		   ride DITTONORSRC. Unless explicitly specified, --norsrc also implies
		   --noextattr and --noacl to match the behavior of Mac OS X 10.4.

     --extattr	   Preserve extended attributes (requires --rsrc). As of Mac OS X 10.5, --extattr
		   is the default.

     --noextattr   Do not preserve extended attributes (requires --norsrc).

     --qtn	   Preserve quarantine information.  As of Mac OS X 10.5, --qtn is the default.

     --noqtn	   Do not preserve quarantine information.

     --acl	   Preserve Access Control Lists (ACLs).  As of Mac OS X 10.5, --acl is the
		   default.

     --noacl	   Do not preserve ACLs.

     --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.

     --hfsCompression
		   When copying files or extracting content from an archive, if the destination
		   is an HFS+ volume that supports compression, all the content will be com-
		   pressed if appropriate. This is only supported on Mac OS X 10.6 or later, and
		   is only intended to be used in installation and backup scenarios that involve
		   system files. Since files using HFS+ compression are not readable on versions
		   of Mac OS X earlier than 10.6, this flag should not be used when dealing with
		   non-system files or other user-generated content that will be used on a ver-
		   sion of Mac OS X earlier than 10.6.

     --nohfsCompression
		   Do not compress files with HFS+ compression when copying or extracting content
		   from an archive unless the content is already compressed with HFS+ compres-
		   sion.  This flag is only supported on Mac OS X 10.6 or later.
		   --nohfsCompression is the default.

     --preserveHFSCompression
		   When copying files to an HFS+ volume that supports compression, ditto will
		   preserve the compression of any source files that were using HFS+ compression.
		   This flag is only supported on Mac OS X 10.6 or later.
		   --preserveHFSCompression is the default.

     --nopreserveHFSCompression
		   Do not preserve HFS+ compression when copying files that are already com-
		   pressed with HFS+ compression. This is only supported on Mac OS X 10.6 or
		   later.

     --sequesterRsrc
		   When creating a PKZip archive, preserve resource forks and HFS meta-data in
		   the subdirectory __MACOSX.  PKZip extraction will automatically find these
		   resources.

     --zlibCompressionLevel num
		   Sets the compression level to use when creating a PKZip archive. The compres-
		   sion level can be set from 0 to 9, where 0 represents no compression, and 9
		   represents optimal (slowest) compression. By default, ditto will use the
		   default compression level as defined by zlib.

     --password    When extracting a password-encrypted ZIP archive, you must specify --password
		   to allow ditto to prompt for a password to use to extract the contents of the
		   file. If this option is not provided, and a password-encrypted file is encoun-
		   tered, ditto will emit an error message.

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

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

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

     The command:
	   ditto --arch ppc universal_file thin_file
     copies the contents of universal_file into thin_file, 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:
	   ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
     will create a PKZip archive similarly to the Finder's Compress functionality.

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

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

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

     DITTONORSRC
		 If DITTONORSRC is set but --rsrc, --extattr, and --acl are not specified, ditto
		 will not preserve those additional types of metadata.

BUGS
     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 behav-
     ior.  --keepParent for non-archive copies will eventually alleviate this problem.

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

Mac OS X				December 19, 2008				 Mac OS X
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 12:35 PM.