コマンド構造とナビゲーションについて
学習の目的
この単元を完了すると、次のことができるようになります。
- コマンド構造の 3 つの主要部分を挙げる。
- コマンドラインでディレクトリを変更するために使用するコマンドを識別する。
一般的なコマンド
コマンドラインでの移動やディレクトリの作成など、基本的なスキルを学ぶのに役立つコマンドをいくつか見ていきましょう。これらのスキルがあると、コマンドラインツールをもっと楽に使用できます。
コマンドを実行する前に、コマンドの構造を確認しましょう。
コマンド構造
すべてのコマンドには 3 つの部分があります。各部分を確認してから、いくつかコマンドを実行します。
コマンド例:
$ command -flag arguments
これは、Salesforce DX プロジェクトを新規作成する Salesforce コマンドの例です。フラグと引数が含まれています。
sf project generate -n MyProject
- コマンドは
sf project generate
です。 - フラグ
-n
は必須で、新規プロジェクトの名前をシステムに指示します。 - 引数は
MyProject
で、プロジェクトに割り当てる名前です。
コマンドの各部分を確認して、現在コマンドがどのように構成されているかを調べましょう。
-
コマンド。最初にコマンド (ユーティリティとも呼ばれる) があります。これがツールで実行するアクションをシステムに伝えます。
-
フラグ。フラグ (オプションとも呼ばれる) は、プロセスをトリガーする値を指定したり、他に含める変数をコマンドに指示したりします。ほとんどのフラグ値は Boolean (true または false) であるか、変数を設定すること (プロジェクトの命名など) をシステムに指示します。
フラグは 1 つまたは 2 つのハイフン (-
または--
) とその後に続く値によって識別されます。フラグが必須のコマンドもあります。引数が必須のフラグもあります。たとえば、Salesforce DX プロジェクトを新規作成するとき、プロジェクトに名前を付ける場合は、-n
フラグを使用し、引数としてプロジェクトの名前を追加します (-n MyProject
)。
スイッチはフラグによく似ていますが、引数は不要です。Salesforce CLI コマンドでは、コマンドラインツールでの作業を簡略化するために、多くのフラグオプションがスイッチとして組み込まれています。
-
引数。引数は、設定する変数や呼び出すプロセスをシステムに指示します。引数は通常、フラグの後に空白を空けて指定します。
例:-n MyProject
フラグと引数がどのようなものかわかったところで、次はフラグと引数をいつ、なぜ使用するかを説明します。
フラグ、スイッチ、引数
ほとんどのコマンドにはフラグ、スイッチ、引数という追加のテキストが必要になる可能性があることがわかりました。実行するコマンドによっては、フラグと引数によってプロジェクトの結果が変わることがあります。
たとえば、次の Salesforce CLI コマンドでスクラッチ組織を作成するとします。フラグを使用すると後でどのようにコマンドの実行を簡略化できるかを説明します。sf org create scratch -f project-scratch-def.json -d
-
コマンド: テキストの最初の部分はコマンド
sf org create scratch
です。スクラッチ組織を作成することをシステムに指示します。 -
フラグ: コマンドの残りの部分には 2 つのフラグがあります。
- 1 つ目のフラグ
-f
は指定したスクラッチ組織定義ファイルを参照するようにシステムに指示します。このファイルには、スクラッチ組織を作成するために参照すべきテンプレートが記載されています。 - 2 つ目のフラグ
-d
は、新規作成されたスクラッチ組織をデフォルトとして設定します。このフラグに引数は必要ありません。このフラグはスイッチ--set-default
として記述することもできるためです。このフラグはシステムにユーザー名を記憶するように指示するため、後でこのスクラッチ組織に対してコマンドを実行するとき (メタデータをプッシュまたはプルするときなど)、ユーザー名やエイリアスを入力する必要がなくなります。-d
フラグを使用してスクラッチ組織がデフォルトとして設定済みだからです。
- 1 つ目のフラグ
-
引数: 参照するファイルの名前
project-scratch-def.json
がこのコマンドの引数です。このファイルによって、この新しいスクラッチ組織にどの機能と特別な組織設定 (該当する場合) が必要かが決まります。
次は、コマンドラインウィンドウでコマンドを実行する方法を説明します。
mac の場合、下記のコマンドは bash または zsh で実行されます。Windows の場合、下記のコマンドは PowerShell で実行されます。
コマンドの実行方法
コマンドを実行するには、コマンドラインウィンドウにコマンドを入力し、Enter キーを押します。次の行にドル記号 $
(macOS / Linux) または大なり記号 >
(Windows) が表示されたら、そのコマンドは正常に実行されています。コマンドが正常に実行されていないと、コマンドラインウィンドウにエラーが返され、通常はエラーの説明が表示されます。コマンドを実行するときには、大文字と小文字の区別に留意します。たとえば、myProject
と MyProject
は 2 つの異なるプロジェクト名です。
コマンドラインツールでコマンドを実行する方法がわかったので、このスキルをナビゲーションコマンドで実践しましょう。
ナビゲーションコマンド
ナビゲーションコマンドは、おそらく最も頻繁に実行することになるコマンドです。プロジェクトやディレクトリを作成したら、ディレクトリ内外への移動方法を知っておく必要があります。
コマンドラインを参照して現在位置を確認する:
ディレクトリのどこにいるかを確認するには、常にコマンドラインパスを参照します。新しいコマンドラインウィンドウを開くと、通常は開始ディレクトリパスにいます。
-
macOS 開始ディレクトリ:
yourname-ltm:~ yourname$
-
Windows 開始ディレクトリ:
PS C:\Users\yourname>
ディレクトリを変更する:
直下にあるディレクトリに移動するには、cd
(change directory (ディレクトリ変更) の略) とディレクトリ名を入力します。では Documents ディレクトリに移動しましょう。このコマンドはどちらの OS でも同じです。
cd Documents
新規ディレクトリを作成する:
空の新規ディレクトリを作成するには、mkdir
コマンドと作成するディレクトリの名前を入力します。このコマンドはどちらの OS でも同じです。mkdir Resume
これで Documents ディレクトリ内に新規ディレクトリが作成されました。
複数のディレクトリを移動する:
より深く複数レベル先のディレクトリに移動する場合も、cd
コマンドを使用しますが、移動するディレクトリパスを追加します。OS によってこのパスの記述が異なる場合があります。次は Documents 内の Resume というディレクトリに移動します。別のフォルダー内にあるフォルダーに移動すると考えてください。(大文字と小文字が区別されます!)
-
macOS:
cd ~/Documents/Resume
-
Windows:
cd ~\Documents\Resume
Resume ディレクトリ内に移動しているはずです。
1 レベル戻る:
ディレクトリに移動した後、1 ディレクトリレベル戻りたい場合もあります。その場合も cd
コマンドを使用し、その後に 2 つの連続するピリオドを続けます。このコマンドはどちらの OS でも同じです。
cd ..
Documents ディレクトリレベルに戻ったはずです。
現在位置がわからず、作業ディレクトリを表示する必要がある:
現在位置のディレクトリパスと場所を表示するには、次のコマンドを実行します。
-
macOs:
pwd
-
Windows:
cd
移動はもうプロ級です!
コマンドライン履歴の表示
実行したコマンドの履歴ログを表示するには、history
と入力します (Windows の場合はキーボードショートカット F7)。このコマンドを実行すると、各コマンドの横に番号が振られたコマンドログが表示されます。
macOS/Linux のコマンドを再実行する場合は、!
と入力し、コマンドの番号を追加して Enter キーを押すとコマンドを再実行できます。
たとえば、!499
と入力すると cd (change directory) コマンドが実行されます。
次は、コマンドラインツールを設定します。