Tar 压缩命令输出到 curl

Tar Compressed command output to curl

我想分享 tar 压缩图像的输出以作为输入卷曲。

我执行以下命令不成功。

tar -cvf - -C filedir ./ | gzip > - | curl -d @- -T compressedfile.tar.gz tftp://<ip>/file > compressedfile.tar.gz

我的意图是避免在系统中创建中间压缩图像 (compressedfile.tar.gz) 然后使用 curl 上传压缩图像。

像这样:

tar --create --file=- --directory=/dir1 ./ | gzip -c |
curl -T- tftp://192.168.20.10/gzipimage.tar.gz

(为了便于阅读,分成两行)

curl 的 -T 选项可以在使用“-”代替文件名时从标准输入读取上传的文件。但是当这样时,它没有文件名附加到 URL 所以你最好在你上传到的 URL 中设置全名。