SFTP 文件管理

Terma 内置的是基于 SSH 的 SFTP 文件工作区。如果你习惯 Xftp,可以把这里理解为“终端旁边的 Xftp 类文件面板”:终端和文件可以在同一工作区分屏查看,远端数据仍通过 SSH/SFTP 传输,不需要额外安装 Xftp。
浏览与搜索
- 支持目录浏览、面包屑导航、分页、多选、收藏、排序和按需递归搜索。
Ctrl+F打开当前 SFTP 标签的搜索面板;搜索过程中会显示加载状态,按Esc可关闭搜索。- 大目录使用远端分页和批量元数据读取,避免一次性拉取全部条目;搜索结果带路径信息,便于直接定位文件。
- 切换回已经打开的目录时会复用短期快照,不重复读取;显式重新打开仍会检查连接并刷新内容。
鼠标侧键 XButton1 可以返回上一次访问的目录,XButton2 可以前进。SFTP 和本地文件的目录历史按标签独立保存,分屏操作只影响鼠标所在的文件面板。
在线编辑
- 文本文件可以在内置编辑器中打开,支持完整编辑器、轻量分段编辑和自动模式;超出设置上限或识别为二进制时会明确提示。
- 编辑器支持语法高亮、自动换行、Tab 缩进、
Ctrl+S、实时大小/行数统计和未保存关闭确认。 - 文件名编码与文本内容编码分开设置,支持 UTF-8、GB18030/GBK、Big5、Shift_JIS、EUC-KR 等常见编码;保存时尽量保持原始编码。
- 可选择 LF、CRLF 或 CR;Shell 脚本默认保持 Unix LF,选择其他换行格式时会提示兼容性影响。
- 保存前会重新检查远端文件是否变化;发生冲突时可打开左右差异视图,再选择备份覆盖、另存为或暂不保存。
- 覆盖前可保留远端原文件,内部编辑器保留最近 10 个备份版本供比较。
图片与 SVG 预览
- 图片文件使用二进制响应预览,支持 PNG、JPEG、GIF、WebP、BMP、ICO 和 SVG。
- SVG 可以按图片预览或以文本打开,并可在“仅预览”“仅编辑”和“分栏预览”之间切换。
- SVG 预览支持正色、黑白反转(只处理黑、白、灰,彩色保持不变)、黑白模式(白色画布、黑色前景,只有图形元素自身带深色实心填充时才保留白色细节)和全局反转;切换模式不会重置缩放、滚动位置或当前搜索结果。预览中的“下载”会按当前模式生成对应 SVG,导出 PDF 也会使用同一颜色模式,两种格式都保持矢量内容。生成文件名会标记所选变换。
- SVG 预览支持“导出 PDF”,也可以在 SVG 文件右键菜单中直接“转换为 PDF 并下载”。转换在本机浏览器内完成,保留 SVG 的路径和文字为矢量内容,放大缩小不会像截图一样变模糊;引用的
<use>/<symbol>图形会按原始父坐标系展开,旋转位置不会被重复平移,横向画布也会保持横向页面。外部脚本、样式和资源仍会按安全规则移除。遇到部分字体或样式声明不兼容时会自动重试兼容模式,仍不支持的 SVG 会显示具体提示。 - 分栏预览支持拖动平移、按钮或
Ctrl/Command + 滚轮缩放、拖动调整分栏比例,以及修改源码后的实时刷新。预览点击图形可以定位源码,编辑器光标也会在预览中标记对应图形;可选择定位时自动居中并缩放,手动调整视图后会自动退出该模式。 - 图片预览与文本编辑入口按文件类型分开,避免把二进制内容误写进编辑器或终端日志。
文件传输
- 支持同一主机内复制和移动。
- 支持两台 SSH 主机之间直接流式复制。
- 本地文件或文件夹可直接拖入终端当前目录,也可拖到 SFTP 面板上传。
- SFTP 远端项目可拖到终端或另一个 SFTP 标签。
- 同名项目可选择覆盖、自动改名或取消。
分屏与任务
浏览器中点击“新建本地文件标签”,可选择“当前电脑”或“Terma 所在设备”,再按新标签或上、下、左、右分屏打开。
- 当前电脑:点击“选择文件夹”授权访问。支持目录写入的 HTTPS 或 localhost 浏览器可以新建文件/文件夹、编辑文本、重命名文件、删除及接收远端 SFTP 项目。普通 HTTP 地址或不支持目录写入的浏览器使用文件夹读取方式,可以浏览和上传到 SFTP;下载由浏览器保存,不会直接写入所选文件夹。浏览器禁止访问系统目录时,请选择具体的数据文件夹,或使用“只读选择”。刷新后需要重新选择电脑目录,目录授权句柄不会上传到服务器或写入工作区配置。
- Terma 所在设备:普通发行版显示运行账户可访问的磁盘与目录,NAS 显示平台授权目录,支持新建、文本编辑、重命名、删除、文件上传/下载和 SFTP 互传。地址栏显示设备实际路径,可复制或点击输入目录;后退、前进和上一级保留导航历史。普通发行版的本机直连遵循当前访问设置;网络、反向代理及飞牛访问需要登录会话。应用数据库、私钥、程序目录及符号链接/硬链接不纳入目录管理,也不能通过重命名其上级目录移动这些私有数据。
- 飞牛目录授权:安装包提供
terma/files共享目录,并开放应用中心的授权目录设置。额外目录通过飞牛应用中心授权,Terma 只使用平台提供的路径和应用账号权限。 - 其他部署方式:默认提供独立的 Terma 文件目录和设备文件系统根目录,遵循服务进程自身的系统权限。需要限定范围时,管理员可在启动环境中设置
TERMA_FILE_ROOTS为绝对路径 JSON 数组,例如["/srv/documents","/srv/uploads"];设置后仅显示这些目录及 Terma 文件目录,Web 不提供修改此授权范围的接口。 - 浏览器限制与文件名:浏览器不公开当前电脑所选目录的绝对路径,也可能拒绝系统根目录和受保护目录。如果 Terma 就运行在当前电脑上,可以使用“Terma 所在设备”浏览磁盘。接收远端项目时会适配 Windows 不支持的字符、保留名称和末尾空格,并通过另存名称保留已有内容。
发送到浏览器的本地文件标签时,同名文件可选择覆盖、自动重命名或取消;文件夹或类型冲突使用重命名保留原有内容。覆盖时先完成文件接收,再替换原文件,中断不会留下半个文件覆盖原内容。下载或接收完成后会自动刷新停留在目标目录的文件标签,重命名结果同时显示在完成通知和任务记录中。电脑端文件夹重命名使用系统文件管理器。设备目录上传单个文件最多 1 GiB,文本编辑最多 1 MiB,单次目录传输最多 1000 个项目。
桌面宽度下,在 SFTP 列表中单击选中文件或文件夹,再稍后单击名称即可直接改名;Enter 或点击其他位置保存,Escape 取消。快速双击仍打开文件或目录。
- 终端、SFTP 和本地文件标签支持新标签、上/下/左/右分屏;每个分屏保留独立路径、分页和选择状态。
- 工作区任务中心统一显示上传、下载、目录同步、压缩和跨主机复制进度,任务支持取消、失败重试和结果导出。
- 普通传输和跨主机传输支持持久检查点、暂停、继续和程序重启恢复;浏览器下载支持 HTTP Range。
传输与同步任务
需要反复执行的上传、下载或目录同步,可以从工作区标题栏旁打开传输与同步任务。它把定时传输和文件夹同步放在同一任务列表中,SFTP 页面继续负责即时浏览、编辑和单次操作。
- 从已保存的 SSH 连接选择本机目录和远端目录后,可以保存上传、下载或双向任务。
- 任务支持一次、周期、Cron 和实时执行;实时模式会持续检查变化,适合近实时同步,不等同于服务器推送。
- 文件没有变化时不会反复新增历史行;连续无变化检查会合并显示连续次数,真实传输、删除、冲突和失败仍分别保留。
- 任务的通知、删除传播、冲突处理和运行记录都在任务管理器中设置,避免把每个文件的传输都变成单独通知。
工作区任务中心会显示 SFTP 传输和目录同步进度;长任务可在不中断连接的情况下继续观察。桌面端生成的反色 SVG 和导出的 SVG PDF 也会进入任务中心并显示保存位置,可直接打开文件、打开所在目录或删除本机生成文件;浏览器模式保留当前页面内的再次下载入口。页面通知会显示在预览全屏和应用内弹窗上方。