≡ Menu

How do I use cpio command under Linux?

Q. Can you explain how do I use cpio under Linux / UNIX?

A. GNU cpio is a tool for creating and extracting archives, or copying files from one place to another. It handles a number of cpio formats as well as reading and writing tar files. cpio command works just like tar, only better.

As I said earlier, cpio works like tar but it can read input from the “find” command. This is nifty feature. For example you can find out all *.c files and backup with cpio command.# find / -name "*.c" | cpio -o --format=tar > c-file.backup.tar
# find / -iname "*.pl" | cpio -o -H tar > perl-files.tar
You can also specify file name using -F option:# find / -iname "*.pl" | cpio -o -H tar -F perl-files.tarWhere,

  • -o: Create archive
  • -F: Archive filename to use instead of standard input or output. To use a tape drive on another machine as the archive.
  • -H format: Specify file format to use.
  • -i: Restore archive

You can extract archive with the following command:# cpio -i -F perl-files.tarYou can list file inside archive i.e. list contents of the cpio file with following command:# cpio -it -F perl-files.tarYou can write archive of /home to tape (drive /dev/nst0), type the following command:# find /home | cpio -o -H tar -F /dev/nst0Restore backup using following command:# cpio -i -F /dev/nst0Backup /home dir, to remote system tape drive:# find /home | cpio -o -H tar -F user@backup.nixcraft.in:/dev/nst0 --rsh-command=/usr/bin/ssh

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 7 comments… add one }
  • ashwani May 29, 2009, 2:18 pm

    Very nice info
    can u pls tell how can i use bzip2 compression with it?


  • rajputh August 26, 2011, 6:41 pm

    Hi all,

    i’m new to unix can any help me full and incremental back scripts for Solaris 10 and RHEL 6 .

    Thnaks in advance.

  • felipe1982 September 21, 2011, 1:59 am

    `pax` aims to replace both `tar` and `cpio` as it can read from both, and write to both. In can read files from `find`, too, and can operate in pass-through mode, like `cpio`

  • ronmulin December 1, 2011, 8:44 pm

    Nicely done. Very helpful. You can also redirect the cpio output to thumb drive
    find /home/jsmtih cpio -ov > media//backup.cpio

  • Hermelinda Poitevint January 14, 2012, 4:28 pm

    You are awesome! Just wanted to make your day better :)

  • manoj March 16, 2012, 6:20 am

    is it possible to add a file to a tar file using cpio command?

  • Alexander Becker March 13, 2013, 11:37 am

    # cpio -it -F perl-files.tar


Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , ,