#scan #disk #disk-space #file #directory #scanning #memory

已删除 spacedisplay-lib

用于扫描磁盘空间的库

0.2.0 2022年10月23日
0.1.1 2022年10月17日
0.1.0 2022年10月13日

#26 in #disk-space


用于 spacedisplay-cli

MIT 许可证

94KB
2K SLoC

spacedisplay-rs

Build

简单、跨平台的终端应用程序,用于扫描和分析已用磁盘空间

demo

功能

  • 快速扫描和低内存占用(每1MB文件约150MB)
  • 从应用程序中删除文件
  • 检测到文件更改,因此可以从外部修改文件系统。在Linux上,这受限于inotify限制。
  • 如果未检测到文件更改,则手动重新扫描目录
  • 终端UI,可通过SSH使用
  • 小巧(Windows上约为1MB,Linux上约为5MB),无需额外依赖项的自包含二进制文件

安装

GitHub 发布

请访问 GitHub 发布页面 以获取最新构建版本。

Cargo

您可以使用 cargo 安装 spacedisplay-cli

cargo install spacedisplay-cli

基本用法

在您的终端中运行二进制文件。如果没有参数启动,将打开帮助屏幕,其中包含对控件的解释

键盘 操作
H, F1 打开帮助/控件屏幕
F 打开文件屏幕
S 打开扫描统计信息
Q 退出
N 开始新的扫描(打开包含可用挂载点的对话框)
R, F5 重新扫描当前打开的目录
上/下 在文件列表中上下移动
Enter, 右 打开所选目录
D 删除所选目录/文件(打开确认对话框)
Esc, Backspace, 左 转到父目录

N 打开 新扫描 对话框并选择要扫描的挂载点。扫描开始后,将打开文件屏幕。可以通过按 S 打开扫描统计信息对话框。当文件列表打开时,会跟踪文件系统中的所有更改(包括外部应用程序)。

性能

spacedisplay在速度和内存占用方面都很高效。因此,扫描速度主要受限于访问磁盘以收集元数据。以下是完整扫描根分区所需时间的测试结果。

平台 文件+目录 SpaceDisplay 文件管理器
Windows 10 730K 13.2秒 38.2秒
Kubuntu 700K 1.8秒 3.8秒
macOS Big Sur 61K 1.4秒 2.0秒

在上面的测试中,默认文件管理器在Windows上是资源管理器,在Kubuntu上是Dolphin,在macOS上是Finder。

spacedisplay在内存使用方面也很轻量。
为了扫描700k个文件,它使用了约100MB的RAM(在Kubuntu上测得)。

依赖项

约4-19MB
约199K SLoC