將檔案複製到和複製元件

ffx component copy 指令可將檔案複製到執行中的 Fuchsia 元件,以及從執行 並顯示在目標裝置上

概念

ffx component copy 指令可透過以下方式傳輸檔案:

  • 從裝置上的元件到主體機器。
  • 從主體機器到裝置上的元件。
  • 裝置上的元件之間。

提供儲存空間目錄提供 Fuchsia 的永久儲存空間或臨時儲存空間 可以儲存及存取檔案屬於特定元件的系統。每個富希西亞 元件具有「命名空間」,讓元件可以存取其所有可用 即便沒有技術背景,也能因這些工具的功能而受益元件的「moniker」會指出其在元件中的位置 元件拓撲,也可當做系統元件的 ID。

因此,如要存取元件命名空間中的檔案,您必須先找出 目標元件的路徑名稱。舉例來說, 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 目錄中的所有檔案,以及 傳送至 core/stash_secure 元件的 example.txt 檔案:

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

附錄

將檔案複製到元件的獨立儲存空間,或從元件的獨立儲存空間複製檔案

部分 Fuchsia 元件會分配給各個元件的「獨立」儲存空間 儲存空間功能

ffx component copy 不同,ffx component storage 指令僅適用於 儲存空間功能這個指令會使用元件的 instance ID 做為 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