![Tar 创建并将文件拆分到子目录中](https://linux22.com/image/46939/Tar%20%E5%88%9B%E5%BB%BA%E5%B9%B6%E5%B0%86%E6%96%87%E4%BB%B6%E6%8B%86%E5%88%86%E5%88%B0%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%AD.png)
我有这个命令:
tar -cf - input/* | split --bytes=1m
这将我巨大的 gz 文件分割成小文件。这很好用。
但是我希望在目录中创建输出(小文件)input/
。如何实现?
答案1
您可以通过管道进入子 shell 并cd
在那里调用:
tar -cf - input/* | ( cd input; split --bytes=1m )
请注意不要调用两次,因为下一次,小文件tar
也将成为存档的一部分。将存档放回原始目录通常不是一个好主意。
另外,您的tar
命令当前未压缩,您只是将文件放在一起并将它们再次分成相同大小的块。