我总是使用tar czf file.tar.gz dirname而不是tar -czf file.tar.gz dirname (没有-),因为速度更快
我知道..。从文档来看,我所做的是错误的。
但是我的命令有什么效果呢?
(到目前为止,我看不出我的命令有任何问题...有时我会想,为什么文档建议使用tar -czf file.tar.gz dirname而不是tar czf file.tar.gz dirname?)
发布于 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中这样的简短选项也更清晰,将所有参数放在它们所属的选项旁边。
你不想让你的用户感到困惑,对吧?
发布于 2010-12-19 22:19:41
$ man tar 支持捆绑参数格式,以实现与历史实现的兼容性。它由一个初始单词(没有前导字符)组成,其中每个字符表示一个选项。参数后面是单独的单词。参数的顺序必须与捆绑的命令字中相应字符的顺序相匹配。例如,
tar tbf 32 file.tar指定了三个标志t、b和f。b和f标志都需要参数,因此命令行上必须有两个附加项。32是b标志的参数,file.tar是f标志的参数。
发布于 2018-07-12 15:03:06
虽然@user502515是正确的,但我一直在使用tar cvf,我希望@船长也会继续使用它。它更干净,如果一些用户对它感到困惑,他们可以去man tar学习它。我承认新的语法更明确,但旧的语法很漂亮,而且使用1979年的语法很有趣。
https://stackoverflow.com/questions/4483290
复制相似问题