Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

System Administration Guide: Devices and File Systems
Previous Next

Copying Files to Tape With the cpio Command

How to Copy All Files in a Directory to a Tape (cpio)

  1. Change to the directory that contains the files you want to copy.
  2. Insert a write-enabled tape into the tape drive.
  3. Copy the files to tape.
    $ ls | cpio -oc > /dev/rmt/n
    ls

    Provides the cpio command with a list of file names.

    cpio -oc

    Specifies that the cpio command should operate in copy-out mode (-o) and write header information in ASCII character format (-c). These options ensure portability to other vendors' systems.

    > /dev/rmt/n

    Specifies the output file.

    All files in the directory are copied to the tape in the drive you specify, overwriting any existing files on the tape. The total number of blocks that are copied is shown.

  4. Verify that the files have been copied to tape.
    $ cpio -civt < /dev/rmt/n
    -c

    Specifies that the cpio command should read files in ASCII character format.

    -i

    Specifies that the cpio command should operate in copy-in mode, even though the command is only listing files at this point.

    -v

    Displays the output in a format that is similar to the output from the ls -l command.

    -t

    Lists the table of contents for the files on the tape in the tape drive that you specify.

    < /dev/rmt/n

    Specifies the input file of an existing cpio archive.

  5. Remove the tape from the drive. Write the names of the files on the tape label.
Example 29-8 Copying All Files in a Directory to a Tape (cpio)

The following example shows how to copy all of the files in the /export/home/kryten directory to the tape in tape drive 0.

$ cd /export/home/kryten
$ ls | cpio -oc > /dev/rmt/0
16 blocks
$ cpio -civt < /dev/rmt/0
-rw-r--r--    1 root     other          0 Jul 28 14:59 2004, filea
-rw-r--r--    1 root     other          0 Jul 28 14:59 2004, fileb
-rw-r--r--    1 root     other          0 Jul 28 14:59 2004, filec
drwxr-xr-x    2 root     other          0 Jul 28 14:59 2004, letters
drwxr-xr-x    2 root     other          0 Jul 28 15:00 2004, reports
16 blocks
$

How to List the Files on a Tape (cpio)


Note - Listing the table of contents on a tape takes a long time because the cpio command must process the entire archive.


  1. Insert an archive tape into the tape drive.
  2. List the files on the tape.
    $ cpio -civt < /dev/rmt/n
Example 29-9 Listing the Files on a Tape (cpio)

The following example shows how to list the files on the tape in drive 0.

$ cpio -civt < /dev/rmt/0
-rw-r--r--    1 root     other          0 Jul 28 14:59 2004, filea
-rw-r--r--    1 root     other          0 Jul 28 14:59 2004, fileb
-rw-r--r--    1 root     other          0 Jul 28 14:59 2004, filec
drwxr-xr-x    2 root     other          0 Jul 28 14:59 2004, letters
drwxr-xr-x    2 root     other          0 Jul 28 15:00 2004, reports
16 blocks
$

How to Retrieve All Files From a Tape (cpio)

If the archive was created using relative path names, the input files are built as a directory within the current directory when you retrieve the files. If, however, the archive was created with absolute path names, the same absolute paths are used to re-create the file on your system.


Caution - The use of absolute path names can be dangerous because you might overwrite existing files on your system.


  1. Change to the directory where you want to put the files.
  2. Insert the tape into the tape drive.
  3. Extract all files from the tape.
    $ cpio -icvd < /dev/rmt/n
    -i

    Extracts files from standard input.

    -c

    Specifies that the cpio command should read files in ASCII character format.

    -v

    Displays the files as they are retrieved in a format that is similar to the output from the ls command.

    -d

    Creates directories as needed.

    < /dev/rmt/n

    Specifies the output file.

  4. Verify that the files were copied.
    $ ls -l
Example 29-10 Retrieving All Files From a Tape (cpio)

The following example shows how to retrieve all files from the tape in drive 0.

$ cd /var/tmp
cpio -icvd < /dev/rmt/0
answers 
sc.directives 
tests
8 blocks
$ ls -l

How to Retrieve Specific Files From a Tape (cpio)

  1. Change to the directory where you want to put the files.
  2. Insert the tape into the tape drive.
  3. Retrieve a subset of files from the tape.
    $ cpio -icv "*file" < /dev/rmt/n
    -i

    Extracts files from standard input.

    -c

    Specifies that the cpio command should read headers in ASCII character format.

    -v

    Displays the files as they are retrieved in a format that is similar to the output from the ls command.

    "*file"

    Specifies that all files that match the pattern are copied to the current directory. You can specify multiple patterns, but each pattern must be enclosed in double quotation marks.

    < /dev/rmt/n

    Specifies the input file.

    For more information, see the cpio(1) man page.

  4. Verify that the files were copied.
    $ ls -l
Example 29-11 Retrieving Specific Files From a Tape (cpio)

The following example shows how to retrieve all files with the chapter suffix from the tape in drive 0.

$ cd /home/smith/Book
$ cpio -icv "*chapter" < /dev/rmt/0
Boot.chapter 
Directory.chapter 
Install.chapter 
Intro.chapter
31 blocks
$ ls -l
Previous Next

 
 
  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire