现在有很多命令行工具(或工具套件)使用命令行界面,这样每个命令都以应用程序/工具的名称开头,后跟一个空格和几个可用的“子命令”之一。例如,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”等)
我的问题是“是否有专门用于这种‘子命令’风格的命令行界面模式的名称,如果有,它是什么?”