yes "This is a 50 GB test file line." | head -c 50G > testfile_50GB.txt But that is impractical and rarely useful for technical testing.
fsutil file createnew D:\testfile_50GB.bin 53687091200 50 GB = 50 × 1024³ bytes = Or use PowerShell: 50 gb test file
$size = 50GB $file = "C:\testfile_50GB.bin" $stream = [System.IO.File]::OpenWrite($file) $stream.SetLength($size) $stream.Close() Using dd (creates a 50 GB file of zero bytes): yes "This is a 50 GB test file line
Creating a full "50 GB test file" is not about writing text content (that would be billions of pages), but about for testing purposes (e.g., network speed, storage limits, or application behavior). For fully populated data, write in chunks
fallocate -l 50G testfile_50GB.bin Python (cross-platform) import os filename = "testfile_50GB.bin" size = 50 * 1024**3 # 50 GB in bytes
with open(filename, "wb") as f: f.seek(size - 1) f.write(b"\0") print(f"Created filename of size os.path.getsize(filename) bytes") This writes a sparse file instantly. For fully populated data, write in chunks. #include <stdio.h> #include <stdlib.h> int main() FILE *f = fopen("testfile_50GB.bin", "wb"); fseek(f, 53687091200L - 1, SEEK_SET); fputc(0, f); fclose(f); return 0;