How to make a archive using cpio command?


The cpio command is a very useful command when it comes to archiving. It works the same as tar command, but it is way better than tar command. In this short article, check out how you can make a archive using cpio command. 

What is cpio command?

GNU/cpio command 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. The cpio command has three mode that we need to understand in order to properly use this command. They're as follow:

  • copy-out mode - which allow you to make a archive
  • copy-in mode - extract a archive
  • copy-pass mode - copy files into a destination directory

Here are some very useful samples of using the cpio command. 

1. Create an cpio archive.

In order to make an cpio archive, you can combine the ls command with cpio command. Here's the command.

# ls |  cpio  -ov  >  sample.cpio 

Note that you must be root in order to make a archive using cpio. In the figure above, I have used list command to make a archive of kings directory. The archive name is sample.cpio. Check the figure down bellow.

There is our sample.cpio archive. Once again, the short explanation for the command is as follow.

# ls  |  cpio -ov  > sample.cpio 

  •  o - make an archive
  • v - verbose - show me the files which are being archived 
  • > redirection sing which tells the command to redirect the files into a sample.cpio instead of standard output. 

2. Show the content of the archive

If you don't want to extract the archive, you can show it's content by executing the following command. 

# cpio -it  -F  sample.cpio 

Here's the content of our sample.cpio archive. Now let me to show you how you can extract it.

3. Extract the archive

Currently I'm inside the kings directory within my home directory. If I try to extract this archive with cpio command, the command will fail because these files already exists in the archive and therefore they can't be extracted. But, in case you wanna extract the archive by replacing the original files in directory, you can use the -u switch. Check the following command.

# cpio  -iv  <  sample.cpio 

This -u switch will replace all the files within the kings directory without prompting or asking the user: ' Do you wanna replace the files?. 

There you go. The files have been successfully extracted.

4. Copy all the files to another directory

In order to copy all the files from a kings directory to a newly formed sample_dir directory within my /home, we must use -p flat. Here's the command.

# find . | cpio -pv  /home/amar/sample_dir 

As you can see on figure above, I have used the find command pass all the files into a sample_dir directory. 

This is it; all the files from kings directory have been successfully copied into sample_dir directory. 

 Now you now how to make an archive using cpio command, how to view it's content, how to extract it and copy the content?. Make sure to view others link on cpio command as well. If you like this article, leave a comment down bellow. Till the next time. 

Check these link on cpio command

[1] cpio command in Linux with samples

[2] Linux cpio command samples


Nema komentara:

Objavi komentar