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

第 29 章 复制 UFS 文件和文件系统(任务)

本章介绍如何使用各种备份命令将 UFS 文件和文件系统复制到磁盘、磁带和软盘。

以下是本章中的逐步说明列表。

用于复制文件系统的命令

需要备份和恢复完整的文件系统时,请使用第 28 章,UFS 备份和恢复命令(参考)中介绍的 ufsdumpufsrestore 命令。需要复制或移动各个文件、文件系统的各部分或完整的文件系统时,可以使用本章中介绍的过程,而不是 ufsdumpufsrestore 命令。

下表介绍何时使用各种备份命令。

表 29–1 何时使用各种备份命令

任务 

命令 

更多信息 

将文件系统备份到磁带。 

ufsdump

如何将文件系统备份到磁带

创建文件系统快照。 

fssnap

第 26 章,使用 UFS 快照(任务)

从磁带恢复文件系统。 

ufsrestore

如何恢复完整的文件系统

将文件传输到其他系统。 

paxtarcpio

将文件和文件系统复制到磁带

在磁盘之间复制文件或文件系统。 

dd

如何复制磁盘 (dd)

将文件复制到软盘。 

tar

如何将文件复制到单张经过格式化的软盘 (tar)

下表介绍了各种备份和恢复命令。

表 29–2 各种备份命令汇总

命令名称 

是否可识别文件系统边界? 

是否支持多卷备份? 

物理复制还是逻辑复制? 

volcopy

是 

是 

物理 

tar

否 

否 

逻辑 

cpio

否 

是 

逻辑 

pax

是 

是 

逻辑 

dd

是 

否 

物理 

ufsdump/ufsrestore

是 

是 

逻辑 

fssnap

N/A 

N/A 

逻辑 

下表介绍了其中某些命令的优点和缺点。

表 29–3 tarpaxcpio 命令的优点和缺点

命令 

功能 

优点 

缺点 

tar

用于将文件和目录子树复制到单个磁带。 

  • 可以在大多数 UNIX 操作系统中使用

  • 可以轻松访问公共域版本

  • 不可识别文件系统边界

  • 全路径名的长度不能超过 255 个字符

  • 不能用于创建多个磁带卷

pax

用于复制需要多个磁带卷的文件、特殊文件或文件系统。或者,当要在与 POSIX 兼容的系统之间复制文件时使用。 

  • 对于与 POSIX 兼容的系统,其可移植性比 tarcpio 命令高

  • 多个供应商支持

tar 命令的缺点相同,不同的是 pax 命令可以创建多个磁带卷。

cpio

用于复制需要多个磁带卷的文件、特殊文件或文件系统。或者,当要将文件从运行当前的 Solaris 发行版的系统复制到运行 SunOS 4.0/4.1 发行版的系统时使用。 

  • 与使用 tar 命令相比,可以更有效地将数据打包到磁带

  • 恢复时跳过磁带中所有的错误点

  • 提供以不同的头格式编写文件的选项(如 tarustarcrcodcbar),以实现不同系统类型之间的可移植性

  • 创建多个磁带卷

该命令的语法比 tarpax 命令更为复杂。

以下各节介绍有关如何使用这些命令的逐步说明和示例。

在磁带之间复制文件系统

以下两个命令用于在磁带之间复制文件系统:

有关 volcopy 的更多信息,请参见 volcopy(1M)

下一节介绍如何使用 dd 命令在磁带之间复制文件系统。

创建精确的文件系统副本

dd 命令可以将完整的 UFS 文件系统精确地复制到其他文件系统或磁带(块级别)。缺省情况下,dd 命令会将标准输入复制到标准输出。


注 –

如果未首先指定适当的块大小,请不要将 dd 命令和磁带长度可变的磁带机一同使用。


可以指定设备名称而不是指定标准输入和/或标准输出。在本示例中,软盘的内容将被复制到 /tmp 目录中的某个文件:


$ dd < /floppy/floppy0 > /tmp/output.file

2400+0 records in

2400+0 records out

dd 命令可报告它所读取和写入的块数目。+ 号后的数字是已复制的部分块的数目。缺省块大小为 512 字节。

dd 命令的语法与大多数其他命令不同。选项以 keyword=value 对的形式指定,其中 keyword 是要设置的选项,value 是该选项的参数。例如,可以使用以下语法替换标准输入和标准输出:


