たとえば、パッケージをインストールするには、pacman
次のようにします。誰かが入力している
pacman -S <package>
間:このオプションを使用しながらサブコマンドを使用します。dnf
dnf install <package>
pacman
-S
dnf
install
他の例には、nmcli
and tar
、with nmcli connection up <connection>
(サブコマンドを使用)、およびtar -xzvf <file>
(オプションを使用)があります。
それぞれの長所と短所は何ですか、それとも個人的な好みですか?
ベストアンサー1
より技術的な用語は「サブコマンド」です。それぞれ独自のオプションセットを持つ多くのサブコマンドを含むコマンドでコマンドラインインターフェイスを設計するのが一般的です。時には、サブコマンドに独自のサブコマンドがある場合があります。 gitは次の例です。
git remote add -f -t "$BRANCH_NAME" "$REMOTE_NAME" "git://example.com/repo"
CLIをサブコマンドに分割する理由の1つは、CLIがさまざまな関連タスクを実行できることを強調することです。包装、包装、包装、包装用、包装表示などがdnf
できます。すべて完全に異なる作業です。これらのタスクの多くには、オプションで調整および選択できる追加のノブがあります。install
remove
upgrade
search
info
サブコマンドを使用するもう1つの理由は、サブコマンドがオプションの名前空間を提供するためです。 inは--all
inとdnf list --all
全く異なることを意味します。--all
dnf search --all
大規模なCLIをサブコマンドに分割するもう1つの理由は文書化です。 gitにサブコマンドがない場合はどうなるか想像してください。完全なGitマニュアルは、Gitの各オプションとこれらのオプションがどのように関連しているかを詳しく説明する1ページです。さらに:実行git commit --help
- サブコマンドに関するヘルプページが表示されますcommit
。もう一つ:インストール概要実行すると、サブコマンドごとのtldr git commit
チートシートが表示されますcommit
。
別の考慮事項はいいえサブコマンドで有効になっている動作モードを組み合わせるには、サブコマンドを使用します。単一のコマンド呼び出しに複数のオプションを指定できますが、サブコマンドのみを指定できます。