相关疑难解决方法(0)

如何过滤 tar 文件的内容,在管道中生成另一个 tar 文件?

考虑来自外部系统的单个 tar 文件,其中包含一些具有各种属性的目录,我希望保留这些属性,例如权限、mtimes 等。如何以普通用户(不是 root)的身份轻松获取这些文件的子集?

寻找类似的东西:

tar -f some.tar.gz --subset subdir/ | ssh remote@system tar xvz
Run Code Online (Sandbox Code Playgroud)

保留此 tar 存档中的主要属性(所有权、组、模式、mtime)也很重要。tar 文件中的其他属性(例如扩展标头关键字)呢?

避免使用临时目录的解决方案的加分点,以防此子目录包含大文件。

tar pipe

13
推荐指数
2
解决办法
5326
查看次数

修改tar文件中的文件名而不将文件解压到临时位置

我有一个 tar 文件,其中包含名为 .tar 的文件夹中的一些文件old_name。现在我想创建一个新的 tar 文件,该文件夹已被重命名为,new_name而无需将文件解压缩到磁盘,因为这对于大型存档来说会显着变慢(磁盘读取和写入的两倍以上)。
我知道该怎么做:tar -xf old.tar; tar -cf new.tar --transform 's/old_name/new_name/' old_name

我尝试了几件事,但似乎都没有奏效:

  • tar -cOf old.tar | tar -xf new.tar --transform 's/old_name/new_name/'
  • cat old.tar | tar --delete --transform 's/old_name/new_name/' > new.tar
  • cat old.tar | tar -u --transform 's/old_name/new_name/' > new.tar

但似乎没有任何效果。

关闭我发现是这些:

但那些是关于删除 tarball 中的文件,而不是更改它们的路径。

command-line tar command

6
推荐指数
1
解决办法
602
查看次数

标签 统计

tar ×2

command ×1

command-line ×1

pipe ×1