# terminal_config **Repository Path**: Y_future/terminal_config ## Basic Information - **Project Name**: terminal_config - **Description**: 个人shell配置 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-30 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 终端环境增强工具集 这是一个多功能的 Shell 脚本项目,旨在为您提供一个强大、高效、可定制的终端工作环境。项目通过模块化的方式组织,并能根据当前的系统架构 (x86_64 或 aarch64) 动态加载不同的配置,实现跨平台兼容。 ## ✨ 功能特性 * **模块化设计**:按功能将脚本拆分到不同目录,结构清晰,易于维护和扩展。 * **跨平台兼容**:通过 `main.sh` 自动检测系统架构,加载适用于当前环境的脚本。 * **远程设备管理**:强大的 `board` 模块,简化了与远程主机(特别是运行 Android 容器的设备)的交互。 * **便捷挂载命令**:`mount` 模块提供了一系列一键挂载/卸载文件系统的脚本。 * **Android 开发助手**:`android` 模块为不同版本的 Android 系统提供了快捷命令。 * **常用工具别名**:`alias.sh` 定义了提高效率的常用命令别名。 * **服务集成**:可轻松集成第三方服务 API Key,如 `openai.sh`。 ## 🚀 快速开始 1. **克隆项目** ```bash git clone ~/.config/terminal_rc ``` 2. **加载配置** 将以下命令添加到您的 Shell 配置文件中(如 `~/.zshrc`, `~/.bashrc`): ```shell source ~/.config/terminal_rc/main.sh ``` 然后重新加载配置文件(例如 `source ~/.zshrc`)或重启终端。 3. **修改配置(推荐)** 项目把常用可配置项集中到了 `config.sh`,例如: - 远程板子 SSH:`TERMINAL_RC_BOARD_SSH`(默认 `root@board`) - 远端目录:`TERMINAL_RC_BOARD_ANDROID_IMAGE_DIR` / `TERMINAL_RC_BOARD_ANDROID_DATA_DIR` - SMB/挂载/UUID/Swap 等本机环境参数 - Android 源码目录:`TERMINAL_RC_ANDROID_SRC_ROOT`(及各版本目录) - OpenAI Key:`TERMINAL_RC_OPENAI_API_KEY`(建议在此配置,避免把 key 写死在脚本里) ## 📖 功能列表 下表总结了此工具集提供的主要函数和命令,按模块分类。 ### 远程设备管理 (`board/`) 这些命令用于通过 `ssh` 与远程主机(默认 `root@board`,可在 `config.sh` 里改)及其上的 Docker 容器进行交互。 | 命令/函数 | 参数 | 描述 | | --------------------------- | ----------------------------- | ---------------------------------------------- | | `board` | - | SSH 登录到远程设备(默认 `root@board`,可在 `config.sh` 修改)。 | | `deas` | ` [command...]` | 在指定容器中执行命令或进入交互式 Shell。 | | `dear` | `` | 重启指定的 Android 容器。 | | `deal` | `` | 查看指定 Android 容器的实时 `logcat` 彩色日志。 | | `upload_image` | ` ` | 上传单个镜像文件 (`.img`) 到指定容器的目录中。 | | `upload_image_tar` | `` | 上传一个包含镜像的 `.tar` 包到服务器。 | | `update_image` | ` [need_reset]` | 使用最新的镜像文件更新容器,可选是否重置数据。 | | `update_image_tar` | ` ` | 使用指定的 `.tar` 包更新容器。 | | `reset_image` | `` | 强制更新镜像并**清除**指定容器的用户数据。 | | `reset_image_tar` | ` ` | 使用指定的 `.tar` 包强制更新并**清除**数据。 | ### Android 开发助手 (`android/`) | 命令/函数 | 参数 | 描述 | | --------- | ---- | ---------------------------------------------------- | | `adbs` | - | 交互式选择 ADB 设备并设置 `ANDROID_SERIAL` 环境变量。 | ### 文件系统挂载 (`mount/`) 这些脚本在 `source` 时会自动执行检查和挂载操作,无需手动调用函数。 | 脚本 | 描述 | | ----------------- | ------------------------------------------------------------ | | `image_smb.sh` | 检查并自动挂载 SMB 共享(默认 `//192.168.22.43/files/lingdian`,可在 `config.sh` 修改)。 | | `data2.sh` | (请在此处添加 `data2.sh` 的具体挂载逻辑描述) | | `media.sh` | (请在此处添加 `media.sh` 的具体挂载逻辑描述) | | `ubuntu.sh` | (请在此处添加 `ubuntu.sh` 的具体挂载逻辑描述) | | `swap.sh` | 检查并启用 Swap 文件。 | ### 常用别名 (`alias.sh`) | 别名 | 原始命令 | 描述 | | ------ | ---------------------------- | -------------------------------- | | `ll` | `ls -al` | 显示详细文件列表。 | | `clip` | `xclip -selection clipboard` | 将标准输入内容复制到系统剪贴板。 | | `c` | `x cd` | (自定义命令,请确保 `x` 已安装) | ## 📂 项目结构 ``` tree . ├── main.sh # 主入口,根据系统架构加载模块 ├── README.md # 项目说明 ├── alias.sh # 通用命令别名 ├── openai.sh # OpenAI API Key 配置 (⚠️请使用安全方式) ├── android/ # Android 相关脚本 ├── board/ # 远程设备 (board) 管理脚本 (x86_64) ├── on_board/ # 设备端 (on_board) 脚本 (aarch64) └── mount/ # 文件系统挂载脚本 ``` ## 🛠️ 模块详解 ### `main.sh` 项目的核心入口。它首先会判断当前机器的 CPU 架构: * 如果是 `x86_64`(通常是您的 PC 或服务器),它会加载 `board/`, `mount/`, `android/` 等所有模块,为您提供完整的远程管理和开发功能。 * 如果是 `aarch64`(通常是嵌入式设备或目标板),它只会加载 `on_board/` 目录下的脚本。 ### `board/` - 远程设备管理 (x86_64) 此模块包含了在您的主控计算机上运行的,用于管理远程设备 `board` 的脚本。 * `docker.sh`: 提供了 `deas`, `dear`, `deal` 等函数,用于与远程设备上的 Android Docker 容器进行交互(执行 shell、重启、看日志)。r * `update_image.sh`: 更新远程设备上的 Docker 镜像。 * `reset_image.sh`: 重置远程设备上的 Docker 镜像。 * `upload_image.sh`: 上传 Docker 镜像到远程设备。 * `goto.sh`: 快捷 `ssh` 登录到远程设备。 ### `on_board/` - 设备端脚本 (aarch64) 此模块包含在目标设备(`board`)上运行的脚本。 * `docker.sh`: 功能与 `board/docker.sh` 类似,但在设备本地执行 Docker 命令。 ### `mount/` - 挂载助手 提供了一系列用于快速挂载不同文件系统的脚本。 * `image_smb.sh`: 挂载 SMB 共享的镜像目录。 * `data2.sh`, `media.sh`, `ubuntu.sh`: 挂载其他指定分区或目录。 * `swap.sh`: 启用 Swap 文件。 ### `android/` - Android 助手 为不同 Android 版本的特定操作提供了快捷方式。 * `adb.sh`: 提供 `adbs` 函数,用于交互式地选择当前连接的 ADB 设备。 * `9.sh`, `10.sh`, ... `15.sh`: 可能包含针对特定 Android 版本的快捷命令或环境变量。 * `builder_a10.sh`: 可能是用于启动 Android 10 build 环境的脚本。 ### `alias.sh` - 命令别名 * `ll`: `ls -al` * `clip`: `xclip -selection clipboard` * `c`: `x cd` (这似乎是一个自定义工具,请确保 `x` 已安装) ### `openai.sh` - API 密钥配置 此文件会读取 `config.sh` 中的 `TERMINAL_RC_OPENAI_API_KEY` 并导出 `OPENAI_API_KEY`。