跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:设备和文件系统 Oracle Solaris 11 Information Library (简体中文) |
可以使用 cpio(复制入和复制出)命令复制各个文件、多组文件或完整的文件系统。本节介绍如何使用 cpio 命令复制完整的文件系统
cpio 命令是一个归档程序,可以将文件列表复制到单个大型输出文件中。此命令会在各个文件之间插入头,以便于进行恢复。可以使用 cpio 命令将完整的文件系统复制到其他分片、其他系统或介质设备(如磁带或 USB 磁盘)。
由于 cpio 命令可以识别介质结尾并会提示您插入另一个卷,因此它是最有效的命令,可用于创建需要多盒磁带或多张 USB 磁盘的归档文件。
使用 cpio 命令时,经常将 ls 和 find 命令结合使用以列出并选择要复制的文件,然后将输出传输给 cpio 命令。
# cd filesystem1
# find . -print -depth | cpio -pdm filesystem2
从当前工作目录开始。
列出文件名。
向下派生目录分层结构并从下到上列出文件名。
创建文件列表。
根据需要创建目录。
在目录中设置正确的修改时间。
有关更多信息,请参见 cpio(1)。
指定目录名中的文件已复制。符号链接会被保留。
可能还要指定 -u 选项。此选项将强制执行无条件复制。否则,旧文件不会替换新文件。在需要目录的精确副本且复制的某些文件可能已存在于目标目录中时,此选项可能非常有用。
# cd filesystem2 # ls
# rm -rf filesystem1
示例 20-1 在文件系统之间复制目录 (cpio)
# cd /data1 # find . -print -depth | cpio -pdm /data2 19013 blocks # cd /data2 # ls # rm -rf /data1