Git 等项目使用的命令行用户界面是否有名称?

Ant*_*iMS 5 bash git command-line

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

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

  • 流浪者(“流浪者上升”,“流浪者破坏”,“流浪者状态”)
  • go(lang) ("go run", "go vet", "go fmt", "go build")
  • svn ("svn checkout", "svn update", "svn commit")
  • crosstool-ng ("ct-ng help", "ct-ng build", "ct-ng menuconfig")
  • 回购(“回购同步”,“回购帮助”,“回购初始化”)

这远不是一个全面的清单。

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

  • pacman(Arch Linux 的包管理器。使用标志样式的“子命令”与我所询问的模式相反。“pacman -Q”、“pacman -S”、“pacman -R”等)
  • portage/"emerge" (Gentoo 的包管理器)
  • ImageMagick(而不是单独的子命令,它使用单独的命令。“convert”、“import”、“animate”、“compare”、“composite”等)

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

小智 1

在Brian W. Kernighan 和 Alan AA Donovan 所著的《Go 编程语言》中,该go工具被描述为 \xc2\x 滥用\xe2\x80\xb9 瑞士军刀\xe2\x80\xba 风格,并带有十几个子命令\xc2\ xbb(第 290 页)。

\n