转到包含要复制的文件的目录。
将可写磁带插入磁带机中。
将文件复制到磁带。
$ ls | cpio -oc > /dev/rmt/n |
为 cpio 命令提供文件名列表。
指定 cpio 命令应该在复制出模式 (-o) 下操作,并以 ASCII 字符格式 (-c) 写入头信息。这些选项确保可移植到其他供应商的系统。
指定输出文件。
会将目录中的所有文件复制到指定磁带机中的磁带,同时会覆写该磁带中的任何现有文件。屏幕将显示复制的总块数。
确认文件已被复制到磁带。
$ cpio -civt < /dev/rmt/n |
指定 cpio 命令应以 ASCII 字符格式读取文件。
指定 cpio 命令应在复制入模式下操作,即使该命令仅列出了此时的文件。
显示与 ls -l 命令的输出格式类似的输出。
列出指定磁带机中的磁带上的文件目录。
指定现有 cpio 归档文件的输入文件。
从磁带机中取出磁带。在磁带标签中写入文件名称。
以下示例说明如何将 /export/home/kryten 目录中的所有文件复制到磁带机 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 $ |
列出磁带中的目录需要很长时间,因为 cpio 命令必须处理整个归档文件。
以下示例说明如何列出磁带机 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 $ |
如果已使用相对路径名创建了归档文件,则恢复文件时会在当前目录中以目录形式生成输入文件。但是,如果已使用绝对路径名创建了归档文件,则将使用相同的绝对路径在系统中重新创建该文件。
使用绝对路径名可能会有危险,因为可能会覆写系统中的现有文件。
转到要放置文件的目录。
将磁带插入磁带机。
$ cpio -icvd < /dev/rmt/n |
从标准输入中提取文件。
指定 cpio 命令应以 ASCII 字符格式读取文件。
在以与 ls 命令输出类似的格式恢复文件时,显示这些文件。
根据需要创建目录。
指定输出文件。
确认文件已被复制。
$ ls -l |
以下示例说明如何从磁带机 0 中的磁带恢复所有文件。
$ cd /var/tmp cpio -icvd < /dev/rmt/0 answers sc.directives tests 8 blocks $ ls -l |
转到要放置文件的目录。
将磁带插入磁带机。
从磁带中恢复文件子集。
$ cpio -icv "*file" < /dev/rmt/n |
从标准输入中提取文件。
指定 cpio 命令应以 ASCII 字符格式读取头。
在以与 ls 命令输出类似的格式恢复文件时,显示这些文件。
指定与该模式匹配的所有文件都将复制到当前目录。可以指定多种模式,但是每种模式都必须用双引号引起来。
指定输入文件。
有关更多信息,请参见 cpio(1) 手册页。
确认文件已被复制。
$ ls -l |
以下示例说明如何从磁带机 0 中的磁带恢复带有 chapter 后缀的所有文件。
$ cd /home/smith/Book $ cpio -icv "*chapter" < /dev/rmt/0 Boot.chapter Directory.chapter Install.chapter Intro.chapter 31 blocks $ ls -l |