$ls -la /tmp /var/tmp arg0 = ls arg1 = -la arg2 = /tmp arg3 = /var/tmp
选项是修改命令行为的文档类型的参数,例如,-l通常表示“long”,-v verbose. -lv是在单个参数中组合的两个选项.还有很长的选项,比如–verbose.顾名思义,选项通常是可选的.然而,有一些命令具有矛盾的“强制选项”.
$ls -la /tmp /var/tmp option1= -l option2= -a
参数是一个参数,它为命令或其中一个选项提供信息,例如:在-o文件中,file是-o选项的参数.与可能的值在程序中硬编码的选项不同,参数通常不是这样的,用户可以自由地使用适合他/她需要的任何字符串.如果您需要传递看起来像一个选项但不应该被解释为的参数,您可以使用双短划线将其与命令行的开头分开: – .
$ls -la /tmp /var/tmp parameter1= /tmp parameter2= /var/tmp $ls -l -- -a option1 = -l parameter1 = -a
最后,有一些子命令,也称为函数/(低级)命令,它们与“元命令”一起使用,它嵌入了多个单独的命令,如busyBox,git,apt-get,openssl等.使用它们,您可以在子命令之前使用全局选项,并在子命令之后使用子命令特定选项.与参数不同,可能的子命令列表在命令本身中是硬编码的.例如.:
$busyBox ls -l command = busyBox subcommand = ls subcommand option1 = -l $git --git-dir=a.git --work-tree=b -C c status -s command = git command option1 = --git-dir=a.git command option2 = --work-tree=b command option3 = -C subcommand = status subcommand option1 = -s
请注意,某些命令(如test,tar,dd和find)具有比前面描述的更复杂的参数解析语法,并且可以将其部分或全部参数解析为表达式,操作数,键和类似的命令特定组件.