跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 11.1 管理:设备和文件系统 Oracle Solaris 11.1 Information Library (简体中文) |
$ ls | cpio -oc > /dev/rmt/n
为 cpio 命令提供文件名列表。
指定 cpio 命令应该在复制出模式 (-o) 下操作,并以 ASCII 字符格式 (-c) 写入头信息。这些选项确保可移植到其他供应商的系统。
指定输出文件。
将目录中的所有文件复制到指定磁带机中的磁带,会覆盖该磁带中的任何现有文件。屏幕将显示复制的总块数。
$ cpio -civt < /dev/rmt/n
指定 cpio 命令应以 ASCII 字符格式读取文件。
指定 cpio 命令应在复制入模式下操作,即使该命令仅列出了此时的文件。
显示与 ls -l 命令的输出格式类似的输出。
列出指定磁带机中的磁带上的文件目录。
指定现有 cpio 归档文件的输入文件。
示例 17-6 将目录中的所有文件复制到磁带 (cpio)
以下示例说明如何将 /export/home/kryten 目录中的所有文件复制到磁带机 0 中的磁带。
$ cd /export/home/kryten $ ls | cpio -oc > /dev/rmt/0 1280 blocks $ cpio -civt < /dev/rmt/0 -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filea -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, fileb -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filec drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, letters drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, reports 1280 blocks
注 - 列出磁带中的目录需要很长时间,因为 cpio 命令必须处理整个归档文件。
示例 17-7 列出磁带中的文件 (cpio)
以下示例说明如何列出磁带机 0 中的磁带上的文件。
$ cpio -civt < /dev/rmt/0 -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filea -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, fileb -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filec drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, letters drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, reports 1280 blocks
如果已使用相对路径名创建了归档文件,则检索文件时会在当前目录中以目录形式生成输入文件。但是,如果已使用绝对路径名创建了归档文件,则将使用相同的绝对路径在系统中重新创建该文件。
![]() | 注意 - 使用绝对路径名可能会有危险,因为可能会覆盖系统中的现有文件。 |
$ cpio -icvd < /dev/rmt/n
从标准输入中提取文件。
指定 cpio 命令应以 ASCII 字符格式读取文件。
在以与 ls 命令输出类似的格式检索文件时,显示这些文件。
根据需要创建目录。
指定输出文件。
$ ls -l
示例 17-8 从磁带中检索所有文件 (cpio)
以下示例说明如何从磁带机 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
示例 17-9 从磁带中检索特定文件 (cpio)
以下示例说明如何从磁带机 0 中的磁带检索带有 chapter 后缀的所有文件。
$ cd /home/smith/Book $ cpio -icv "*chapter" < /dev/rmt/0 Boot.chapter Directory.chapter Install.chapter Intro.chapter 31 blocks $ ls -l