![使用 tar 在挂载之间进行 cp (驱动器 A 是否必须具有与文件大小相等的可用空间)才能完成 tar 过程?](https://linux22.com/image/799272/%E4%BD%BF%E7%94%A8%20tar%20%E5%9C%A8%E6%8C%82%E8%BD%BD%E4%B9%8B%E9%97%B4%E8%BF%9B%E8%A1%8C%20cp%20%EF%BC%88%E9%A9%B1%E5%8A%A8%E5%99%A8%20A%20%E6%98%AF%E5%90%A6%E5%BF%85%E9%A1%BB%E5%85%B7%E6%9C%89%E4%B8%8E%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E7%9B%B8%E7%AD%89%E7%9A%84%E5%8F%AF%E7%94%A8%E7%A9%BA%E9%97%B4%EF%BC%89%E6%89%8D%E8%83%BD%E5%AE%8C%E6%88%90%20tar%20%E8%BF%87%E7%A8%8B%EF%BC%9F.png)
如果在两个驱动器之间发出以下命令,是否要求当前驱动器具有足够的空间来容纳移动到第二个驱动器的所有内容?
tar cvf - .* --exclude=\. --exclude=\.\. | (cd /dest/dir; tar xvf -)
我的思路是,必须在驱动器 A 上创建 tar,然后才能将其移动到驱动器 B。
答案1
不。
tar“文件”仅存在于管道中;它不会在中间阶段写入磁盘,而只会在提取时写入目标位置。
如果在两个驱动器之间发出以下命令,是否要求当前驱动器具有足够的空间来容纳移动到第二个驱动器的所有内容?
tar cvf - .* --exclude=\. --exclude=\.\. | (cd /dest/dir; tar xvf -)
我的思路是,必须在驱动器 A 上创建 tar,然后才能将其移动到驱动器 B。
不。
tar“文件”仅存在于管道中;它不会在中间阶段写入磁盘,而只会在提取时写入目标位置。