$ dd if=input-file of=output-file

要使用 keyword=value 对(而不使用重定向符号),则可以键入以下内容:


$ dd if=/floppy/floppy0 of=/tmp/output.file

Procedure如何复制磁盘 (dd)

考虑复制磁盘时,请牢记以下要点:

如果您仍在考虑使用 dd 命令复制磁盘,请牢记以下注意事项:

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

  2. (可选)创建 /reconfigure 文件,以使系统能够在重新引导时识别要添加的目标磁盘(如有必要)。


    # touch /reconfigure
    
  3. 关闭系统。


    # init 0
    
  4. 将目标磁盘连接到系统。

  5. 引导系统。


    ok boot -s
    
  6. 将源磁盘复制到目标磁盘。


    # dd if=/dev/rdsk/device-name of=/dev/rdsk/device-name bs=block-size
    
    if=/dev/rdsk/device-name

    表示主磁盘设备的重叠片,通常为片 2。

    of=/dev/rdsk/device-name

    表示目标磁盘设备的重叠片,通常为片 2。

    bs=blocksize

    用于标识块大小,如 128 KB 或 256 KB。较大的块大小可以缩短复制磁盘所用的时间。

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

  7. 检查新的文件系统。


    # fsck /dev/rdsk/device-name
    
  8. 挂载目标磁盘的根 (/) 文件系统。


    # mount /dev/dsk/device-name /mnt
    
  9. 转到 /etc/vfstab 文件所在的目录。


    # cd /mnt/etc
    
  10. 使用文本编辑器编辑目标磁盘的 /etc/vfstab 文件,以引用正确的设备名称。

    例如,将 c0t3d0 的所有实例都更改为 c0t1d0

  11. 转到目标磁盘的根 (/) 目录。


    # cd /
    
  12. 取消挂载目标磁盘的根 (/) 文件系统。


    # umount /mnt
    
  13. 关闭系统。


    # init 0
    
  14. 从目标磁盘引导至单用户模式。


    # boot diskn -s
    

    注 –

    目标磁盘不需要 installboot 命令,因为引导块是作为重叠片的一部分进行复制的。


  15. 取消配置目标磁盘。


    # sys-unconfig
    

    系统在取消配置后即会关闭。

  16. 再次从目标磁盘引导,并提供其系统信息,如主机名、时区等。


    # boot diskn
    
  17. 引导系统后,以超级用户身份登录以验证系统信息。


    hostname console login:

示例 29–1 复制带有 VTOC 标签的磁盘 (dd)

本示例说明如何将主磁盘(带有 VTOC 标签) /dev/rdsk/c0t0d0s2 复制到目标磁盘 /dev/rdsk/c0t2d0s2


# touch /reconfigure

# init 0

ok boot

# dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k

# fsck /dev/rdsk/c0t2d0s2

# mount /dev/dsk/c0t2d0s2 /mnt 

# cd /mnt/etc

# vi vfstab

(Modify entries for the new disk)

# cd /

# umount /mnt

# init 0

# boot disk2 -s

# sys-unconfig

# boot disk2


示例 29–2 复制带有 EFI 标签的磁盘 (dd)

在以前的 Solaris 发行版中,片 2 (s2) 用于表示整张磁盘。在带有 EFI 标签的磁盘上,必须使用稍有不同的过程来克隆或复制大于 1 TB 的磁盘,以使克隆磁盘的 UUID 具有唯一性。如果没有为克隆磁盘创建新的标签,则其他软件产品在遇到重复的 UUID 时可能会损坏带有 EFI 标记的磁盘上的数据。

例如:

  1. 克隆带有 EFI 标记的磁盘。例如:


    # dd if=/dev/rdsk/c0t0d0 of=/dev/rdsk/c0t2d0 bs=128k
    
  2. 传输要复制到 fmthard 命令中的磁盘的 prtvtoc 输出,以便为克隆磁盘创建新的标签。例如:


    # prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0
    

有关 EFI 磁盘标签的更多信息,请参见带有 EFI 磁盘标号的多 TB 磁盘支持


在文件系统之间复制目录(cpio 命令)

