Answers:
以下示例可用于避免创建中间文件:
含gzip的tar:
tar cf - A | gzip -9 > B.tar.gz
没有tar的gzip:
gzip -9c A > B.gz
不含gzip的tar:
tar cf B.tar A
重命名(移动)A
到B
第一个对我来说没有意义。如果需要这样做,则只需mv A B &&
在上述任一命令前加上a 并A
与之交换即可B
。
tar和gzip的示例:
mv A B && tar cf - B | gzip -9 > B.tar.gz
这取决于您的tar版本
如果您具有支持成员转换的版本(--transform或--xform),则只需执行
tar -c --transform=s/A/B/ A | gzip -9 > B.tar.gz
| 如果您的tar支持-z选项,则可以避免gzip -9> B.tar.gz
tar -zcvf B.tar.gz --transform=s/A/B/ A
如果您的tar版本不支持--transform,则必须首先复制该文件,例如
cp A B && tar -zcvf B.tar.gz B
但是,如果只压缩一个文件,为什么不一起跳过tar部分,而只是做
cat A | gzip -9 > B.gz
如果您要使用cp
其他名称/位置制作副本,则只需在创建完整的.gzip文件时包括所需的完整/最终路径名即可:
tar -cvf existing.file | gzip -1 > ./newdirectory/newnamed.file.tgz
tar -czf - some-folder > some-archive.tar.gz
?
cp A B
?