系统管理指南:设备和文件系统

Procedure如何在文件系统之间复制目录 (cpio)

  1. 成为超级用户或承担等效角色。

  2. 转至相应的目录。


    # cd filesystem1
    
  3. 通过将 find 命令与 cpio 命令结合使用,将目录树从 filesystem1 复制到 filesystem2


    # find . -print -depth | cpio -pdm filesystem2
    
    .

    从当前工作目录开始。

    -print

    列显文件名。

    -depth

    向下派生目录分层结构并从下到上列显文件名。

    -p

    创建文件列表。

    -d

    根据需要创建目录。

    -m

    在目录中设置正确的修改时间。

    有关更多信息,请参见 cpio(1)

    系统将复制指定目录名中的文件。符号链接会被保留。

    可能还要指定 -u 选项。此选项将强制执行无条件复制。否则,旧文件不会替代新文件。在需要目录的精确副本且复制的某些文件可能已存在于目标目录中时,此选项可能非常有用。

  4. 通过显示目标目录的内容,确认复制成功。


    # cd filesystem2
    
    # ls
    
  5. 删除源目录(如果可行)。


    # rm -rf filesystem1
    

示例 29–3 在文件系统之间复制目录 (cpio)


# cd /data1

# find . -print -depth | cpio -pdm /data2

19013 blocks

# cd /data2

# ls

# rm -rf /data1