在 GNU 手册中tar
,有以下示例表明选项的顺序很重要:
tar -cfv collection.tar blues folk jazz
在这种情况下,因为v
放在 之后f
,那么 tar 存档将被命名为“v”,并且如果它存在于当前目录中,tar
将尝试添加到存档中。collection.tar
但是,如果我从一开始就省略了-
,那么该命令会按照我们的意愿工作,尽管它v
被放置在f
. 为什么?
在 GNU 手册中tar
,有以下示例表明选项的顺序很重要:
tar -cfv collection.tar blues folk jazz
在这种情况下,因为v
放在 之后f
,那么 tar 存档将被命名为“v”,并且如果它存在于当前目录中,tar
将尝试添加到存档中。collection.tar
但是,如果我从一开始就省略了-
,那么该命令会按照我们的意愿工作,尽管它v
被放置在f
. 为什么?
因为这是不同选项样式的工作方式,它们的行为也不同。
手册页说明UNIX 或 short-option style,以单个破折号为前缀。
传统样式选项 style,没有破折号的样式:
如您所见,UNIX 或短选项样式要求选项的参数直接在选项之后。
而传统风格的选项风格需要一组选项和合适的参数以正确的顺序排列选项。
它清楚地描述在
man tar
:所以在这种情况下:
collection.tar
是一个参数,f
其余blues folk jazz
参数被视为存档成员名称。