Git 等项目所采用的命令行用户界面有名称吗?

Git 等项目所采用的命令行用户界面有名称吗?

如今,有相当多的命令行工具(或工具套件)使用命令行界面,每个命令都以应用程序/工具的名称开头,后跟一个空格和几个可用的“子命令”之一。例如,Git 有许多不同的子命令:“git status”、“git init”、“git fetch”、“git commit”等。

我能想到的也使用这种模式的其他几个项目是:

  • 流浪者(“流浪者上升”,“流浪者毁灭”,“流浪者状态”)
  • go(lang)(“go run”,“go vet”,“go fmt”,“go build”)
  • svn (“svn 签出”,“svn 更新”,“svn 提交”)
  • crosstool-ng (“ct-ng 帮助”、“ct-ng 构建”、“ct-ng 菜单配置”)
  • repo (“repo 同步”,“repo 帮助”,“repo 初始化”)

但这远非一份完整的清单。

一些不使用此模式的命令行应用程序示例(但如果设计稍有不同就可以):

  • pacman(Arch Linux 的包管理器。使用标志样式的“子命令”,与我询问的模式相反。“pacman -Q”、“pacman -S”、“pacman -R”等)
  • portage/“emerge”(Gentoo 的包管理器)
  • ImageMagick(它不使用单独的子命令,而是使用单独的命令. “转换”、“导入”、“动画”、“比较”、“复合”等)

我的问题是“这种‘子命令’风格的命令行界面模式是否有专门的名称,如果有,它是什么?”

答案1

Go 编程语言Brian W. Kernighan 和 Alan AA Donovan 对该go工具的描述是“利用‹瑞士军刀› 风格,包含十几个子命令»(第 290 页)。

相关内容