2017-03-12 3 views
0

3日間私はDockerと仕事をすることを学んでいます。この中に は私が時々-や他のコマンドのための-- を使用する必要がなぜ私が思っていたターミナル(bash?)/ Docker:論理の背後および -

sudo docker run --rm -ti --net=example --name server ubuntu:14.04 bash 

nc -lp 1234 

のようなコマンドを実行した任意のロジックはありますか?

私の質問のトピックについて:私はそれが良いトピックではないことを認識しています。ごめんなさい。この質問はDockerで作業中に発生しましたが、-または--テーマがターミナルまたはドッカーのトピックであるかどうかはわかりません。

答えて

2

これはコマンドによって異なります。慣習がありますが、それらのどれも普遍的に従うものはありません。

オールドデイズでは、オプションは1文字でした。オプションが引数をとった場合は、オプション文字のあとにスペースを入れてもしなくてもかまいません(command -x fooまたはcommand -xfoo)。 テイクの引数がそうcommand -x -ycommand -xyのように書くことができ、同梱することができないことを

オプション。多くのコマンドでは、引き数を取るオプションも束ねることができ、最後に指定されたオプションは引数command -x -y foocommand -xy fooを指定します。あなたの質問のnc -lp 1234はこれの例です。 lpは2つの異なるオプションです。それはnc -l -p 1234と書かれている可能性もあります。

GNUプロジェクトのコマンドは、通常、従来の短い形式と長い形式のいずれかのオプションを受け入れることができます。オプション名は、省略形が一意である限り、省略できます。たとえば、lsには-Fオプションがあり、ディレクトリ名に/などを追加します。 Gnu lsは、これを--classify、または--clと省略して指定することができます。あいまいさと下位互換性を避けるために、旧式の一文字オプションは-を1つ使用し、長形式オプションは--を使用します。

最後に一部のコマンドは、単一の-で導入された長い名前のオプションを取ります。 findコマンドがこれの例です。

実際の解決策は、実行している特定のコマンドのマニュアルページを読むことだけです。

3

単一のダッシュの後に複数の単一文字フラグを続けることができます。二重ダッシュの後には単一の複数文字フラグが続きます。あなたのケースで

sudo docker run --rm -ti --net=example --name server ubuntu:14.04 bash 

フラグ:

rm (multi-character) 
t (single) 
i (single) 
net (multi-character) 
name (multi-character) 

nc -lp 1234 

フラグ:

l (single) 
p (single) 
+0

お時間をいただきありがとうございました。あなたは私をたくさん助けました:) – Jim

+0

@Jimあなたの質問の終わりに小さな質問に答えるために、これはDocker特有のものではありません。 unix/Linuxプログラムの大半はこのように動作するオプションを持っています。 –

+0

あなたの提案通りには一貫していません。私の答えを見てください。 –

関連する問題