我正在使用提取tar存档tar -xf /tmp/update.tar -C / -v --keep-newer-files
。该-v
选项是显示所有文件处理,该--keep-newer-files
选项是自我解释。
由于所有文件已经存在,因此得到以下输出:
usr/local/bin/execstate.log
tar: Current ‘usr/local/bin/execstate.log’ is newer or same age
usr/local/bin/dblist.sh
tar: Current ‘usr/local/bin/dblist.sh’ is newer or same age
usr/local/bin/dbblacklist.sh
tar: Current ‘usr/local/bin/dbblacklist.sh’ is newer or same age
我知道,该--warning-no-ignore-newer
选项切换了警告,但是输出是:
usr/local/bin/execstate.log
usr/local/bin/dblist.sh
usr/local/bin/dbblacklist.sh
但是这些文件都不会被提取!
我只想显示提取的文件(如果尚不存在)!
可以使用star
以下方法完成:
star -C / -xv -nowarn < /tmp/update.tar
似乎gtar
没有完全复制star
;-)中的功能
OSS友好的Linux发行版具有star
二进制软件包,对于其他发行版,请schilytools
从http://sourceforge.net/projects/schilytools/files/获取最新的源归档文件后对其进行编译。
当前的星级版本是1.6.1。请注意,该选项-nowarn
和仅提取存档中较新文件的默认选项来自1985,该日期早于gtar
开始。
请注意,由于Linux实现了慢速文件系统,因此建议检查star
手册页中的option -no-fsync
。这使您可以切换star
到与使用时一样不安全的模式gtar
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句