可以使用 cpio(复制入和复制出)命令复制各个文件、多组文件或完整的文件系统。本节介绍如何使用 cpio 命令复制完整的文件系统。

cpio 命令是一个归档程序,可以将文件列表复制到单个大型输出文件中。此命令会在各个文件之间插入头,以便于进行恢复。可以使用 cpio 命令将完整的文件系统复制到其他片、其他系统或介质设备(如磁盘或软盘)。

由于 cpio 命令可以识别介质结尾并会提示您插入另一个卷,因此它是除了 ufsdump 以外最有效的命令,可用于创建需要多盒磁带或多张软盘的归档文件。

使用 cpio 命令时,经常将 lsfind 命令结合使用以列出和选择要复制的文件,然后将输出传输给 cpio 命令。

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

将文件和文件系统复制到磁带

可以使用 tarpaxcpio 命令将文件和文件系统复制到磁带。所选的命令取决于复制所需的灵活性和精确度。由于所有这三个命令都使用原始设备,因此在使用磁带之前不需要在其中格式化或创建文件系统。

使用的磁带机和设备名称取决于每个系统的硬件配置。有关磁带设备名称的更多信息,请参见选择要使用的介质

将文件复制到磁带(tar 命令)

以下是在使用 tar 命令将文件复制到磁带之前应了解的信息:

Procedure如何将文件复制到磁带 (tar)

  1. 转到包含要复制的文件的目录。

  2. 将可写磁带插入磁带机中。

  3. 将文件复制到磁带。


    $ tar cvf /dev/rmt/n filenames
    
    c

    指明要创建归档文件。

    v

    归档时显示每个文件的名称。

    f /dev/rmt/n

    指明应该将归档文件写入指定设备或文件。

    filenames

    指明要复制的文件和目录。使用空格分隔多个文件。

    会将指定的文件名复制到磁带,并且会覆写该磁带上的任何现有文件。

  4. 从磁带机中取出磁带。在磁带标签中写入文件名称。

  5. 确认复制的文件位于该磁带中。


    $ tar tvf /dev/rmt/n
    

    有关列出 tar 磁带中的文件的更多信息,请参见如何列出磁带中的文件 (tar)


示例 29–4 将文件复制到磁带 (tar)

以下示例说明如何将三个文件复制到磁带机 0 中的磁带。


$ cd /export/home/kryten

$ ls reports

reportA reportB reportC

$ tar cvf /dev/rmt/0 reports

a reports/ 0 tape blocks

a reports/reportA 59 tape blocks

a reports/reportB 61 tape blocks

a reports/reportC 63 tape blocks

$ tar tvf /dev/rmt/0

Procedure如何列出磁带中的文件 (tar)

  1. 将磁带插入磁带机。

  2. 显示磁带内容。


    $ tar tvf /dev/rmt/n
    
    t

    列出磁带中的文件目录。

    v

    t 选项一同使用,提供有关磁带中的文件的详细信息。

    f /dev/rmt/n

    指明磁带设备。


示例 29–5 列出磁带中的文件 (tar)

以下示例显示磁带机 0 中的磁带上的文件列表。


$ tar tvf /dev/rmt/0

drwxr-xr-x   0/1        0 Jul 28 15:00 2004 reports/

-r--r--r--   0/1   206663 Jul 28 15:00 2004 reports/reportA

-r--r--r--   0/1   206663 Jul 28 15:00 2004 reports/reportB

-r--r--r--   0/1   206663 Jul 28 15:00 2004 reports/reportC

Procedure如何从磁带中恢复文件 (tar)

  1. 转到要放置文件的目录。

  2. 将磁带插入磁带机。

  3. 从磁带中恢复文件。


    $ tar xvf /dev/rmt/n [filenames]
    x

    指明应从指定的归档文件中提取文件。指定磁带机中的磁带上的所有文件都会被复制到当前目录。

    v

    恢复时显示每个文件的名称。

    f /dev/rmt/n

    指明包含归档文件的磁带设备。

    filenames

    指定要恢复的文件。使用空格分隔多个文件。

    有关更多信息,请参见 tar(1) 手册页。

  4. 确认文件已被复制。


    $ ls -l
    

示例 29–6 检索磁带中的文件 (tar)

以下示例说明如何从磁带机 0 中的磁带恢复所有文件。


$ cd /var/tmp

