从文件列表中获取输入的Tar归档

时间:2011-11-07 07:42:48

标签: linux unix archive tar

我有一个文件,其中包含我想用tar存档的文件列表。 我们称之为mylist.txt

它包含:

file1.txt
file2.txt
...
file10.txt

有没有办法可以发出以mylist.txt为输入的TAR命令? 像

这样的东西
tar -cvf allfiles.tar -[someoption?] mylist.txt

这就像我发出这个命令一样:

tar -cvf allfiles.tar file1.txt file2.txt file10.txt 

6 个答案:

答案 0 :(得分:206)

是:

tar -cvf allfiles.tar -T mylist.txt

答案 1 :(得分:81)

假设GNU tar(因为这是Linux),-T--files-from选项就是你想要的。

答案 2 :(得分:27)

您还可以输入可能有用的文件名:

.el-nav {
  height: 50px;
  max-height: 50px;
}

.el-ico {
  display: inline-block;
  width: 30px;
  height: 18px;
  background-image: url(icon.png);
}

答案 3 :(得分:13)

某些版本的tar(例如,HP-UX上的默认版本(我测试过11.11和11.31))不包含用于指定文件列表的命令行选项,因此一个体面的解决方法是执行此操作:

tar cvf allfiles.tar $(cat mylist.txt)

答案 4 :(得分:5)

在Solaris上,您可以使用选项-I来读取通常在文件命令行中声明的文件名。与命令行相比,这可以创建包含数十万个文件的tar存档(只是这样做)。

所以这个例子会读到

tar -cvf allfiles.tar -I mylist.txt

答案 5 :(得分:2)

对于我来说,它的工作原理如下:

tar -L List.txt -cvf BKP.tar