System Administration Guide: Devices and File Systems

ProcedureHow to Copy Directories Between File Systems (cpio)

  1. Become superuser or assume an equivalent role.

  2. Change to the appropriate directory.


    # cd filesystem1
    
  3. Copy the directory tree from filesystem1 to filesystem2 by using a combination of the find and cpio commands.


    # find . -print -depth | cpio -pdm filesystem2
    
    .

    Starts in the current working directory.

    -print

    Prints the file names.

    -depth

    Descends the directory hierarchy and prints file names from the bottom up.

    -p

    Creates a list of files.

    -d

    Creates directories as needed.

    -m

    Sets the correct modification times on directories.

    For more information, see cpio(1).

    The files from the directory name you specify are copied. The symbolic links are preserved.

    You might also specify the -u option. This option forces an unconditional copy. Otherwise, older files do not replace newer files. This option might be useful if you want an exact copy of a directory, and some of the files being copied might already exist in the target directory.

  4. Verify that the copy was successful by displaying the contents of the destination directory.


    # cd filesystem2
    # ls
    
  5. If appropriate, remove the source directory.


    # rm -rf filesystem1
    

Example 29–3 Copying Directories Between File Systems (cpio)


# cd /data1
# find . -print -depth | cpio -pdm /data2
19013 blocks
# cd /data2
# ls
# rm -rf /data1