ffx component copy
指令可將檔案複製到目標裝置上執行的 Fuchsia 元件,或從中複製檔案。
概念
ffx component copy
指令可透過以下方式轉移檔案:
- 從裝置上的元件到主體機器。
- 從主體機器到裝置上的元件。
- 在裝置上元件之間。
儲存空間和目錄等功能可在 Fuchsia 系統中提供永久或臨時儲存空間,方便您儲存及存取特定元件的檔案。每個 Fuchsia 元件都有一個「命名空間」,該元件可以存取其所有可用的功能。元件的「moniker」會指出元件在元件拓撲中的位置,也是做為系統元件 ID 的應用。
因此,如要存取元件命名空間中的檔案,您必須先識別目標元件的路徑名稱。舉例來說,stash_secure
元件的路徑名稱為 core/stash_secure
。(如要探索元件的路徑名稱,請參閱 ffx component show
指令)。
將檔案複製到元件的命名空間,以及從元件的命名空間複製檔案
如要將檔案複製到 Fuchsia 裝置上執行的元件,或從中複製檔案,請執行下列指令:
ffx component copy SOURCE DESTINATION
更改下列內容:
SOURCE:要複製的檔案路徑。此路徑可以參照本機路徑,或是與目標裝置上 Cuchsia 元件相關聯的目錄內的路徑。
DESTINATION:檔案的目的地路徑。這裡適用的選項和限制與
SOURCE
相同。如果 SOURCE 或 DESTINATION 是 Fuchsia 元件,請使用以下語法來表示元件和路徑:
MONIKER::DIR_TYPE::PATH
DIR_TYPE
可以是in
、out
或pkg
之一,用於表示命名空間 (「傳入」目錄)、元件的傳出目錄或元件的套件目錄。您也可以選擇省略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 做為 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