ffx component copy 命令可以将文件复制到目标设备上运行的 Fuchsia 组件中,也可以从目标设备上运行的 Fuchsia 组件中复制文件。
概念
ffx component copy 命令可以通过以下方式传输文件:
- 从设备上的组件到主机。
- 从主机到设备上的组件。
- 在设备上的组件之间。
存储和目录等功能可在 Fuchsia 系统中提供永久性或临时存储空间,您可以在其中存储和访问属于特定组件的文件。每个 Fuchsia 组件都有一个命名空间,组件可以在其中访问其所有可用功能。组件的标识名表示其在组件拓扑中的相应位置,同时也用作系统中组件的标识符。
因此,如需访问组件的命名空间中的文件,您首先需要确定目标组件的别名。例如,stash_secure 组件的别名为 core/stash_secure。(如需了解组件的名称,请参阅 ffx component show 命令。)
将文件复制到组件的命名空间以及从组件的命名空间复制文件
如需在 Fuchsia 设备上运行的组件之间复制文件,请运行以下命令:
ffx component copy SOURCE DESTINATION替换以下内容:
SOURCE:要复制的文件的路径。此路径可以是指本地路径,也可以指与目标设备上的 Fuchsia 组件相关联的目录中的路径。
DESTINATION:文件的目标路径。此处适用与
SOURCE相同的选项和限制。如果 SOURCE 或 DESTINATION 是 Fuchsia 组件,请使用以下语法表示组件和路径:
MONIKER::DIR_TYPE::PATHDIR_TYPE可以是in、out或pkg之一,用于指示命名空间(“incoming”目录)、组件的传出目录或组件的软件包目录。(可选)DIR_TYPE可以省略,该命令将默认为组件的命名空间。例如,
core/stash_secure::in::/data/examples.txt表示core/stash_secure组件的命名空间中的路径/data/example.txt。
请参阅下面的示例命令:
将
stash_secure.store文件从core/stash_secure组件下载到宿主机:$ 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 组件。
如果 SOURCE 或 DESTINATION 是 Fuchsia 组件,请使用以下语法表示组件和路径:
INSTANCE_ID::PATH_IN_STORAGE例如,
c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4::/examples.txt表示example.txt文件位于core/stash_secure组件的默认/data目录中。
请参阅以下示例命令:
将
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