$ tar xvf /dev/rmt/0

x reports/, 0 bytes, 0 tape blocks

x reports/reportA, 0 bytes, 0 tape blocks

x reports/reportB, 0 bytes, 0 tape blocks

x reports/reportC, 0 bytes, 0 tape blocks

x reports/reportD, 0 bytes, 0 tape blocks

$ ls -l

故障排除

从磁带中提取的文件名称必须与归档文件中存储的文件名称完全匹配。如果对文件的名称或路径有任何质疑,请首先列出磁带中的文件。有关列出磁带中的文件的说明,请参见如何列出磁带中的文件 (tar)

使用 pax 命令将文件复制到磁带

Procedure如何将文件复制到磁带 (pax)

  1. 转到包含要复制的文件的目录。

  2. 将可写磁带插入磁带机中。

  3. 将文件复制到磁带。


    $ pax -w -f /dev/rmt/n filenames
    
    -w

    启用写模式。

    -f /dev/rmt/n

    确定磁带机。

    filenames

    指明要复制的文件和目录。使用空格分隔多个文件。

    有关更多信息,请参见 pax(1) 手册页。

  4. 确认文件已被复制到磁带。


    $ pax -f /dev/rmt/n
    
  5. 从磁带机中取出磁带。在磁带标签中写入文件名称。


示例 29–7 将文件复制到磁带 (pax)

以下示例说明如何使用 pax 命令来复制当前目录中的所有文件。


$ pax -w -f /dev/rmt/0 .

$ pax -f /dev/rmt/0

filea fileb filec

使用 cpio 命令将文件复制到磁带

Procedure如何将目录中的所有文件复制到磁带 (cpio)

  1. 转到包含要复制的文件的目录。

  2. 将可写磁带插入磁带机中。

  3. 将文件复制到磁带。


    $ ls | cpio -oc > /dev/rmt/n
    
    ls

    cpio 命令提供文件名列表。

    cpio -oc

    指定 cpio 命令应该在复制出模式 (-o) 下操作,并以 ASCII 字符格式 (-c) 写入头信息。这些选项确保可移植到其他供应商的系统。

    > /dev/rmt/n

    指定输出文件。

    会将目录中的所有文件复制到指定磁带机中的磁带,同时会覆写该磁带中的任何现有文件。屏幕将显示复制的总块数。

  4. 确认文件已被复制到磁带。


    $ cpio -civt < /dev/rmt/n
    
    -c

    指定 cpio 命令应以 ASCII 字符格式读取文件。

    -i

    指定 cpio 命令应在复制入模式下操作,即使该命令仅列出了此时的文件。

    -v

    显示与 ls -l 命令的输出格式类似的输出。

    -t

    列出指定磁带机中的磁带上的文件目录。

    < /dev/rmt/n

    指定现有 cpio 归档文件的输入文件。

  5. 从磁带机中取出磁带。在磁带标签中写入文件名称。


