ffx component copy 指令可將檔案複製到目標裝置上執行的 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::PATH- DIR_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」做為 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