on  it road.com

cpio 命令的用法示例

示例 1:要复制 /home 的内容,请按照演示运行 find 命令并将输出重定向到 /tmp/home.cpio。

# find /home | cpio -ov > /tmp/home.cpio
/home
/home/geek
/home/geek/CentOS-7.0-1406-x86_64-DVD.iso.3
/home/geek/CentOS-7.0-1406-x86_64-DVD.iso.4
/home/geek/.profile
/home/geek/CentOS-7.0-1406-x86_64-DVD.iso.2
/home/geek/.bashrc
...............................................

例2:列出home.cpio的内容。

# cpio -itv < /tmp/home.cpio
-rw-rw-r--   1 geek geek     2556 Nov 29 13:03 /home/geek/ubuntu
-rw-rw-r--   1 geek geek     2255 Sep  1 14:32 /home/geek/.grive-last-sync.log
drwxr-xr-x  17 geek geek        0 Dec  5 15:46 /home/geek/Desktop
-rw-rw-r--   1 geek geek   357376 Sep 11 12:23 /home/geek/Desktop/mysql-classroom.doc
-rw-rw-r--   1 geek geek    43008 Sep 27 13:16 /home/geek/Desktop/linux_interview_question.doc
drwxrwxr-x   3 geek geek        0 Sep 12 13:59 /home/geek/Desktop/July-2014
-rw-rw-r--   1 geek geek     8147 Sep 11 13:04 /home/geek/Desktop/July-2014/brainuse.php
-rw-rw-r--   1 geek geek    10885 Sep 11 13:16 /home/geek/Desktop/July-2014/news.php
drwxrwxr-x   2 geek geek        0 Sep 11 12:34 /home/geek/Desktop/July-2014/images
-rw-rw-r--   1 geek geek    13609 Sep 11 12:34 //cdn.onitroad.com/home/geek/Desktop/July-2014/images/3.gif
-rw-rw-r--   1 geek geek   206334 Sep 11 12:34 //cdn.onitroad.com/home/geek/Desktop/July-2014/images/July14-header.gif
-rw-rw-r--   1 geek geek     1736 Sep 11 12:34 //cdn.onitroad.com/home/geek/Desktop/July-2014/images/2.gif
..............................................

示例 3:从 home.cpio 恢复文件。

# cpio -iv < /tmp/home.cpio

示例 4:将文件直接从 /home 复制到名为 /tmp/home.bkp 的新目录中。

# find /home | cpio -pvd /tmp/home.bkp
/tmp/home.bkp/home/geek/ubuntu
/tmp/home.bkp/home/geek/.grive-last-sync.log
/tmp/home.bkp/home/geek/Desktop
/tmp/home.bkp/home/geek/Desktop/mysql-classroom.doc
/tmp/home.bkp/home/geek/Desktop/linux_interview_question.doc
/tmp/home.bkp/home/geek/Desktop/July-2014
............................................

示例 5:仅将选定的文件复制到 home.cpio。

# find . -iname *.php -print | cpio -ov >/tmp/home.cpio 
./Desktop/July-2014/brainuse.php
./Desktop/July-2014/news.php
./Desktop/July-2014/developer_section.php
./Desktop/July-2014/mysql1.php
............................

以上命令将复制 home.cpio 中所有扩展名为“.php”的文件。

示例 6:使用“cpio -F”创建“.tar”存档。

# find . -iname *.php -print | cpio -ov -H tar -F /tmp/home.tar
./Desktop/July-2014/brainuse.php
./Desktop/July-2014/news.php
./Desktop/July-2014/developer_section.php
./Desktop/July-2014/mysql1.php
./Desktop/July-2014/index.php
............................................

上面的命令将使用“cpio -F”为所有扩展名为“.php”的文件创建一个tar存档“home.tar”。

示例 7:使用 cpio 列出“.tar”文件的内容。

# cpio -it -F /tmp/home.tar
Desktop/July-2014/brainuse.php
Desktop/July-2014/news.php
Desktop/July-2014/developer_section.php
Desktop/July-2014/mysql1.php
Desktop/July-2014/index.php
Desktop/July-2014/linux1.php
..................................

示例 8:通过 cpio 提取“.tar”存档。

# cpio -idv -F /tmp/home.tar
Linux cpio 命令

Linux/UNIX cpio(copy in/out)命令复制、列出文件,并从单个文件或者档案中提取文件。

下表列出了 cpio 命令可用的一些选项。
cpio 命令要求必须指定 o、i 或者 p 选项之一。

选项描述
-o复制数据。
-i从副本中提取。
-t列出复制内容。
-v详细模式。
-p从副本中读取以获取路径名。
-a复制文件后重置文件的访问时间。
日期:2020-09-17 00:14:27 来源:oir作者:oir