Usage¶
Basic Usage¶
# Fill current directory until disk is full, then delete files
pushfill
# Fill a specific directory
pushfill /tmp
# Write to a single file
pushfill /tmp/fill.bin
# Write a specific amount then delete
pushfill /tmp --size 10G
# Write and keep the files
pushfill /tmp --size 500M --keep
Options¶
| Short | Long | Description |
|---|---|---|
path |
Directory or file to fill (default: current directory) | |
-s |
--size |
Target size to write (e.g. 10G, 500M, 1T). Default: fill disk |
-k |
--keep |
Keep generated files instead of deleting them |
-w |
--workers |
Number of worker goroutines (default: CPU count) |
-c |
--chunk-size |
Chunk size in MiB per write (default: 4) |
-f |
--fat32 |
Limit each file to 4 GiB (for FAT32 filesystems) |
-m |
--max-file-size |
Maximum size per file (e.g. 2G). Overrides --fat32 |
-n |
--no-colour |
Disable coloured output |
-v |
--verbose |
Show verbose output |
--version |
Show version and exit |
Size Format¶
Sizes can be specified with the following units:
| Unit | Meaning |
|---|---|
B |
Bytes |
K / KB |
Kibibytes (1024 bytes) |
M / MB |
Mebibytes (1024^2 bytes) |
G / GB |
Gibibytes (1024^3 bytes) |
T / TB |
Tebibytes (1024^4 bytes) |
Examples: 100M, 10G, 1T, 500MB, 4096B
FAT32 Support¶
pushfill automatically detects FAT32 filesystems and limits file sizes to
4 GiB - 1 byte. You can also force this behaviour with --fat32, or set a
custom per-file limit with --max-file-size.
# Auto-detected
pushfill /mnt/usb
# Explicit
pushfill /mnt/usb --fat32
# Custom limit
pushfill /mnt/usb --max-file-size 2G
Single-File Mode¶
When the path argument points to a file (rather than a directory), pushfill writes to that single file using one worker.
Keeping Files¶
By default, pushfill deletes all generated files after completion (or
interruption). Use --keep to retain them.
If you run pushfill again in the same directory after using --keep, it
will create new files alongside the existing ones — it won't overwrite
previously kept files.
Interrupting¶
Press Ctrl+C to stop pushfill gracefully. It will:
- Signal all workers to stop
- Display a summary of what was written
- Delete generated files (unless
--keepwas used)
Files are always cleaned up, even on interruption.