Skip to content
JDK8u341Public

About

简单的CLI填盘工具

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

fulldisk

简单的CLI填盘工具

磁盘填盘工具 (fulldisk)

这个Python脚本是一个高效的磁盘填盘工具,可以在Windows和Linux系统上快速填充磁盘空间。它支持多种填充模式,并可选择隐藏生成的文件(需要管理员权限)。

功能特性

  • 多平台支持:兼容Windows和Linux系统
  • 多种填充模式:
    • 追加模式(append):在现有文件末尾追加数据
    • 碎片模式(splinters):在目录树中随机创建多个小文件
    • 单文件模式(onefile):创建一个单独的大文件
  • 智能大小处理:支持K/M/G/T单位,可自动填充剩余空间
  • 文件隐藏:可选择隐藏生成的文件(需要管理员权限)
  • 高效IO操作:使用系统级API快速创建/扩展文件
  • 权限检测:自动检查管理员权限
  • 进度显示:使用tqdm显示实时进度

系统要求

  • Python 3.6+
  • 操作系统:Windows 7+ 或 Linux
  • 管理员权限(如果需要隐藏文件)

安装依赖

pip install psutil tqdm

使用说明

基本语法

python fulldisk.py [选项]

命令行选项

选项 缩写 描述 默认值 示例
--path -p 目标路径 ./test -p C:\\
--size 填充大小(支持K/M/G/T)或"full" 10M --size 5G
--mode -m 填充模式(a/append, s/splinters, o/onefile) onefile -m a
--hide 是否隐藏文件 False --hide True

使用示例

  1. 单文件模式(默认):

    python fulldisk.py -p D:\ --size 2G
  2. 追加模式(隐藏文件):

    python fulldisk.py -p /home/user -m a --size full --hide True
  3. 碎片模式:

    python fulldisk.py -p /tmp --size 500M -m s
  4. 使用全部剩余空间:

    python fulldisk.py -p C:\ --size full

注意事项

  1. 管理员权限:

    • 使用--hide True选项时需要管理员权限
    • 在Windows上以管理员身份运行命令提示符
    • 在Linux上使用sudo
  2. 数据安全:

    • 此工具会占用磁盘空间,可能导致其他程序无法正常运行
    • 操作前请确保有足够的磁盘空间或备份重要数据
  3. 文件恢复:

    • 隐藏的文件可以通过系统设置或chattr -i(Linux)显示
    • 删除生成的文件可以释放占用的空间

工作原理

  1. 检测权限:首先检查当前用户是否具有管理员权限
  2. 计算空间:根据输入计算需要填充的空间大小
  3. 文件操作:
    • Windows:使用SetFileValidData高效创建文件
    • Linux:使用posix_fallocate创建稀疏文件
  4. 隐藏文件:
    • Windows:设置文件属性为系统和隐藏
    • Linux:重命名为隐藏文件并使用chattr +i锁定
  5. 进度显示:使用tqdm显示实时操作进度

常见问题

Q: 为什么文件隐藏功能不起作用?
A: 请确保以管理员权限运行脚本,并检查目标文件系统支持隐藏属性(NTFS/EXT4等)

Q: 如何释放占用的空间?
A: 删除生成的文件即可释放空间:

  • 单文件模式:删除f{random}.dat文件
  • 碎片模式:搜索并删除所有.dat文件
  • 追加模式:找到被修改的文件并删除/还原

Q: 为什么实际占用的空间比指定的小?
A: 工具使用稀疏文件技术,实际磁盘占用可能小于指定大小,但保留的空间无法被其他程序使用

免责声明

本工具仅用于技术研究和测试目的。使用前请确保您有操作权限,并了解可能导致的磁盘空间不足问题。作者不对使用此工具造成的任何数据丢失或系统问题负责。

About

简单的CLI填盘工具

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages