nfile 0.1.0

nfile a terminal system monitor written in Rust
nfile-0.1.0 is not a library.

🦀 Rust 终端系统监视器

一个用 Rustratatui 编写的终端系统监视器,类似 top功能

提供实时系统资源监控、文件管理器、进程管理等功能。

演示

功能特性

  • 系统信息面板 显示主机名、操作系统、内核版本、CPU 核心数、运行时间、系统负载平均值。
  • CPU & 内存仪表 实时进度条显示 CPU 使用率和内存占用,并显示具体数值。
  • 文件管理器
    • 浏览当前目录下的文件和文件夹(支持进入目录、返回上级)
    • 支持删除文件或文件夹(带确认对话框)
    • 图标区分:📁 目录、📄 普通文件、⚙️ 可执行文件、.. 返回上级
    • 按 Enter 打开目录或预览普通文件内容(前 200 字符)
  • 进程列表
    • 按 CPU 使用率排序,显示前 8 个进程(PID、名称、CPU%、内存)
    • 支持上下选择,按 k 终止选中进程
  • 焦点切换 按 Tab 在文件管理器和进程列表之间切换,当前焦点区域边框高亮。
  • 交互提示 状态栏显示帮助信息及操作结果(如目录切换、删除成功/失败、进程终止等),3 秒后自动清除。

安装与运行

环境要求

  • Rust 工具链(1.70 或更高版本)
  • 支持的操作系统:Linux、macOS、Windows(部分功能可能受限)

克隆与编译

git clone https://github.com/nasyt233/nfile.git
cd nfile
cargo build --release

运行

cargo run --release

使用方法

启动后,终端进入 TUI 界面,使用以下快捷键操作:

快捷键 功能

  • Tab 在文件管理器 / 进程列表间切换焦点
  • q 退出程序
  • ↑ / ↓ 上下移动光标
  • Enter 在文件管理器:打开目录或预览文件
  • d 删除选中的文件或文件夹(弹出确认对话框)
  • k 终止选中的进程(仅限进程列表焦点下)

确认删除对话框

  • 按 d 后,屏幕中央弹出确认框,显示要删除的项目名称。
  • 按 y 或 Y 确认删除,按 n 或 N 取消。

项目结构

src/
├── main.rs          # 主程序,包含所有逻辑
╚═Cargo.toml           # 依赖配置

依赖项

  • ratatui — 终端用户界面库
  • crossterm — 跨平台终端控制
  • sysinfo — 系统信息获取(CPU、内存、进程等)
  • chrono — 时间处理(可选,当前未使用)

注意事项

  • 删除文件/文件夹会直接永久删除,不经过回收站,请谨慎操作。
  • 终止进程需要权限,部分系统进程可能无法杀死。
  • 文件预览只支持文本文件,二进制文件会提示无法读取。
  • 在 Windows 下,可执行文件判断可能不准确(仅 Unix 支持)。

未来改进方向

  • 添加 CPU 历史曲线图
  • 支持网络流量监控
  • 添加磁盘使用率显示
  • 更丰富的文件管理器功能(重命名、复制等)
  • 支持鼠标操作

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


欢迎提交 Issue 或 Pull Request 进行改进!