tar -zxvf 和不带-

来源:互联网 发布:linux使用领域 编辑:程序博客网 时间:2024/05/16 00:27
不带 - 的是旧的风格,带 - 的是较新的风格,ps命令也是这样,有bsd,sysv和gnu long三种风格的选项,为了兼容不同习惯的用户。

具体来说,还有更多的不同。
旧风格中,其中f放在任何位置都是一样的,比如tar xzvf foo.tar.gz 和tar fxvz foo.tar.gz 是一个意思,foo.tar.gz总是被解析为f选项的参数。

但是在新风格中,比如 tar -zxvf foo.tar.gz 和 tar -fxvz foo.tar.gz 就完全不同,前者表示展开一个名为foo.tar.gz经过gzip压缩的归档,并且输出详细的信息。后者则表示处理归档xvz中的foo.tar.gz文件,而且由于没有必须的操作选项,会错误提示:“tar: 您必须从"-Acdtrux"或是"--test-label"选项中指定一个”
因为 -zxvf相当于-z -x -v -f ,并且zxv三个选项后面不需要带参数,而-f选项后面必要有参数。所以当写成-fxvz的时候,xvz被认为是-f选项的参数。

tar的info中专门有一节讲述了选项的风格问题。
1 0