将文件复制到组件或从中复制文件

ffx component copy 命令可以将文件复制到正在运行的 Fuchsia 组件中,也可以从正在运行的 Fuchsia 组件中复制文件。 在目标设备上的表现。

概念

ffx component copy 命令可以通过以下方式传输文件:

  • 从设备上的组件传输到宿主机。
  • 从宿主机到设备上的组件。
  • 在设备上组件之间。

诸如存储目录在 Fuchsia 中提供永久或临时存储 可以存储和访问属于特定组件的文件。每个紫红色 组件有一个命名空间,在该命名空间中,组件可以访问其所有可用资源, 功能。组件的名称表示其在 组件拓扑,也用作系统上组件的标识符。

因此,要访问组件命名空间中的文件,首先需要确定 目标组件的名称。例如, stash_secure 组件的名称为 core/stash_secure。(要发现组件的 名称,请参阅 ffx component show 命令。)

将文件复制到组件的命名空间以及从组件的命名空间复制文件

如需将文件复制到 Fuchsia 设备上运行的组件或从其复制文件,请运行以下命令: 命令:

ffx component copy SOURCE DESTINATION

替换以下内容:

  • SOURCE:要复制的文件的路径。此路径可以引用 本地路径或目录中的某个路径 目标设备上的 Fuchsia 组件。

  • DESTINATION:文件的目标路径。相同 选项和限制适用于SOURCE

    如果 SOURCEDESTINATION 是 Fuchsia 组件, 请使用以下语法来表示组件和路径:

    MONIKER::DIR_TYPE::PATH
    

    DIR_TYPE 可以是 inoutpkg 中的一个,以指示命名空间 (“传入”目录)、组件的传出目录或 每个组件包目录中(可选)DIR_TYPE 可以省略,并且 命令将默认为组件的命名空间。

    例如,core/stash_secure::in::/data/examples.txt 表示路径 core/stash_secure 组件的命名空间中的 /data/example.txt

请参阅下面的示例命令:

  • core/stash_secure 下载 stash_secure.store 文件 安装到宿主机上

    $ ffx component copy core/stash_secure::/data/stash_secure.store ./copy_of_stash_secure.store
    
  • example.txt 文件从主机上传到 core/stash_secure 组件:

    $ ffx component copy ./my_example_dir/example.txt core/stash_secure::/data/copy_of_example.txt
    
  • stash_secure.store 文件从 core/stash_secure 组件复制到 core/feedback 组件:

    $ ffx component copy core/stash_secure::/data/stash_secure.store core/feedback::/data/copy_of_stash_secure.store
    

在组件命名空间中复制多个文件,或从中复制多个文件

ffx component copy 命令支持使用通配符 * 一次复制多个文件。

请参阅下面的示例命令:

  • 下载 core/stash_secure/data 目录中的所有文件 安装到宿主机上

    $ ffx component copy core/stash_secure::/data/* ./my_example_dir/
    
  • 将主机的 ./my_example_dir 目录中的所有文件上传到 core/stash_secure 组件:

    $ ffx component copy ./my_example_dir/* core/stash_secure::/data/
    
  • core/stash_secure 组件的 /data 目录中的所有文件复制到 core/feedback 组件:

    $ ffx component copy core/stash_secure::/data/* core/feedback::/data/
    
  • 复制 core/feedback/ 组件的 data 目录中的所有文件, example.txt 文件添加到 core/stash_secure 组件:

    $ ffx component copy core/feedback::/data/* ./my_example_dir/example.txt core/stash_secure::/data/
    

附录

将文件复制到组件的隔离存储空间以及从中复制文件

一些 Fuchsia 组件会分配为各组件的独立存储空间, 存储空间

ffx component copy 不同,ffx component storage 命令只能用于 存储容量此命令不使用名称,而是使用组件的 实例 ID 作为标识符。默认情况下,ffx component storage 命令与名为 data 的存储功能对接。

如需将文件复制到组件的隔离存储空间以及从中复制文件,请运行以下命令:

ffx component storage copy SOURCE DESTINATION

替换以下内容:

  • SOURCE:要复制的文件的路径。此路径可以引用 发送到主机或目标设备上的 Fuchsia 组件。

  • DESTINATION:文件的目标路径。此路径可以 是指宿主机或目标设备上的 Fuchsia 组件。

    如果 SOURCEDESTINATION 是 Fuchsia 组件, 请使用以下语法来表示组件和路径:

    INSTANCE_ID::PATH_IN_STORAGE
    

    例如:c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4::/examples.txt 表示 example.txt 文件位于/data core/stash_secure 组件。

请参阅下面的示例命令:

  • example.txt 文件从主机上传到 core/stash_secure 组件:

    $ ffx component storage copy ./my_example_dir/example.txt c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4::/copy_of_example.txt
    
  • stash_secure.store 文件从目标组件下载到主机:

    $ ffx component storage copy c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4::/stash_secure.store ./my_example_dir/copy_of_example.txt
    

列出组件的隔离存储空间中的所有目录和文件

要列出组件的所有目录和文件, 隔离存储 运行以下命令:

ffx component storage list INSTANCE_ID::PATH

替换以下内容:

  • INSTANCE_ID:目标组件的实例 ID。 例如 c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4

  • PATH:目标组件上的路径。

以下示例命令显示了根目录 (/) 中的所有目录和文件 目标组件的以下实例:

$ ffx component storage list c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4::/
copy_of_example.txt
stash_secure.store

在组件的隔离存储空间中创建一个新目录

要在组件的 隔离存储 运行以下命令:

ffx component storage make-directory INSTANCE_ID::NEW_PATH

替换以下内容:

  • INSTANCE_ID:目标组件的实例 ID。 例如 c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4

  • NEW_PATH:要在目标上创建的新目录的名称 组件。

以下示例命令会在my-new-example-dir 目标组件:

$ ffx component storage make-directory c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4::/my-new-example-dir