2017-05-24 70 views

回答

1

要创建的GNU tar追加一个tar文件:

| xargs tar --checkpoint=1024 --checkpoint-action=ttyout='%u KB approximately written\r' -cf file.tar 

更新: 的GNU tar与进度条(与pv):

find /home/user -type f -printf '%[email protected] %s %p\n' | sort -n | tail -1 | while read t s p; do tar -cf - "$p" | pv -s "$s" > file.tar; done 

输出(例如):

400MB 0:00:22 [74.2MB/s] [========================>   ] 77% ETA 0:00:15 
+0

尊敬的先生, 您的解决方案适用于我。感谢那。但是,我还有两个问题: 1-执行命令会输出以下消息:tar:从成员名称中删除前导'/'。信息的意义是什么?它以某种方式删除文件的路径吗? 2-我可以在哪里了解有关命令语法的更多信息? – faceless

+0

1:[默认情况下,GNU tar会在输入或输出中删除前导'/'。有一个关闭此行为的选项。](https://www.gnu.org/software/tar/manual/html_node/absolute.html)2:[关于检查点的更多信息](https://www.gnu。 org/software/tar/manual/html_section/tar_26.html#checkpoints) – Cyrus

+0

谢谢,max赞赏!!最后你有没有想到如何在这个过程中添加进度条? – faceless

0

您可以管它:

find /home/user -type f -printf '%[email protected] %p\n' | sort -n | tail -1 | cut -f2- -d" " | tar -rf recent.tar 

,然后创建一个压缩格式

gzip recent.tar 

或旧的包扩展

gzip -c recent.tar > recent.tgz 

请注意tar-r选项用于附加文件在你的包

+0

你好,非常感谢你的帮助。管道命令似乎可以工作,但它创建了10Kb的文件,当然,这是不能使用的。我如何为整个文件创建tar? – faceless

+0

这将tar整个文件,这个命令:'tar -rf'没有指令来分割文件。 – Unwastable

相关问题