创建任意数据和大小的tar流

Mik*_*eyB 3 tar

我需要创建一个任意大的tarfile进行测试,但不希望它打到磁盘上.

最简单的方法是什么?

Mik*_*eyB 5

您可以轻松使用python生成这样的tarfile:

mktar.py:

#!/usr/bin/python

import datetime
import sys
import tarfile

tar = tarfile.open(fileobj=sys.stdout, mode="w|")

info = tarfile.TarInfo(name="fizzbuzz.data")
info.mode = 0644
info.size = 1048576 * 16
info.mtime = int(datetime.datetime.now().strftime('%s'))

rand = open('/dev/urandom', 'r')

tar.addfile(info,rand)
tar.close()
Run Code Online (Sandbox Code Playgroud)
michael@challenger:~$ ./mktar.py | tar tvf -
-rw-r--r-- 0/0        16777216 2012-08-02 13:39 fizzbuzz.data
Run Code Online (Sandbox Code Playgroud)