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 產生未壓縮大小報表 |
| build | 版本 | 執行 Ninja 來建構 Fuchsia |
| build-and-upload | 版本 | 建構並上傳至 GCS。 |
| build-metrics | 其他 | 管理建構指標設定 |
| build-profile | 其他 | 管理建構設定檔 |
| cipd | 來源樹狀結構 | 執行 cipd 指令列工具 |
| clean | 版本 | 清除目前的 Fuchsia 建構構件 |
| clean-build | 版本 | 清除建構目錄,然後執行完整建構 |
| cleandead | 版本 | 刪除建構輸出目錄中過時的生成檔案。 |
| cleandead-build | 版本 | 刪除過時的生成檔案,然後執行完整建構作業。 |
| cleanrepo | 版本 | 移除 amber-files/ 中已發布的存放區。 |
| cleanrepo-build | 版本 | 移除 amber-files/ 中已發布的存放區,並執行完整建構。 |
| cmc | 版本 | 元件資訊清單編譯器 |
| cp | 裝置管理 | 將檔案複製到/複製目標裝置 |
| create-pb-zip | 其他 | 根據 product_bundles.json 檔案,建立適合刷機的 pb.zip。 |
| create | 來源樹狀結構 | 建構新專案 |
| debug | 執行、檢查及偵錯 | 啟動目標端 zxdb 偵錯工作階段 |
| doc-checker | 提交及審查程式碼 | 使用各種檢查功能,檢查 Markdown 文件。 |
| emu | 執行、檢查及偵錯 | 模擬裝置並與其互動 (轉送至 ffx emu)。 |
| exec | 其他 | 讀取目前的建構設定,然後執行 |
| fargo | 版本 | Fargo 是 Fuchsia 專用的 Cargo 包裝函式原型 |
| fetch-build-artifacts | 版本 | TODO(https://fxbug.dev/42139110): under construction. |
| flash | 裝置管理 | 刷新連結裝置 |
| flash-remote | 其他 | 從遠端建構、擷取 Fuchsia 映像檔,並將其刷入裝置,詳情請參閱 https://fuchsia.dev/fuchsia-src/development/sdk/ffx/flash-a-device |
| format-code | 來源樹狀結構 | 透過 SHAC 對修改過的檔案執行來源格式設定工具 |
| gen | 版本 | 對 Fuchsia 建構目錄執行 gn gen。 |
| get-build-artifacts | 內部 API | 已淘汰!已重新命名為「list-build-artifacts」 |
| get-build-dir | 版本 | 列印目前的 Fuchsia 建構目錄 |
| 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 | 執行、檢查及偵錯 | 監聽核心記錄 |
| lint | 來源樹狀結構 | 透過 SHAC 對修改過的檔案執行靜態分析檢查 |
| list-boards | 版本 | 列出可用於建構作業的主機板 |
| list-build-artifacts | 內部 API | 建構並傳回所需建構構件集的清單 |
| list-devices | 探索裝置 | 列出所有鄰近裝置 (不含 zedboot 上的裝置) |
| list-products | 版本 | 列出可用於建構作業的產品 |
| list-usb-disks | 其他 | 列出連接的 USB 磁碟 |
| local-publish-platform | 其他 | 將平台構件發布至本機 CIPD 執行個體。 |
| log | 執行、檢查及偵錯 | 顯示目標裝置的記錄。 |
| mdlint | 提交及審查程式碼 | Markdown linter |
| merge-套件-config | 其他 | |
| metrics | 其他 | 管理 fx 工具中的指標收集 |
| mkzedboot | 軟體推送 | 製作 zedboot USB 金鑰 |
| mkzedboot-remote | 軟體推送 | 製作 zedboot USB 金鑰 |
| multi | 其他 | 在多個建構目錄中執行 fx 指令。 |
| netaddr | 探索裝置 | 取得執行中 Fuchsia 系統的位址 |
| netls | 探索裝置 | 列出區域網路上執行中的 Fuchsia 系統 |
| ninja | 版本 | 直接執行建構系統。請勿用於一般工作流程。 |
| ninjatrace2json | 版本 | 收集 Ninja 追蹤記錄資訊,以便在 chrome://tracing 中分析 |
| node-names | 裝置管理 | 找出相同節點的其他名稱 |
| ota | 軟體推送 | 在連結裝置上執行系統 OTA |
| qemu | 執行、檢查及偵錯 | 使用 FVM 磁碟在 QEMU 中啟動 Fuchsia |
| rbe | 版本 | 檢查遠端建構設定 |
| reboot | 裝置管理 | 重新啟動目標 Fuchsia 系統 |
| repro | 版本 | 在本機複製基礎架構建構和測試結果 |
| resultstore | 版本 | 管理建構 ResultStore 設定。ResultStore 是一項服務 |
| rfc | 來源樹狀結構 | 建立新 RFC 的鷹架 |
| 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 | 版本 | 設定建構目錄 |
| set-build-dir | 版本 | 設定其他 fx 指令使用的預設建構目錄 |
| set-device | 探索裝置 | 設定預設互動裝置 |
| set-main-pb | 版本 | 設定要在多產品環境中建構的產品組合 |
| setup-firewall | 其他 | 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。 |
| setup-ufw | 其他 | 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。 |
| sftp | 裝置管理 | 使用建構 SSH 設定叫用 SFTP |
| shell | 裝置管理 | 在目標裝置中啟動遠端互動式殼層 |
| ssh | 裝置管理 | 使用 Fuchsia 裝置的安全殼層金鑰和設定叫用安全殼層。 |
| status | 其他 | 列印開發人員設定的相關資訊 |
| sync-to | 來源樹狀結構 | 將本機 Fuchsia 來源樹狀結構同步至指定狀態 |
| syslog | 執行、檢查及偵錯 | 已淘汰!fx 記錄的已淘汰別名 |
| 測試 | 測試 | 所有 Fuchsia 測試 (主機、目標和端對端) 的進入點 |
| testgen | 測試 | 元件整合測試自動產生器 |
| unset-device | 探索裝置 | 取消設定要互動的預設裝置 |
| update | 軟體推送 | 已淘汰!fx ota 的別名已淘汰 |
| update-if-in-base | 軟體推送 | 檢查套件是否位於基本映像檔中,並視需要更新裝置 |
| use | 版本 | 重複使用 fx set 先前設定的建構目錄 |
| vendor | 其他 | 將指令轉送至 vendor/*/scripts/devshell |
| wait | 裝置管理 | 等待殼層可用 |
| worktree | 來源樹狀結構 | 管理 Fuchsia 工作樹 |
Contrib 子指令
由專案成員提供的子指令,具有其他層級的支援、擁有權或兩者。contrib 目錄中的 OWNERS 檔案會提供指標,指向支援各指令碼的成員。
| 指令 | 類別 | 說明 |
|---|---|---|
| add-host-test | 版本 | 在 args.gn 中新增 GN 標籤,然後重新產生 |
| add-test | 版本 | 在 args.gn 中新增 GN 標籤,然後重新產生 |
| 代理 | 開發人員工具 | 管理 AI 程式設計代理設定、權限和開發人員工作流程。 |
| arm-esr | 其他 | 解碼 ARM 例外狀況症候群暫存器值 |
| bazel2gn | 來源樹狀結構 | 同步處理 BUILD.gn 和 BUILD.bazel,以便在兩者中雙重建構目標。 |
| bindc | 執行、檢查及偵錯 | 執行繫結程式編譯器和偵錯工具 |
| binutils | 執行、檢查及偵錯 | 提供預先建構 LLVM binutils 工具的捷徑 |
| bisect-rustc | 其他 | |
| blobstats | 執行、檢查及偵錯 | 從建構作業計算部分 blobfs 統計資料 |
| bt-snoop-from-snapshot | 執行、檢查及偵錯 | 從快照擷取窺探記錄,並以 pcap 格式資料呈現 |
| build-main-pb | 版本 | 建構目前的預設產品組合 |
| build-zbi | 核心 | 發布產品 ZBI,以便刷寫至開發用裝置。 |
| 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-baseline | 其他 | 找出指定建構工具最近一次成功的範例建構作業,並下載相關指標。 |
| download-metrics | 其他 | 從 CAS 下載指標構件。 |
| download-rust-toolchain | 工具鍊 | 從 toolchain.ci 下載 Rust 工具鍊至最新綠色版本 |
| dtsfmt | 來源樹狀結構 | dtsfmt 是用於格式化裝置樹狀架構來源 (.dts) 檔案的公用程式。 |
| dupefinder | 執行、檢查及偵錯 | 回報記憶體快照資料中的重複分配。 |
| enable-ffx-usb | 其他 | 啟用 ffx USB 通訊協定支援 |
| exec-host-tests | 測試 | |
| extract-metrics | 其他 | 從 Fuchsia 效能結果中擷取指標。 |
| extract-pprof | 執行、檢查及偵錯 | 從 inspect.json 擷取 pprof 資料 |
| extract-zbi | 其他 | |
| fastboot | 裝置管理 | 透過 fastboot 通訊協定直接與裝置的系統啟動載入程式互動 |
| fetch-toolchain | 版本 | 從 CAS 下載工具鍊並列印操作說明 |
| ffx | 其他 | 執行 ffx:Fuchsia 裝置的開發人員工具。 |
| fidlcat | 執行、檢查及偵錯 | 已淘汰,請改用「ffx debug fidl」 |
| fidldoc | 說明文件 | 生成 FIDL 說明文件 |
| fidltags | 其他 | 為 .fidl 檔案產生標記 |
| find-owner | 其他 | |
| flash-kola | 其他 | 將 Fuchsia 刷入具有未修改系統啟動載入程式的 Kola 板。 |
| force-ota-from-devhost | 軟體推送 | 已淘汰!fx ota 的別名已淘汰 |
| fuzz | 執行、檢查及偵錯 | 已淘汰!在目標裝置上執行模糊測試 |
| gc | 軟體推送 | 在目標上執行垃圾收集套件 (重新啟動!) |
| 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 | 版本 | 取得指定產品組合的輸出路徑 |
| gum | 其他 | gum 是為指令碼新增互動功能的公用程式 |
| iquery | 其他 | |
| lint | 來源樹狀結構 | 已淘汰:請改用 fx lint |
| list-owners | 來源樹狀結構 | 尋找與指定路徑最接近的 OWNERS 檔案,或 |
| list-packages | 版本 | 列出建構的套件。 |
| llvm | 執行、檢查及偵錯 | 提供預先建構 Clang / LLVM 工具的捷徑 |
| ls-buildid | 版本 | 在建構目錄、檢出和 Google Cloud 中尋找二進位檔 |
| make-fuchsia-vol | 其他 | 建構 Fuchsia 永久磁碟 |
| min-owners | 來源樹狀結構 | 建議由最少數量的程式碼擁有者審查修訂版本。 |
| mkinstaller | 軟體推送 | 製作 Fuchsia 安裝映像檔 |
| mkinstaller-remote | 軟體推送 | 從遠端建構主機建立 Fuchsia 安裝程式映像檔 |
| move-docs | 說明文件 | 可將文件從某個位置批次移至另一個位置的輔助工具 |
| pending-commits | 來源樹狀結構 | 查看尚未發布至全域整合的修訂版本 |
| perf-analyze | 執行、檢查及偵錯 | 獨立效能分析工具 |
| pprof | 執行、檢查及偵錯 | pprof 包裝函式,可存取符號索引中的本機檔案 |
| 發布 | 軟體推送 | 發布一組套件 |
| qemu-cipd-ensure | 其他 | 產生 CIPD 檔案,下載目前的 QEMU 套件。 |
| readme_fuchsia | 說明文件 | 剖析、格式化及驗證 README.fuchsia 檔案 |
| 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 來管理特定 petal |
| set-relay | 其他 | 將單一位元組寫入 |tty|,啟動外部繼電器的狀態。 |
| setup-go | 其他 | 設定 Go 開發作業的檢出。 |
| setup-jj | 開發人員工具 | 設定 jj 工具 (如已安裝),以便與 Fuchsia 搭配使用。 |
| setup-usb-ethernet | 其他 | 設定 USB CDC 乙太網路的 udev 規則 |
| show-package | 軟體推送 | 列出套件內容 |
| shush | 來源樹狀結構 | 使用 allow 屬性或編譯器建議的修正方式,忽略 Rust Lint |
| size-check | 其他 | 執行產品大小檢查工具的便利包裝函式。 |
| smoke-test | 其他 | 在 fx 環境中執行 Python 輔助指令碼 |
| smoke-test | 測試 | 找出並執行受目前變更影響的測試。 |
| snapshot | 執行、檢查及偵錯 | 從連結的目標取得並剖析快照。 |
| sniff | 執行、檢查及偵錯 | Fuchsia 封包擷取和顯示工具 |
| sniff.py | 其他 | |
| sync-from-stem | 來源樹狀結構 | 將整合和依附元件同步至與 fuchsia.git 狀態相符的狀態 |
| system-status | 裝置管理 | 取得系統狀態摘要 |
| test-category | 測試 | 查詢及查看已設定的測試類別資訊。 |
| test-stats | 測試 | 查詢及計算測試統計資料。 |
| test-stats.py | 測試 | 查詢及計算測試統計資料。 |
| triage | 執行、檢查及偵錯 | 產生錯誤條件報表,並套用 Google 專屬規則。 |
| update-3p-owners | 來源樹狀結構 | 更新 third_party 依附元件的 OWNERS 檔案 |
| update-bazel-vendor-dir | 版本 | 更新 Bazel 供應商目錄,納入所有必要的 Bazel 依附元件。 |
| update-rustc-third-party | 來源樹狀結構 | 更新 rustc_library 和 rustc_binary third_party 依附元件 |
| zbi_json_to_d3js.py | 其他 | |
| zedmon | 其他 | 執行 zedmon 用戶端 |
| zxdb | 執行、檢查及偵錯 | 已淘汰,請使用「ffx debug connect」 |