对于这里的专家来说,这应该很简单。
我有一个用户磁盘配额只有 6GB 的 Linux 帐户。有一些数据文件夹中/opt
有大约 3GB 的数据,压缩后会出现 1GB。里面有一些符号链接data-folder
。通常为了进行工作备份,我曾经执行以下操作。
cp -rvfL /opt/data-folder ~/
cd ~/
tar -zcvf data-folder.tar.gz data-folder
rm -rvf data-folder
Run Code Online (Sandbox Code Playgroud)
现在我的用户磁盘配额已经消耗了 2.5GB,我有足够的空间将文件复制到我的家,但不能tar
再复制到它。
有没有办法在单个命令中使用 tar 和复制文件夹,比如使用管道。
PS我不能tar,/opt
因为我只有读取权限/opt
。
我正在阅读一些有关创建发行版存储库的文档。但是,我无法准确理解这些命令的作用:
# cd /mnt/
# ls
centos-1 centos-2 centos-3
# for i in 1 2 3
> do
> cd /mnt/centos-$i
> tar cpf - . | ( cd /var/ftp/ks/centos/; tar xpf - )
> done
Run Code Online (Sandbox Code Playgroud)
我的(显然不正确)它的纲要是:遍历每个已安装的 CD ( /mnt/centos-<index>
) 并创建一个tar
保留权限的文件夹。然后,tar
再次将该文件提取到另一个文件夹,保留权限。
如果是这样,为什么要这样做?真的没有更好的办法吗?或者也许我错过了整个想法。