示例 29–8 将目录中的所有文件复制到磁带 (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

$

Procedure如何列出磁带中的文件 (cpio)


注 –

列出磁带中的目录需要很长时间,因为 cpio 命令必须处理整个归档文件。


  1. 将归档文件磁带插入磁带机。

  2. 列出磁带中的文件。


    $ cpio -civt < /dev/rmt/n
    

示例 29–9 列出磁带中的文件 (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

$

Procedure如何从磁带中恢复所有文件 (cpio)

如果已使用相对路径名创建了归档文件,则恢复文件时会在当前目录中以目录形式生成输入文件。但是,如果已使用绝对路径名创建了归档文件,则将使用相同的绝对路径在系统中重新创建该文件。


注意 – 注意 –

使用绝对路径名可能会有危险,因为可能会覆写系统中的现有文件。


  1. 转到要放置文件的目录。

  2. 将磁带插入磁带机。

  3. 从磁带中提取所有文件。


    $ cpio -icvd < /dev/rmt/n
    
    -i

    从标准输入中提取文件。

    -c

    指定 cpio 命令应以 ASCII 字符格式读取文件。

    -v

    在以与 ls 命令输出类似的格式恢复文件时,显示这些文件。

    -d

    根据需要创建目录。

    < /dev/rmt/n

    指定输出文件。

  4. 确认文件已被复制。


    $ ls -l
    

示例 29–10 从磁带中恢复所有文件 (cpio)

以下示例说明如何从磁带机 0 中的磁带恢复所有文件。


$ cd /var/tmp

cpio -icvd < /dev/rmt/0

answers 

sc.directives 

tests

8 blocks

$ ls -l

Procedure如何从磁带中恢复特定文件 (cpio)

  1. 转到要放置文件的目录。

  2. 将磁带插入磁带机。

  3. 从磁带中恢复文件子集。


    $ cpio -icv "*file" < /dev/rmt/n
    
    -i

    从标准输入中提取文件。

    -c

    指定 cpio 命令应以 ASCII 字符格式读取头。

    -v

    在以与 ls 命令输出类似的格式恢复文件时,显示这些文件。

    "*file "

    指定与该模式匹配的所有文件都将复制到当前目录。可以指定多种模式,但是每种模式都必须用双引号引起来。

    < /dev/rmt/n

    指定输入文件。

    有关更多信息,请参见 cpio(1) 手册页。

  4. 确认文件已被复制。


    $ ls -l
    

示例 29–11 从磁带中检索特定文件 (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

将文件复制到远程磁带设备

Procedure如何将文件复制到远程磁带设备(tardd

  1. 必须满足以下先决条件,才能使用远程磁带机:

    1. 本地主机名和(可选)执行复制的用户的用户名必须出现在远程系统的 /etc/hosts.equiv 文件中。或者,执行复制的用户在远程计算机上必须具有可访问的对应起始目录,而且在 $HOME/.rhosts 中必须具有本地计算机名。

      有关更多信息,请参见 hosts.equiv(4) 手册页。

    2. 远程系统的项必须位于本地系统的 /etc/inet/hosts 文件中,或位于名称服务 hosts 文件中。

  2. 要测试您是否具有执行远程命令的适当权限,请键入以下内容:


    $ rsh remotehost echo test
    

    如果系统向您回显了 test,则您有权执行远程命令。如果系统向您回显了 Permission denied,请按照步骤 1 所述检查您的设置。

  3. 转到要放置文件的目录。

  4. 将磁带插入磁带机。

  5. 将文件复制到远程磁带机。


    $ tar cvf - filenames | rsh remote-host dd of=/dev/rmt/n obs=block-size
    
    tar cf

    创建磁带归档文件,归档时列出文件并指定磁带设备。

    v

    提供有关 tar 文件项的其他信息。

    -(连字符)

    表示磁带设备的占位符。

    filenames

    标识要复制的文件。使用空格分隔多个文件。

    rsh | remote-host

    tar 命令的输出传输到远程 shell。

    dd of= /dev/rmt/n

    表示输出设备。

    obs=block-size

    表示分块因子。

  6. 从磁带机中取出磁带。在磁带标签中写入文件名称。


示例 29–12 将文件复制到远程磁带机(tardd


# tar cvf - * | rsh mercury dd of=/dev/rmt/0 obs=126b

a answers/ 0 tape blocks

a answers/test129 1 tape blocks

a sc.directives/ 0 tape blocks

a sc.directives/sc.190089 1 tape blocks

a tests/ 0 tape blocks

a tests/test131 1 tape blocks

6+9 records in

0+1 records out

Procedure如何从远程磁带设备中提取文件

  1. 将磁带插入磁带机。

  2. 转至临时目录。


    $ cd /var/tmp
    
  3. 从远程磁带设备中提取文件。


    $ rsh remote-host dd if=/dev/rmt/n | tar xvBpf -
    
    rsh remote-host

    指明使用 dd 命令从磁带设备中提取文件时启动的远程 shell。

    dd if=/dev/rmt/n

    指明输入设备。

    | tar xvBpf -

    dd 命令的输出传输到用于恢复文件的 tar 命令。

  4. 确认文件已被提取。


    $ ls -l
    

示例 29–13 从远程磁带机中提取文件


$ cd /var/tmp

$ rsh mercury dd if=/dev/rmt/0 | tar xvBpf -

x answers/, 0 bytes, 0 tape blocks

x answers/test129, 48 bytes, 1 tape blocks

20+0 records in

20+0 records out

x sc.directives/, 0 bytes, 0 tape blocks

x sc.directives/sc.190089, 77 bytes, 1 tape blocks

x tests/, 0 bytes, 0 tape blocks

x tests/test131, 84 bytes, 1 tape blocks

$ ls -l

将文件和文件系统复制到软盘

将文件或文件系统复制到软盘之前,必须对软盘进行格式化。有关如何格式化软盘的信息,请参见第 2 章,管理可移除介质(任务)

使用 tar 命令可将 UFS 文件复制到一张经过格式化的软盘。

如果需要将 UFS 文件复制到多张经过格式化的软盘,请使用 cpio 命令。cpio 命令可以识别介质结尾并会提示您插入下一张软盘。

将文件复制到软盘时应了解的信息

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

Procedure如何将文件复制到单张经过格式化的软盘 (tar)

  1. 转到包含要复制的文件的目录。

  2. 将经过格式化但没有被写保护的软盘插入驱动器。

  3. 使软盘可用。


    $ volcheck
    
  4. 重新格式化软盘(如果必要)。


    $ rmformat -U /dev/rdiskette
    
    Formatting will erase all the data on disk.
    
    Do you want to continue? (y/n)y
    
  5. 将文件复制到软盘。


    $ tar cvf /vol/dev/aliases/floppy0 filenames
    

    会将指定的文件名复制到该软盘,同时会覆写该软盘上的任何现有文件。

  6. 确认文件已被复制。


    $ tar tvf /vol/dev/aliases/floppy0
    

    有关列出文件的更多信息,请参见如何列出软盘中的文件 (tar)

  7. 从驱动器中取出软盘。

  8. 在软盘标签中写入文件名称。


示例 29–14 将文件复制到单张经过格式化的软盘 (tar)

以下示例说明如何将名为 evaluation* 的文件复制到软盘。


$ cd /home/smith

$ volcheck

$ ls evaluation*

evaluation.doc   evaluation.doc.backup

$ tar cvf /vol/dev/aliases/floppy0 evaluation*

a evaluation.doc 86 blocks

a evaluation.doc.backup 84 blocks

$ tar tvf /vol/dev/aliases/floppy0

Procedure如何列出软盘中的文件 (tar)

  1. 将软盘插入驱动器。

  2. 使软盘可用。


    $ volcheck
    
  3. 列出软盘中的文件。


    $ tar tvf /vol/dev/aliases/floppy0
    

示例 29–15 列出软盘中的文件 (tar)

以下示例说明如何列出软盘中的文件。


$ volcheck

$ tar tvf /vol/dev/aliases/floppy0

rw-rw-rw-6693/10  44032 Jun  9 15:45 evaluation.doc

rw-rw-rw-6693/10  43008 Jun  9 15:55 evaluation.doc.backup

$

Procedure如何从软盘中恢复文件 (tar)

  1. 转到要放置文件的目录。

  2. 将软盘插入驱动器。

  3. 使软盘可用。


    $ volcheck
    
  4. 从软盘中恢复文件。


    $ tar xvf /vol/dev/aliases/floppy0
    

    软盘中的所有文件都被复制到当前目录。

  5. 确认文件已被恢复。


    $ ls -l
    
  6. 从驱动器中取出软盘。


示例 29–16 从软盘中检索文件 (tar)

以下示例说明如何从软盘中恢复所有文件。


$ cd /home/smith/Evaluations

$ volcheck

$ tar xvf /vol/dev/aliases/floppy0

x evaluation.doc, 44032 bytes, 86 tape blocks

x evaluation.doc.backup, 43008 bytes, 84 tape blocks

$ ls -l

以下示例说明如何从软盘中恢复单个文件。将从软盘中提取该文件,并会将其放置在当前工作目录中。


$ volcheck

$ tar xvf /vol/dev/aliases/floppy0 evaluation.doc

x evaluation.doc, 44032 bytes, 86 tape blocks

$ ls -l

将文件归档到多张软盘

如果您正在将大型文件复制到软盘上,则需要系统提示您用另一张经过格式化的软盘来替换已满的软盘。cpio 命令将提供此功能。cpio 命令的用法与将文件复制到磁带时的用法大致相同,不同的是将 /vol/dev/aliases/floppy0 指定为设备,而不是磁带设备名称。

有关如何使用 cpio 命令的信息,请参见如何将目录中的所有文件复制到磁带 (cpio)