首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"tar czf file.tar.gz目录名“还是"tar -czf file.tar.gz目录名”?

"tar czf file.tar.gz目录名“还是"tar -czf file.tar.gz目录名”?
EN

Stack Overflow用户
提问于 2010-12-19 22:11:21
回答 3查看 25.6K关注 0票数 6

我总是使用tar czf file.tar.gz dirname而不是tar -czf file.tar.gz dirname (没有-),因为速度更快

我知道..。从文档来看,我所做的是错误的。

但是我的命令有什么效果呢?

(到目前为止,我看不出我的命令有任何问题...有时我会想,为什么文档建议使用tar -czf file.tar.gz dirname而不是tar czf file.tar.gz dirname?)

EN

回答 3

Stack Overflow用户

发布于 2010-12-19 23:56:36

它们都在信息页面上:

和短期权一样,“旧期权”也是单个字母。然而,旧的选项必须一起写成一个单独的集合集...这种老式的语法很难将选项字母与其对应的参数相匹配,并且常常令人困惑。例如,在命令tar cvbf 20 /dev/rmt0中,20-b的参数,/dev/rmt0-f的参数,而-v没有对应的参数。即使使用像在tar -c -v -b 20 -f /dev/rmt0中这样的简短选项也更清晰,将所有参数放在它们所属的选项旁边。

你不想让你的用户感到困惑,对吧?

票数 4
EN

Stack Overflow用户

发布于 2010-12-19 22:19:41

代码语言:javascript
复制
$ man tar 

支持捆绑参数格式,以实现与历史实现的兼容性。它由一个初始单词(没有前导字符)组成,其中每个字符表示一个选项。参数后面是单独的单词。参数的顺序必须与捆绑的命令字中相应字符的顺序相匹配。例如,

代码语言:javascript
复制
  tar tbf 32 file.tar

指定了三个标志t、b和f。b和f标志都需要参数,因此命令行上必须有两个附加项。32是b标志的参数,file.tar是f标志的参数。

票数 0
EN

Stack Overflow用户

发布于 2018-07-12 15:03:06

虽然@user502515是正确的,但我一直在使用tar cvf,我希望@船长也会继续使用它。它更干净,如果一些用户对它感到困惑,他们可以去man tar学习它。我承认新的语法更明确,但旧的语法很漂亮,而且使用1979年的语法很有趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4483290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档