本文档概述了 tldr-pages 项目中记录的命令行开发工具和数据处理实用程序。它涵盖了编程语言编译器、结构化数据处理器、版本控制接口和其他开发工具。
有关编译特定信息,请参阅 编译与开发工具。有关 JSON 和 XML 等数据处理格式的详细信息,请参阅 数据处理与结构化数据。有关文本编辑器和媒体处理工具,请参阅 文本编辑器与媒体工具。
tldr-pages 仓库记录了广泛的命令行工具,这些工具可以帮助开发人员编写、编译、调试和处理数据。这些工具涵盖多个类别,并在开发工作流程中服务于不同的目的。
来源: pages/common/gcc.md pages/common/g++.md pages/common/clang.md pages/common/clang++.md pages/common/jq.md pages/common/tig.md pages/common/gitui.md pages/common/ansible-galaxy.md pages.de/linux/nixos-option.md pages.de/linux/nixos-rebuild.md pages.de/linux/nixos-container.md pages/common/transmission-remote.md pages/common/transmission-create.md
编译工具将人类可读的源代码转换为机器可执行的格式。tldr-pages 项目记录了几个编译器前端,主要关注来自两个主要编译器基础设施 GCC 和 LLVM 的 C 和 C++ 编译器。
GNU 编译器集合包括了多种编程语言的编译器,其中 gcc 主要用于 C,而 g++ 用于 C++。这两个编译器共享相似的命令行界面。
来源: pages/common/gcc.md pages/common/g++.md
| 操作 | GCC 标志 | 描述 |
|---|---|---|
| 编译为可执行文件 | -o output_file | 将源代码文件编译为可执行二进制文件 |
| 显示所有警告 | -Wall | 在编译过程中启用所有警告 |
| 包含调试符号 | -g | 向输出添加调试信息 |
| 优化代码 | -O1, -O2, -O3, -Ofast | 不同的优化级别 |
| 编译但不链接 | -c | 仅生成目标文件 |
| 生成汇编 | -S | 输出汇编代码而不是二进制文件 |
| 包含外部头文件 | -I path/to/header | 将目录添加到头文件搜索路径 |
| 链接库 | -L path/to/library -l library_name | 链接外部库 |
来源: pages/common/gcc.md6-33 pages/common/g++.md6-33
LLVM 提供了替代的编译器基础设施,具有 clang (C) 和 clang++ (C++) 编译器前端。这些工具通常可以用作 GCC 同类工具的直接替代品,但它们提供不同的错误消息和附加功能。
来源: pages/common/clang.md pages/common/clang++.md
| 操作 | Clang 标志 | 描述 |
|---|---|---|
| 生成 LLVM IR | -S -emit-llvm | 生成 LLVM 中间表示 |
| 标准版本 | -std=c++20 | 指定语言标准版本 |
| 所有其他操作 | 与 GCC 相同 | 大多数标志与 GCC 的用法相同 |
来源: pages/common/clang.md23-25 pages/common/clang++.md19-21 pages/common/clang++.md27-29
数据处理工具允许开发人员操作、转换和分析结构化数据格式。tldr-pages 项目记录了用于处理 JSON 等常见数据格式的实用程序,以及用于管理不同类型数据传输的工具。
jq 处理 JSONjq 是一个强大的 JSON 处理器,它拥有自己的领域特定语言 (DSL),允许对 JSON 数据执行复杂的操作。
| 操作 | 命令模式 | 描述 |
|---|---|---|
| 美化打印 JSON | jq '.' | 格式化并着色 JSON 输出 |
| 执行脚本 | jq --from-file script.jq | 从 jq 脚本文件运行操作 |
| 传递参数 | jq --arg "name" "value" '.' | 将命名参数传递给 jq |
| 创建新对象 | jq '{newKey1: .key1, newKey2: .key2}' | 将 JSON 转换为新结构 |
| 打印数组项 | jq '.[index1], .[index2]' | 选择特定的数组元素 |
| 打印所有项 | jq '.[]' | 输出所有数组/对象值 |
| 过滤对象 | jq '.[] | select(.key=="value")' | 根据条件过滤对象 |
| 添加/删除键 | jq '. + {"key": "value"}' | 向对象添加或删除特定键 |
tldr-pages 项目记录了几个用于管理 BitTorrent 数据的实用程序,主要通过 Transmission 客户端工具。
来源: pages/common/transmission-remote.md pages/common/transmission-create.md
| 工具 | 常用操作 | 描述 |
|---|---|---|
transmission-create | 创建 torrent 文件 | 使用特定片段大小、跟踪器信息生成 .torrent 文件 |
transmission-remote | 管理下载 | 添加、移除、启动、停止和移动 torrent |
transmission-show | 显示元数据 | 查看 torrent 元数据并生成磁力链接 |
来源: pages/common/transmission-remote.md6-32 pages/common/transmission-create.md7-25
tldr-pages 项目为 Git 文档化了几个文本界面,这些界面提供了除标准 Git CLI 之外的与仓库交互的替代方法。
来源: pages/common/tig.md pages/common/gitui.md
| 工具 | 主要功能 | 描述 |
|---|---|---|
tig | 基于 ncurses,轻量级 | 用于浏览 Git 历史、分支、文件的终端 UI |
gitui | 键盘驱动,可配置 | 功能齐全的 Git TUI,具备操作能力 |
来源: pages/common/tig.md3-33 pages/common/gitui.md3-37
tldr-pages 项目还涵盖了几个用于管理系统配置和部署的工具。
ansible-galaxy 管理 Ansible 角色和集合,它们是 Ansible 生态系统中可重用的自动化单元。
来源: pages/common/ansible-galaxy.md
对于 NixOS 用户,tldr-pages 项目涵盖了几个用于管理系统配置的实用程序
| 工具 | 目的 | 关键操作 |
|---|---|---|
nixos-option | 查询配置 | 列出键,检查配置中的值 |
nixos-rebuild | 更新系统 | 切换配置,升级系统 |
nixos-container | 管理容器 | 创建、启动、停止 Linux 容器 |
来源: pages.de/linux/nixos-option.md pages.de/linux/nixos-rebuild.md pages.de/linux/nixos-container.md
开发和数据处理工具与 tldr-pages 项目中的其他类别密切相关,特别是系统实用程序和文件操作工具。
本概述为理解 tldr-pages 项目中记录的开发和数据处理工具提供了基础。有关特定类别的更详细信息,请参阅本文档开头链接的子页面。
来源: 内容组织源自 pages/common/gcc.md pages/common/jq.md pages/common/tig.md 和目录结构。