Articles of tar

将tar.gz包装到一个shell脚本中

我想知道如何将tar.gz文件打包到shell脚本中,就像idk **。bin一样。 所以我可以在一个shell文件而不是tar.gz中提供程序

将输出从两个焦油过程输送到一个孩子

我可以把两个命令放到一个单独的孩子中(编辑:其实你不能这样做,请参阅sarnold答案): (echo "1.1 2.2 3.3") && (echo "4.4 5.5 6.6") | cat 哪个输出 1.1 2.2 3.3 4.4 5.5 6.6 我想要做一些类似于tar的输出。 目前我正在分析存储在单个tar文件中的数据,如下所示: tar -x –to-command MySerialiser -f MyData1.tar.xz | MyAnalyser MySerialiser预处理MyAnalyser可以读取的表单中的数据。 我现在想把两个tar文件的输出传送给MyAnalyser 。 我尝试了以下,但输出到达terminal。 (tar -x –to-command MySerialiser -f MyData1.tar.xz) && (tar -x –to-command MySerialiser -f MyData2.tar.xz) | MyAnalyser 我可以用壳做这个吗? 还是我需要重新包装我的tar文件?

shell脚本提取tar文件请帮忙

我创build了一个shell脚本(.sh)来提取一个tar文件。 以下是代码: tar -xvwf 1.0.1.tar 但是当脚本运行并开始提取焦油时,它会在每个文件提取中要求确认。 extract `1.0.1'? 我怎样才能避免在我的脚本? 我在Linux上运行。

find* .tar然后提取并删除文件

我试图find一个tar文件,提取文件,然后删除所有提取的文件 – 我能够执行查找和提取,或find该文件,并将其删除,但我无法将所有三个string。 下面是我最好的尝试。 它运行没有错误,但不删除提取的文件,所以我坚持如何删除我已经提取到当前目录的文件。 find ~ -name '*.tar' | xargs tar -xf && rm -f 我试图解压缩到另一个目录,然后删除目录,但无法使其在使用xargs时工作。 我已经尝试了很多不同的领域,但是找不到任何东西,所以我很感激这个帮助。

如何用tar压缩目录时排除大文件

我想在Linux中压缩一个目录。 我创build了一个tar.gz ,它变成了一个大文件,由于该目录包含一些* .o文件和一些pdf文件。 有没有办法压缩一个目录,但排除大于预定义大小的文件? 在tar命令中有一个–exclude参数,但是我想拒绝大于1MB的文件。 这是约束,而不是文件的名称。

Java,档案,Linux和西里尔文

我尝试用java编写一个归档器,用正确的西里尔文件名创buildTAR或ZIP归档,然后在linux中打开。 在Windows中,我使用org.apache.tools.zip,从ant: ZipOutputStream.setEncoding("cp866"); 得到它,但在Linux文件辊(档案pipe理器)不明白它。 在org.apache.tools.tar方法中setEncoding()不存在。 此外,我尝试使用其他编码,支持西里尔语,如cp1251,utf-8,koi-8r,但它没有给出任何结果。

我怎样才能打包到tar文件只有path上的最后一个目录?

我怎样才能打包到tar文件只有path上的最后一个目录? 例如,我有几条path /usr/local/files/dir1/ file1.txt file2.txt file3.txt /usr/local/files/dir2/ file3.txt file4.txt file5.txt 如果我运行命令: tar czf my_arch.tar.gz -C /usr/local/files/dir1 . 我只获得dir1目录的遏制,没有自己。 所以我有 – my_arch.tar.gz / file1.txt,file2.txt,file3.txt,但我需要像我的档案里面的结构 – my_arch.tar.gz/dir1/file1.txt, file2.txt, file3.txt 我怎么能做到这一点? 谢谢。

用.tarignore文件从tar归档中排除目录

以.gitignore类似的方式,是否可以这样做:在子目录中的.tarignore文件在执行时将其从归档中排除 tar cfjvh backup.tar.bz2 . (我知道tar的–exclude参数,但这里不是我想要的)。

如何比较两个tar归档(包括文件内容,新的/删除的文件,符号链接)?

我有两个tar档案(压缩或不压缩),我想find两个档案中的所有差异。 这两个档案包含一个完整的文件系统(即解压缩后,将生成/bin , /home , /root , /usr , /var , /etc ,我希望你明白这一点)。 我想要一个列表如下: 新文件 删除文件 更改的文件(文件的内容,不只是大小) 更改了符号链接(相对和绝对) 新/删除符号链接 我不能只是解压缩这些档案并使用diff ,因为diff不会正确识别绝对符号链接(因为他们会指出档案的文件系统结构)。 还有另一种方法来比较两个tar档案的内容吗?

使用grep -lr输出将文件添加到tar

在UBUNTU和CENTOS。 我有一些文件,我想根据他们的内容进行焦油。 $ grep -rl "123.45" . 返回这种格式的约10个文件的列表: ./somefolder/someotherfolder/somefile.txt ./anotherfolder/anotherfile.txt 等等… 我想tar.gz所有的人。 我试过了: $ grep -rl "123.45" . | tar -czf files.tar.gz 不起作用。 这就是我来这里的原因。 有任何想法吗? 谢谢。 刚试过这个,而且它在Ubuntu下工作,但在CentOS中我得到“tar:02:不能stat:没有这样的文件或目录”。 $ tar -czf test.tar.gz `grep -rl "123.45" .` 如果有其他人有更好的办法,让我知道。 至less在Ubuntu上面的工作很好。