fx 是一組子指令的進入點,可簡化許多與 Fuchsia 開發相關的工作。
其中包含大量子指令。執行 fx help 即可查看所有可用的子指令。
如果您使用 bash 或 zsh 做為殼層,請提供 scripts/fx-env.sh
 來源,取得一些自動完成功能。
另請參閱會影響所有子指令的全域選項和旗標。
fx 子指令
主要子指令
屬於 fx 工作流程的子指令。
| 指令 | 類別 | 說明 | 
|---|---|---|
| add-update-source | 軟體推送 | 將存放區套件伺服器註冊為裝置的更新來源 | 
| args | 版本 | 手動編輯目前建構目錄的 args.gn | 
| atomic-commit | 其他 | 建立一組變更,以原子方式提交。這會修改 | 
| bazel | 版本 | 為 Fuchsia 平台樹執行實驗性 Bazel 建構作業 | 
| bazel-tool | 版本 | 在 Fuchsia Bazel 工作區中執行 bazel-tool 指令碼。 | 
| bootfs-size-report | 執行、檢查及偵錯 | 從 ZBI 產生未壓縮大小報表 | 
| 建構 | 版本 | 執行 Ninja 建構 Fuchsia | 
| build-metrics | 其他 | 管理建構指標設定 | 
| build-profile | 其他 | 管理建構設定檔設定 | 
| cipd | 來源樹狀結構 | 執行 cipd 指令列工具 | 
| 清除 | 版本 | 清除目前的 Fuchsia 建構構件 | 
| clean-build | 版本 | 清除建構目錄,然後執行完整建構作業 | 
| cleandead | 版本 | 刪除建構輸出目錄中過時的產生檔案。 | 
| cleandead-build | 版本 | 刪除過時的產生檔案,然後執行完整建構作業。 | 
| cmc | 版本 | 元件資訊清單編譯器 | 
| cp | 裝置管理 | 將檔案複製到/複製目標裝置 | 
| create-pb-zip | 其他 | 根據 product_bundles.json 檔案建立適合刷機的 pb.zip。 | 
| 建立 | 來源樹狀結構 | 架構新專案 | 
| doc-checker | 提交及審查程式碼 | 使用各種檢查方式查看 Markdown 文件。 | 
| exec | 其他 | 讀取目前的建構設定,然後執行 | 
| fargo | 版本 | Fargo 是 Cargo 的原型,專為 Fuchsia 打造的包裝函式庫 | 
| fetch-build-artifacts | 版本 | TODO(https://fxbug.dev/42139110):建構中。 | 
| flash | 裝置管理 | 刷新連結裝置 | 
| flash-remote | 其他 | 從遠端建構、擷取及刷新 Fuchsia 映像檔到裝置上,請參閱 https://fuchsia.dev/fuchsia-src/development/sdk/ffx/flash-a-device | 
| format-code | 來源樹狀結構 | 對修改過的檔案執行來源格式化工具 | 
| gen | 版本 | 對 Fuchsia 建構目錄執行 gn gen。 | 
| get-build-artifacts | 內部 API | 已淘汰!已重新命名為「 list-build-artifacts」 | 
| get-build-dir | 版本 | 列印目前的紫紅色建構目錄 | 
| get-device | 探索裝置 | 列印目前所選裝置名稱 | 
| get-device-addr | 探索裝置 | 列印目前所選裝置的 Fuchsia 位址 | 
| get-flash-source | 內部 API | 建構並傳回所需的一組建構構件清單 | 
| get-src-dir | 版本 | 列印 Fuchsia 來源目錄 (結帳根目錄,又稱「//」) | 
| get-workspace-dir | 版本 | 列印 Bazel 工作區目錄 | 
| gn | 版本 | 產生 Ninja 建構檔案的中繼建構系統 | 
| go | 版本 | 管理 Go 原始碼 | 
| helpdoc | 說明文件 | 為 fx 子指令建立 Markdown 文件 | 
| host-tool | 執行、檢查及偵錯 | 執行建構作業產生的主機工具 | 
| is-套件-server-running | 軟體推送 | 檢查套件伺服器是否正在執行 | 
| jiri | 來源樹狀結構 | 多用途工具,適用於多存放區開發作業。 | 
| jq | 其他 | jq 是一種公用程式,可在指令列上操控 JSON。 | 
| jq5 | 版本 | 將 jq 的功能擴充至 json5 物件。 | 
| klog | 執行、檢查及偵錯 | 監聽核心記錄 | 
| list-boards | 版本 | 列出可用的建構主面板 | 
| list-build-artifacts | 內部 API | 建構並傳回所需的一組建構構件清單 | 
| list-devices | 探索裝置 | 列出所有鄰近裝置 (不包括 zedboot 上的裝置) | 
| list-products | 版本 | 列出可供建構的產品 | 
| list-usb-disks | 其他 | 列出已連接的 USB 磁碟 | 
| local-publish-platform | 其他 | 將平台構件發布至本機 CIPD 執行個體。 | 
| 記錄 | 執行、檢查及偵錯 | 顯示目標裝置的記錄。 | 
| mdlint | 提交及審查程式碼 | Markdown Linter | 
| merge-套件-config | 其他 | |
| metrics | 其他 | 在 FX 工具中管理指標收集作業 | 
| mkzedboot | 軟體推送 | 製作 zedboot USB 金鑰 | 
| mkzedboot-remote | 軟體推送 | 製作 zedboot USB 金鑰 | 
| multi | 其他 | 在多個建構目錄中執行 fx指令。 | 
| netaddr | 探索裝置 | 取得執行中 Fuchsia 系統的位址 | 
| netboot | 軟體推送 | 執行開機伺服器以進行網路開機 | 
| netboot-remote | 其他 | 遠端建構、擷取及網路啟動 | 
| netls | 探索裝置 | 列出區域網路中正在執行的 Fuchsia 系統 | 
| ninja | 版本 | 直接執行建構系統。請勿用於一般工作流程。 | 
| ninjatrace2json | 版本 | 收集 Ninja 追蹤資訊,以便在 chrome://tracing 中進行分析 | 
| 節點名稱 | 裝置管理 | 找出同一節點的其他名稱 | 
| ota | 軟體推送 | 在連結裝置上執行系統 OTA | 
| qemu | 執行、檢查及偵錯 | 使用 FVM 磁碟在 QEMU 中啟動 Fuchsia | 
| rbe | 版本 | 檢查遠端建構設定 | 
| 重新啟動 | 裝置管理 | 重新啟動目標 Fuchsia 系統 | 
| repro | 版本 | 在本機複製基礎架構建構和測試的結果 | 
| resultstore | 版本 | 管理建構 ResultStore 設定。ResultStore 是一項服務 | 
| rfc | 來源樹狀結構 | Scaffold new RFCs | 
| run-host-tests | 測試 | 已淘汰!在主機上建構及執行測試 | 
| run-in-build-dir | 版本 | 在目前建構目錄的根目錄中執行指定指令 | 
| run-netboot | 執行、檢查及偵錯 | 透過 Netboot 在 QEMU 中啟動 Fuchsia | 
| run-script | 其他 | 執行自訂指令組合,可善用 fx -i(疊代模式) | 
| scp | 裝置管理 | 使用建構的 SSH 設定叫用 scp | 
| sdk-deps | 其他 | 列出目標的依附元件,以及依附元件是否位於 SDK 中 | 
| 自行建構 | 版本 | 建構執行 fx 主要工作流程所需的最低主機依附元件 | 
| 自我測試 | 測試 | 執行 fx 和子指令的測試 | 
| serial | 裝置管理 | 連結至序列控制台 | 
| serve | 軟體推送 | 啟動更新伺服器,並附加至正在執行的 Fuchsia 裝置 | 
| serve-remote | 其他 | 從遠端工作站提供服務 | 
| 設定 | 版本 | 設定建構目錄 | 
| set-build-dir | 版本 | 設定其他 fx 指令使用的預設建構目錄 | 
| set-device | 探索裝置 | 設定預設互動裝置 | 
| set-main-pb | 版本 | 在多產品環境中設定要建構的產品套裝組合 | 
| setup-firewall | 其他 | 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。 | 
| setup-mcp-servers | 其他 | |
| setup-ufw | 其他 | 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。 | 
| sftp | 裝置管理 | 使用建構的 SSH 設定叫用 sftp | 
| shell | 裝置管理 | 在目標裝置中啟動遠端互動式殼層 | 
| ssh | 裝置管理 | 使用 Fuchsia 裝置的 SSH 金鑰和設定叫用 SSH。 | 
| 狀態 | 其他 | 列印開發人員設定的相關資訊 | 
| sync-to | 來源樹狀結構 | 將本機 Fuchsia 來源樹狀結構同步至指定狀態 | 
| syslog | 執行、檢查及偵錯 | 已淘汰!fx log 的舊別名 | 
| 測試 | 測試 | 所有 Fuchsia 測試 (主機、目標和端對端) 的進入點 | 
| testgen | 測試 | 元件整合測試自動產生器 | 
| unset-device | 探索裝置 | 取消設定預設互動裝置 | 
| 更新 | 軟體推送 | 已淘汰!fx ota 的舊版別名 | 
| update-if-in-base | 軟體推送 | 檢查套件是否位於基礎中,並視需要更新裝置 | 
| 使用 | 版本 | 重複使用 fx set設定的先前建構目錄 | 
| 供應商 | 其他 | 將指令轉送至 vendor/*/scripts/devshell | 
| wait | 裝置管理 | 等待殼層可用 | 
Contrib 子指令
由專案成員貢獻的子指令,這些成員具有其他層級的支援、擁有權或兩者兼具。 contrib 目錄中的 OWNERS 檔案會提供指標,指向支援各個指令碼的成員。
| 指令 | 類別 | 說明 | 
|---|---|---|
| add-host-test | 版本 | 在 args.gn 中新增 GN 標籤並重新產生 | 
| add-test | 版本 | 在 args.gn 中新增 GN 標籤並重新產生 | 
| arm-esr | 其他 | 解碼 ARM 例外狀況綜合症暫存器值 | 
| bazel2gn | 來源樹狀結構 | 針對同時在兩者中進行雙重建構的目標,同步處理 BUILD.gn 和 BUILD.bazel。 | 
| bindc | 執行、檢查及偵錯 | 執行繫結程式編譯器和偵錯工具 | 
| binutils | 執行、檢查及偵錯 | 提供預先建構的 LLVM binutils 工具捷徑 | 
| bisect-rustc | 其他 | |
| blobstats | 執行、檢查及偵錯 | 從建構作業計算一些 blob 統計資料 | 
| bt-snoop-from-snapshot | 執行、檢查及偵錯 | 從快照擷取監聽記錄,做為 pcap 格式的資料 | 
| build-main-pb | 版本 | 建構目前的預設產品組合 | 
| check-deps | 版本 | 檢查區域中的依附元件圖表 | 
| check-goldens | 來源樹狀結構 | 檢查 GN 建構圖中的所有黃金檔案比較。 | 
| check-licenses | 說明文件 | 分析指定套件或目錄的授權狀態 | 
| cl | 提交及審查程式碼 | 列印 Gerrit 審查網址,並嘗試在使用者預設瀏覽器中開啟。 | 
| clang-tidy | 來源樹狀結構 | 對指定檔案執行 clang-tidy | 
| clippy | 其他 | 在鎖定狀態下的 fx 環境中執行 Rust 輔助指令碼 | 
| clippy | 診斷 | |
| compdb | 版本 | 不再使用 | 
| core-tests | 測試 | 執行 zircon 核心測試 | 
| 涵蓋率 | 測試 | 執行測試並匯出涵蓋範圍資料。 | 
| cpu-stats | 執行、檢查及偵錯 | 從快照產生 CPU 統計資料報表 | 
| crosvm | 執行、檢查及偵錯 | 執行 crosvm | 
| dis | 版本 | 在建構作業中反組譯指定的二進位檔。 | 
| download-rust-toolchain | 工具鍊 | 從 toolchain.ci 下載最新綠色建構版本的 Rust 工具鍊 | 
| dupefinder | 執行、檢查及偵錯 | 從堆積傾印中回報重複配置。 | 
| exec-host-tests | 測試 | |
| extract-pprof | 執行、檢查及偵錯 | 從 inspect.json 擷取 pprof 資料 | 
| extract-zbi | 其他 | |
| fastboot | 裝置管理 | 透過 Fastboot 通訊協定直接與裝置的開機載入程式互動 | 
| ffx | 其他 | 執行 ffx - Fuchsia 裝置的開發人員工具。 | 
| fidlcat | 執行、檢查及偵錯 | 已淘汰,請改用「ffx debug fidl」 | 
| fidldoc | 說明文件 | 生成 FIDL 說明文件 | 
| fidltags | 其他 | 為 .fidl 檔案產生標記 | 
| find-owner | 其他 | |
| flash-kola | 其他 | 將 Fuchsia 刷入系統啟動載入程式未修改的 Kola 板。 | 
| force-ota-from-devhost | 軟體推送 | 從開發主機強制執行無線系統更新 (會重新啟動!) | 
| fuzz | 執行、檢查及偵錯 | 已淘汰!在目標裝置上執行模糊測試 | 
| g-review | 提交及審查程式碼 | 對目前提交的內容執行 Gemini 審查 | 
| gc | 軟體推送 | 在目標上進行垃圾收集 (重新啟動!) | 
| gce | 其他 | Google Compute Engine 指令 | 
| gdb | 執行、檢查及偵錯 | 執行 GNU 偵錯工具 GDB。 | 
| gen-cargo | 其他 | 在 fx 環境中執行 Rust 輔助指令碼 | 
| gen-cargo | 來源樹狀結構 | 產生 Rust Cargo.toml 輸出檔案的符號連結 | 
| gen-watchman-config | 開發人員工具 | 產生 .watchmanconfig 檔案,供 jj 使用 | 
| gerrit-split-cl | 提交及審查程式碼 | 將 CL 鏈提交至 Gerrit | 
| gerrit-submit | 提交及審查程式碼 | 將 CL 鏈提交至 Gerrit | 
| get-main-pb-path | 版本 | 取得所提供產品組合的輸出路徑 | 
| gnu | 執行、檢查及偵錯 | 提供預先建構的 GNU (binutils / GCC) 工具捷徑 | 
| grep | 來源樹狀結構 | 列印 Fuchsia 來源中符合指定模式的行 | 
| gum | 其他 | gum 是一種公用程式,可為指令碼新增互動功能 | 
| iquery | 其他 | |
| lint | 來源樹狀結構 | 對修改過的檔案執行來源 Lint 檢查 | 
| list-owners | 來源樹狀結構 | 找出與所提供路徑對應的最近 OWNERS 檔案,或 | 
| list-packages | 版本 | 列出建構的套件。 | 
| llvm | 執行、檢查及偵錯 | 提供預先建構的 Clang / LLVM 工具捷徑 | 
| ls-buildid | 版本 | 在建構目錄、簽出和雲端儲存空間中尋找二進位檔 | 
| make-fuchsia-vol | 其他 | 建構 Fuchsia 永久磁碟 | 
| mkinstaller | 軟體推送 | 製作 Fuchsia 安裝程式映像檔 | 
| mkinstaller-remote | 軟體推送 | 從遠端建構主機製作 Fuchsia 安裝程式映像檔 | 
| move-docs | 說明文件 | 輔助工具,可將文件從一個位置批次移至另一個位置 | 
| pending-commits | 來源樹狀結構 | 查看尚未發布至全球整合的提交內容 | 
| pprof | 執行、檢查及偵錯 | pprof 包裝函式,可存取符號索引中的本機檔案 | 
| 發布 | 軟體推送 | 發布一組套件 | 
| qemu-cipd-ensure | 其他 | 產生 CIPD 檔案,下載目前的 QEMU 套件。 | 
| refresh-bazel-compdb | 其他 | |
| remove-update-source | 軟體推送 | 取消將存放區套件伺服器註冊為裝置的更新來源 | 
| roll-compiler | 其他 | |
| run-boot-test | 執行、檢查及偵錯 | 執行 ZBI 測試 | 
| run-boot-test.py | 其他 | |
| run-e2e-tests | 測試 | 執行端對端測試 | 
| run-in-build | 執行、檢查及偵錯 | 在建構目錄中執行指令 | 
| run-recovery | 執行、檢查及偵錯 | 在 qemu 中啟動 Fuchsia 系統復原 | 
| run-zbi-test-remote | 執行、檢查及偵錯 | 遠端建構 ZBI 測試、擷取並執行 | 
| rust-3p-outdated | 其他 | 在鎖定狀態下的 fx 環境中執行 Rust 輔助指令碼 | 
| rust-3p-outdated | 診斷 | |
| rustdoc-link | 其他 | 在 fx 環境中執行 Rust 輔助指令碼 | 
| rustdoc-link | 說明文件 | Rust 程式碼的生成說明文件連結。取代 fx rustdoc | 
| set-petal | 來源樹狀結構 | 設定 jiri 來管理特定花瓣 | 
| set-relay | 其他 | 將單一位元組寫入 |tty|,啟動外部繼電器的狀態。 | 
| setup-go | 其他 | 設定 Go 開發的結帳程序。 | 
| setup-usb-ethernet | 其他 | 設定 USB CDC 乙太網路的 udev 規則 | 
| show-package | 軟體推送 | 列出套件內容 | 
| shush | 來源樹狀結構 | 使用允許或編譯器建議的修正方式,讓 Rust Lint 保持靜默 | 
| size-check | 其他 | 方便執行產品尺寸檢查工具的包裝函式。 | 
| smoke-test | 其他 | 在 fx 環境中執行 Python 輔助指令碼 | 
| smoke-test | 測試 | 找出並執行受目前變更影響的測試。 | 
| 快照 | 執行、檢查及偵錯 | 從已連結的目標取得並剖析快照。 | 
| sniff | 執行、檢查及偵錯 | Fuchsia 封包擷取和顯示工具 | 
| sniff.py | 其他 | |
| sync-from-stem | 來源樹狀結構 | 將整合和依附元件同步至與 fuchsia.git 狀態相符的狀態 | 
| system-status | 裝置管理 | 取得系統狀態摘要 | 
| test-rustdoc | 測試 | 對所有 Rust 目標執行「fx rustdoc」 | 
| test-stats | 測試 | 查詢及計算測試統計資料。 | 
| test-stats.py | 測試 | 查詢及計算測試統計資料。 | 
| 分流 | 執行、檢查及偵錯 | 使用 Google 專屬規則生成錯誤狀況報告。 | 
| unarchive-package | 軟體推送 | 以 FAR 格式取消封存 Fuchsia 套件封存檔 | 
| update-3p-owners | 來源樹狀結構 | 更新 third_party 依附元件的 OWNERS 檔案 | 
| update-bazel-vendor-dir | 版本 | 更新 Bazel 供應商目錄,納入所有必要的 Bazel 依附元件。 | 
| update-rust-3p-outdated | 來源樹狀結構 | 使用 crates.io 的最新版本更新外部 Rust 依附元件 | 
| update-rustc-third-party | 來源樹狀結構 | 更新 rustc_library 和 rustc_binary 第三方依附元件 | 
| zbi_json_to_d3js.py | 其他 | |
| zedmon | 其他 | 執行 zedmon 用戶端 | 
| zxdb | 執行、檢查及偵錯 | 已淘汰,請改用「ffx debug connect」 |