fx 是一组子命令的入口点,可简化许多与 Fuchsia 开发相关的任务。
它包含大量子命令。运行 fx help 可查看所有可用的子命令。
如果您使用 bash 或 zsh 作为 shell,请执行 scripts/fx-env.sh
以获取一些自动补全功能。
另请参阅影响所有子命令的全局选项和标志。
fx 子命令
主要子命令
属于 fx 工作流的子命令。
| 命令 | 类别 | 说明 |
|---|---|---|
| add-update-source | 软件交付 | 将软件包服务器注册为设备的更新源 |
| args | build | 手动编辑当前 build 目录的 args.gn |
| atomic-commit | 其他 | 创建将以原子方式提交的一对更改。它会修改 |
| bazel | build | 针对 Fuchsia 平台树运行实验性 Bazel build |
| bazel-tool | build | 在 Fuchsia Bazel 工作区中运行 bazel-tool 脚本。 |
| bootfs-size-report | 运行、检查和调试 | 根据 ZBI 生成未压缩大小报告 |
| build | build | 运行 Ninja 以构建 Fuchsia |
| build-metrics | 其他 | 管理 build 指标配置 |
| build-profile | 其他 | 管理 build 配置文件配置 |
| cipd | 源代码树 | 运行 cipd 命令行工具 |
| clean | build | 清理当前的 Fuchsia build 工件 |
| clean-build | build | 清理 build 目录,然后执行完整 build |
| cleandead | build | 删除 build 输出目录中过时的生成文件。 |
| cleandead-build | build | 删除过时的生成文件,然后执行完整构建。 |
| cmc | build | 组件清单编译器 |
| cp | 设备管理 | 将文件复制到目标设备/从目标设备复制文件 |
| create-pb-zip | 其他 | 根据 product_bundles.json 文件创建适合刷写的 pb.zip。 |
| create | 源代码树 | 搭建新项目 |
| doc-checker | 代码提交和审核 | 使用各种检查来检查 Markdown 文档。 |
| exec | 其他 | 读取当前 build 配置,然后执行 |
| fargo | build | Fargo 是一个围绕 Cargo 的原型 Fuchsia 特定封装容器 |
| fetch-build-artifacts | build | TODO(https://fxbug.dev/42139110):正在建设中。 |
| flash | 设备管理 | 刷写已连接的设备 |
| flash-remote | 其他 | 远程构建、提取和刷写 Fuchsia 映像到设备上,请参阅 https://fuchsia.dev/fuchsia-src/development/sdk/ffx/flash-a-device |
| 格式代码 | 源代码树 | 对修改后的文件运行源格式化程序 |
| gen | build | 针对 Fuchsia build 目录运行 gn gen。 |
| get-build-artifacts | 内部 API | 已弃用!已重命名为 list-build-artifacts |
| get-build-dir | build | 打印当前的 Fuchsia build 目录 |
| get-device | 设备发现 | 打印当前所选设备的名称 |
| get-device-addr | 设备发现 | 打印当前所选设备的 Fuchsia 地址 |
| get-flash-source | 内部 API | 构建并返回一组所需的 build 制品 |
| get-src-dir | build | 打印 Fuchsia 源代码目录(检出根目录,即“//”) |
| get-workspace-dir | build | 打印 Bazel 工作区目录 |
| git | 来源 | 在 Fuchsia 树中运行 git 命令。 |
| gn | build | 为 Ninja 生成 build 文件的元 build 系统 |
| go | build | 管理 Go 源代码 |
| helpdoc | 文档 | 为 fx 子命令创建 Markdown 文档 |
| host-tool | 运行、检查和调试 | 运行 build 生成的主机工具 |
| is-package-server-running | 软件交付 | 检查软件包服务器是否正在运行 |
| jiri | 源代码树 | 用于多代码库开发的多用途工具。 |
| jq | 其他 | jq 是一种用于在命令行中处理 JSON 的实用程序。 |
| jq5 | build | 将 jq 的功能扩展到 json5 对象。 |
| klog | 运行、检查和调试 | 监听内核日志 |
| list-boards | build | 列出可用于构建的板 |
| list-build-artifacts | 内部 API | 构建并返回一组所需的 build 制品 |
| list-devices | 设备发现 | 列出附近的所有设备(不包括 zedboot 上的设备) |
| list-products | build | 列出可用于构建的商品 |
| list-usb-disks | 其他 | 列出已连接的 USB 磁盘 |
| local-publish-platform | 其他 | 将平台制品发布到本地 CIPD 实例。 |
| 日志 | 运行、检查和调试 | 显示来自目标设备的日志。 |
| mdlint | 代码提交和审核 | Markdown linter |
| merge-package-config | 其他 | |
| metrics | 其他 | 管理 FX 工具中的指标收集 |
| mkzedboot | 软件交付 | 制作 zedboot USB 密钥 |
| mkzedboot-remote | 软件交付 | 制作 zedboot USB 密钥 |
| multi | 其他 | 在多个 build 目录中运行 fx 命令。 |
| netaddr | 设备发现 | 获取正在运行的 Fuchsia 系统的地址 |
| netboot | 软件交付 | 运行用于网络启动的 bootserver |
| netboot-remote | 其他 | 远程构建、提取和网络启动 |
| netls | 设备发现 | 列出本地网络上正在运行的 Fuchsia 系统 |
| ninja | build | 直接运行构建系统。请勿用于常规工作流。 |
| ninjatrace2json | build | 在 chrome://tracing 中收集 Ninja 跟踪信息以供分析 |
| node-names | 设备管理 | 查找同一节点的其他名称 |
| ota | 软件交付 | 在已连接的设备上执行系统 OTA |
| qemu | 运行、检查和调试 | 在 QEMU 中使用 FVM 磁盘启动 Fuchsia |
| rbe | build | 检查远程 build 配置 |
| 重新启动 | 设备管理 | 重新启动目标 Fuchsia 系统 |
| repro | build | 在本地复制基础设施构建和测试的结果 |
| resultstore | build | 管理 build ResultStore 配置。ResultStore 是一项服务 |
| rfc | 源代码树 | 搭建新的 RFC |
| run-host-tests | 测试 | 已弃用!在主机上构建和运行测试 |
| run-in-build-dir | build | 在当前 build 目录的根目录下运行给定的命令 |
| run-netboot | 运行、检查和调试 | 通过网络启动在 QEMU 中运行的 Fuchsia |
| run-script | 其他 | 运行自定义的命令组合,能够利用 fx -i(迭代模式) |
| scp | 设备管理 | 使用 build ssh 配置调用 scp |
| sdk-deps | 其他 | 列出目标的依赖项,以及依赖项是否位于 SDK 中 |
| 自建 | build | 构建运行 fx 主要工作流所需的最小主机依赖项 |
| 自测 | 测试 | 运行 fx 和子命令的测试 |
| serial | 设备管理 | 附加到串行控制台 |
| serve | 软件交付 | 启动更新服务器并连接到正在运行的 Fuchsia 设备 |
| serve-remote | 其他 | 从远程工作站提供服务 |
| set | build | 设置 build 目录 |
| set-build-dir | build | 设置其他 fx 命令使用的默认 build 目录 |
| set-device | 设备发现 | 设置要与之互动的默认设备 |
| set-main-pb | build | 在多产品环境中设置要构建哪个产品包 |
| setup-firewall | 其他 | 设置 Linux 防火墙规则,以允许 Fuchsia 设备和模拟器流量。 |
| setup-mcp-servers | 其他 | |
| setup-ufw | 其他 | 设置 Linux 防火墙规则,以允许 Fuchsia 设备和模拟器流量。 |
| sftp | 设备管理 | 使用 build ssh 配置调用 sftp |
| shell | 设备管理 | 在目标设备中启动远程交互式 shell |
| ssh | 设备管理 | 使用适用于 Fuchsia 设备的 SSH 密钥和配置调用 SSH。 |
| 状态 | 其他 | 打印有关开发者设置的相关信息 |
| sync-to | 源代码树 | 将本地 Fuchsia 源代码树同步到给定状态 |
| syslog | 运行、检查和调试 | 已弃用!fx 日志的已弃用别名 |
| test | 测试 | 所有 Fuchsia 测试(主机、目标和端到端)的入口点 |
| testgen | 测试 | 组件集成测试自动生成器 |
| unset-device | 设备发现 | 取消设置要交互的默认设备 |
| update | 软件交付 | 已弃用!fx ota 的已弃用别名 |
| update-if-in-base | 软件交付 | 检查软件包是否位于基本映像中,并根据需要更新设备 |
| use | build | 重新使用由 fx set 设置的先前构建目录 |
| 供应商 | 其他 | 将命令转发到 vendor/*/scripts/devshell |
| wait | 设备管理 | 等待 shell 变为可用状态 |
Contrib 子命令
由具有其他支持级别、所有权或同时具有这两者的项目成员贡献的子命令。contrib 目录中的 OWNERS 文件提供了指向支持每个脚本的成员的指针。
| 命令 | 类别 | 说明 |
|---|---|---|
| add-host-test | build | 向 args.gn 添加 GN 标签并重新生成 |
| add-test | build | 向 args.gn 添加 GN 标签并重新生成 |
| arm-esr | 其他 | 解码 ARM 异常综合征寄存器值 |
| bazel2gn | 源代码树 | 同步了在 BUILD.gn 和 BUILD.bazel 中双重构建的目标。 |
| bindc | 运行、检查和调试 | 运行绑定程序编译器和调试器 |
| binutils | 运行、检查和调试 | 提供指向预构建 LLVM binutils 工具的快捷方式 |
| bisect-rustc | 其他 | |
| blobstats | 运行、检查和调试 | 从 build 中计算一些 blobfs 统计信息 |
| bt-snoop-from-snapshot | 运行、检查和调试 | 从快照中提取侦听日志作为 pcap 格式的数据 |
| build-main-pb | build | 构建当前默认产品包 |
| check-deps | build | 检查区域中的依赖关系图 |
| check-goldens | 源代码树 | 检查 GN build 图中的所有黄金文件比较。 |
| check-licenses | 文档 | 分析给定软件包或目录的许可状态 |
| cl | 代码提交和审核 | 打印 Gerrit 代码审核网址,并尝试在用户的默认浏览器中打开该网址。 |
| clang-tidy | 源代码树 | 对指定文件运行 clang-tidy |
| clippy | 其他 | 在锁定状态下,在 fx 环境中运行 Rust 辅助脚本 |
| clippy | 诊断 | |
| compdb | build | 不推荐 |
| core-tests | 测试 | 运行 Zircon 核心测试 |
| 覆盖率 | 测试 | 运行测试并导出覆盖率数据。 |
| cpu-stats | 运行、检查和调试 | 根据快照生成 CPU 统计信息报告 |
| crosvm | 运行、检查和调试 | 运行 crosvm |
| dis | build | 反汇编 build 中的指定二进制文件。 |
| download-rust-toolchain | 工具链 | 从 toolchain.ci 下载 Rust 工具链到最新的绿色 build |
| 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 | 软件交付 | 强制从 devhost 进行无线下载系统更新(会重新启动!) |
| 模糊 | 运行、检查和调试 | 已弃用!在目标设备上运行模糊测试 |
| 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 | 代码提交和审核 | 向 Gerrit 提交 CL 链 |
| gerrit-submit | 代码提交和审核 | 向 Gerrit 提交 CL 链 |
| get-main-pb-path | build | 获取所提供商品 bundle 的输出路径 |
| gnu | 运行、检查和调试 | 提供指向预构建 GNU (binutils / GCC) 工具的快捷方式 |
| grep | 源代码树 | 打印 Fuchsia 源代码中与指定模式匹配的行 |
| gum | 其他 | gum 是一种用于向脚本添加互动功能的实用程序 |
| iquery | 其他 | |
| lint | 源代码树 | 对修改后的文件运行源代码检查工具 |
| list-owners | 源代码树 | 查找与所提供路径对应的最近的 OWNERS 文件,或 |
| list-packages | build | 列出构建的软件包。 |
| llvm | 运行、检查和调试 | 提供预构建的 Clang / LLVM 工具的快捷方式 |
| ls-buildid | build | 在 build 目录、签出和 Cloud Storage 中查找二进制文件 |
| make-fuchsia-vol | 其他 | 构建 Fuchsia 永久性磁盘 |
| mkinstaller | 软件交付 | 制作 Fuchsia 安装程序映像 |
| mkinstaller-remote | 软件交付 | 从远程 build 主机创建 Fuchsia 安装程序映像 |
| move-docs | 文档 | 用于将文档从一个位置批量移动到另一个位置的辅助工具 |
| pending-commits | 源代码树 | 查看尚未发布到全局集成的提交 |
| pprof | 运行、检查和调试 | pprof 封装容器,可访问符号索引中的本地文件 |
| publish | 软件交付 | 发布一组软件包 |
| 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 | 运行、检查和调试 | 在 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-usb-ethernet | 其他 | 为 USB CDC 以太网设置 udev 规则 |
| show-package | 软件交付 | 列出软件包内容 |
| shush | 源代码树 | 使用允许或编译器建议的修复来禁止 Rust lint |
| size-check | 其他 | 用于运行商品尺寸检查器的便捷封装容器。 |
| 冒烟测试 | 其他 | 在 fx 环境中运行 Python 辅助脚本 |
| 冒烟测试 | 测试 | 查找并运行受当前更改影响的测试。 |
| snapshot | 运行、检查和调试 | 从已连接的目标获取并解析快照。 |
| sniff | 运行、检查和调试 | Fuchsia 数据包捕获和显示工具 |
| sniff.py | 其他 | |
| sync-from-stem | 源代码树 | 将同步集成和依赖项到与 fuchsia.git 状态匹配的状态 |
| system-status | 设备管理 | 获取系统状态摘要 |
| test-rustdoc | 测试 | 对所有 Rust 目标运行“fx rustdoc” |
| test-stats | 测试 | 查询并计算测试统计信息。 |
| test-stats.py | 测试 | 查询并计算测试统计信息。 |
| triage | 运行、检查和调试 | 生成包含 Google 特定规则的错误情况报告。 |
| unarchive-package | 软件交付 | 以 FAR 格式解压缩 Fuchsia 软件包归档 |
| update-3p-owners | 源代码树 | 更新了第三方依赖项的 OWNERS 文件 |
| update-bazel-vendor-dir | build | 更新 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” |