コマンドラインインターフェイス(CLI)

コマンドラインインターフェイスとは何ですか?

コマンドラインインターフェイス(CLI)は、プログラムの実行、コンピュータファイルの管理、およびコンピュータとの対話に使用されるテキストベースのユー コマンドラインインターフェイスは、コマンドラインユーザーインターフェイス、コンソールユーザーインターフェイス、文字ユーザーインターフェイスとも呼ばれます。 Cliは、キーボードによって入力される入力コマンドとして受け入れます。

今日、ほとんどのベンダーは、windows、Linux、macOSなどのオペレーティングシステム(Os)のデフォルトとしてグラフィカルユーザインタフェース(GUI)を提供しています。 現在のほとんどのUnixベースのシステムは、コマンドラインインタフェースとグラフィカルユーザインタフェースの両方を提供しています。

MS-DOSオペレーティングシステムとWindowsオペレーティングシステムのコマンドシェルは、コマンドラインインターフェイスの例です。 また、Pythonなどのプログラミング言語開発プラットフォームでは、コマンドラインインタフェースをサポートすることができます。

コマンドラインは、1980年代にMICROSOFT WindowsやAppleの”クラシック”Mac OSのようなGUIベースのパーソナルコンピュータOsが導入された後、人気が低下しました。

シェルとは何ですか?

コンピューティングでは、シェルプログラムはオペレーティングシステムのコンポーネントへのアクセスを提供します。 シェルは、ユーザー(または他のプログラム)に、プログラムを実行したり、構成を管理したりするためのシステムの「内部」に入る方法を提供します。 シェルは内側と外側の境界を定義します。

以下は、オペレーティングシステムのシェルの二つのタイプです:

  • CLIベースのシェルは、グラフィカルユーザインタフェースのオーバーヘッドを必要とせずに、OSとの対話の簡潔で効率的なモードをユーザーに提供します。
  • GUIベースのシェルは初心者には使いやすいと考えられていますが、コマンドプロンプトで対話することを好むシステム管理者やパワーユーザーのためのCLIベースのシェルも含まれています。Bashは、Linuxを含むUnixベースのOsのための最も一般的に使用されるコマンドラインシェルです。

    コマンドラインインターフェイスを処理するソフトウェアは、一般にコマンド言語インタプリタ、コマンドプロセッサ、またはコマンドインタプリタ よく知られている2つのCLIシェルは、Windows用のPowerShellとLinuxおよびmacOS用のBashです。

    シェルはOSの最も外側の層であり、多くの場合、基礎となるOSカーネルから分離されています。 シェルはアプリケーションのように動作し、必要に応じて置き換えることができます。 次の例に示すように、OSには複数のシェルが使用可能な場合があります:

    • Microsoft Windowsには、Command PromptアプリとPowerShellアプリケーションが含まれており、どちらもコンピューターと直接対話するために使用できます。 Linux用のWindows Subsystemは、基になるシステムへのアクセス権を持つCLIも提供します。
    • Linuxやその他のUnixベースのオペレーティングシステムは、通常、デフォルトのシェルとしてbourne-Againシェル(bash)を提供します。 Cシェル、Zシェルなどを含む他のシェルは、デフォルトのシステムシェルとして構成できます。

    シェルはOSの上の一層だけであるため、システムフォルダ内のファイルの移動やロックされたファイルの削除など、他のインターフェイスタイプでは利用できない操作を実行することができます。

    CLIシェルを使用して最大の利点を得るには、スクリプト言語を学ぶ必要があります。 ほとんどのコマンドラインシェルは、完全にプログラム可能なスクリプトまたはバッチファイルに一連のコマンドを保存できます。 シェルスクリプトは、基本的なシステム管理の自動化の基盤です。

    CLIsはどのように機能しますか?

    コンピュータシステムが実行されると、そのCLIはコマンドプロンプトで空白の画面で開き、コマンドを入力することができます。

    CLIコマンドの種類には、次のものがあります:

    • オペレーティングシステムのインターフェイスの一部としてエンコードされるシステムコマンド;
    • 正常に起動されたときにテキストベースまたはグラフィカルアプリケーションを実行する実行可能プログラム、および
    • バッチプログラム(またはバッチファイルまたはシェルスクリプト)は、一連のコマンドを一覧表示するテキストファイルです。 バッチプログラムが正常に呼び出されると、システムコマンドと実行可能プログラムの両方を含むコマンドが実行されます。

    CLIは単純なコマンド/応答システム以上のものであり、ほとんどのCLIには他のCLIよりも好ましい機能が追加されています。 いくつかの機能には、次のものがあります:

    • スクリプト機能により、ユーザーはコマンドラインからシステム上で実行できるプログラムを書くことができます。
    • コマンドパイプを使用すると、あるプログラムの出力を別のプログラムの入力にすることができます(データの流れを”パイプ”)。
    • システム変数は、コマンドラインで設定するか、表示される変数の値を設定できます。
    • コマンド履歴機能により、ユーザーは以前に発行されたコマンドを思い出すことができます。 セッションのコマンド履歴を保存するもの(PowerShellなど)と、セッション履歴をより長く保存するように設定するもの(bashなど)があります。

    Cliのコマンドと構文は、スクリプトの下位互換性を可能にするために、時間の経過とともに非常に安定する傾向があります。

    プロンプトとコマンド

    オペレーティングシステムとCLIによっては、数百または数千の異なる実行可能コマンドが利用可能な場合があります。 コマンドのセットは、オペレーティングシステムまたはアプリケーシ

    たとえば、MicrosoftはPowerShellで使用する”軽量コマンド”として何百ものコマンドレットを定義しています。PowerShell関数は、コマンドラインで実行できるコマンドレットのリストです。

    いくつかのコマンドは、dirコマンドのように、コマンドラインで単独で実行されます。

    C:\>dir

    コマンドは、コマンドの実行方法を変更する引数(パラメータとも呼ばれます)とともに使用することもできます。 引数はコマンドに従い、追加の詳細または詳細を提供します。

    多くのCliのcd”change directory”コマンドは、目的の新しいディレクトリパスが引数として含まれている場合に現在の作業ディレクトリを変更するために使用されますが、場合によっては(MS-DOSやWindowsコマンドプロンプトのように)コマンド自体が現在の作業ディレクトリを返します。

    このコマンドは、現在の作業ディレクトリをリセットします。

    cd\documents\user\working

    引数を使用すると、コマンドラインユーザーは非常に具体的な結果を得るこ

    現代のCliは、あるコマンドの出力を取得し、それを別のコマンドへの入力として送信するためのパイプ、またはメカニズムを提供します。 垂直バー、または”/”記号は、多くの場合、この目的のために使用されます。

    次の”one-liner”は、パイプを使用して複数のPowerShellコマンドを文字列化し、Windowsマシンから詳細なネットワーク構成情報を取得します:

    Get-NetIPAddress | Sort InterfaceIndex | FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress

    この文字列は、単一のコマンドであるかのようにコマンドラインに入力されますが、次の連続したコマンドが含まれます:

    • Get-NetIPAddressは、引数を指定せずに入力した場合に、コンピュータのすべてのIP構成情報を取得します。
    • Sort InterfaceIndexは、Get-NetIPAddressコマンドレットの出力を入力として受け入れ、コンピューター構成に含まれる各IPアドレスに関連付けられたInterfaceIndex値で並べ替えます。
    • FT InterfaceIndex,InterfaceAlias,AddressFamily,IPAddress Format-Table(FT)コマンドを使用して、前のコマンドのソートされた出力をフォーマットし、各IPアドレスの指定された値を表示します。

    MicrosoftがMS-DOSをWindowsコマンドプロンプトに置き換えたときのように、既存のCliを置き換えるために新しいCliが導入されたとき、下位互換性は多くの場合、目標 一部のMS-DOSコマンドはサポートされなくなりましたが、ほとんどは当初の意図どおりにPowerShellで動作します。

    一般的なMS-DOSコマンドには、次のものがあります:

    コマンド メモ
    CD C:\>CD\user\programs
    C:\user\programs>
    は、現在のディレクトリを指定されたパスに変更します。 パスを指定せずに入力すると、現在の作業ディレクトリの名前が表示されます。 パスがコマンドプロンプトに含まれている場合、プロンプトは例のように変更されます(下記のPROMPTも参照)。
    CHKDSK C:\>CHKDSK a: は、指定されたディスク(この場合はa:ドライブ内のフロッピーディスク)をチェックし、ディスクサイズ、使用中のファイルとディレクトリの数、使
    コピー :\>autoexecをコピーします。バットオートエクセック…BAK 指定されたファイルをコピーします。 異なるファイル名を持つ重複ファイルにファイルをコピーしたり、名前を変更せずにファイルを別のディレクトリにコピーするために使用できます。
    DEL C:\>DEL autoexec.BAK
    C:\>DEL C:\backups\*.BAK
    現在の作業ディレクトリまたは他のディレクトリ内のファイルを削除するために使用できます。 ファイルのグループを削除するためにワイルドカード文字と一緒に使用することもできます。
    DIR C:\>DIR
    C:\>DIR C:\backups\*.txt
    指定されたディレクトリ内のすべての内容-ファイルとディレクトリ-を表示します。 ディレクトリが指定されていない場合は、現在のディレクトリの内容を参照します。 ワイルドカード文字と一緒に使用して、特定のファイルのみを表示することもできます。
    EDLIN C:\>edlin autoexec.bat は、テキストファイルの編集に使用できる行エディタedlinを起動します。 この例では、autoexecを編集するために使用されています。batファイル。
    フォーマット C:\>フォーマットa: は、MS-DOSで使用できるようにディスクをフォーマットします。
    MKDIR C:\>MKDIR c:\NewDIR は、指定されたパスに新しいディレクトリを作成します。
    より多くの C:\>より多くのautoexec。bat は、ファイルの内容を一度に一つの画面で表示します。 これは主にテキストファイルに使用されます。
    プロンプト C:\>プロンプト$p$d$g
    C:\UTIL 金11-05-2021>
    既定のプロンプトを変更します。 この例では、コマンドでパラメーターを使用して、プロンプト表示を現在のドライブとパス、日付と日付、および大なり記号として設定します。 結果のプロンプトは、例に示されています。
    RMDIR C:\>rmdir c:\backup ディレクトリを削除します。
    タイプ C:\>タイプautoexec。bat は、改ページなしでテキストファイルの内容を表示します。

    CLIとGUI

    グラフィカルユーザーインターフェイスは、今日最も一般的なユーザーインターフェイスです。 GUIは、コマンドを実行するために、ウィンドウ、メニューやアイコンを使用しています。 マウスを使用することはGUIをナビゲートする最も一般的な方法ですが、多くのGuiではキーボードを介してナビゲーションとプログラムの実行が可能です。

    MICROSOFT WordはGUIベースのアプリケーションの一例です。 ユーザーは、マウスまたはキーボードで対応するアイコンまたはプルダウンメニューを選択することにより、ページレイアウトとスタイ

    PowerShellコマンドライン
    PowerShellコマンドライン

    からの出力例GUIの利点の1つは、インターフェイスが使用可能な機能を視覚的に表示できることです。 ただし、グラフィカル表示に依存しているため、GUIはコマンドラインインターフェイスと同じレベルの機能と詳細な制御を持たない場合があります。 たとえば、単一のコマンドラインと同じ結果を得るには、GUI内の複数のダイアログボックスを何度もクリックして移動する必要があります。

    さらに、Guiはスクリプトや自動化を容易にサポートしていません。 一般的なタスクの場合、ユーザーは各クリックを繰り返すか、GUI内の各ダイアログを手動で移動する必要があります。

    数百または数十万のシステムと構成を管理する必要があるシステム管理者は、CLIよりもGUIの効率がはるかに低いことがわかります。 簡単なCLIコマンドは、大規模なシステムグループの構成を一度に簡単に調整できます。

    コマンドと引数を組み合わせて保存し、特定のアクションまたは包括的なアクションセットが必要になるたびにスクリプトとして実行するこ CLIは、多くの企業全体のシステム管理タスクに推奨されるツールです。

    Windows11グラフィカルユーザーインターフェイスの例
    Windows11GUI:スタートメニュー

    CLIの利点と欠点

    以下は、コマンドラインインターフェイスの利点です:

    • OSまたはアプリケーションの詳細な制御;
    • 多数のシステムのより効率的な管理、
    • 通常のタスクを自動化するスクリプトを格納する機能、
    • 基本的なコマンドラインインターフェイスの知識

    コマンドラインインターフェイスの欠点は次のとおりです:

    • GUIはよりユーザーフレンドリーであり、
    • コマンドや複雑な構文/引数の記憶に関連する学習曲線が急であり、
    • 異なるシェルで使用される異なるコマンド。

    コマンドラインは、コンピュータの使用の専門家になるのに最適な場所です。 準備ができたら、シェルスクリプトの書き方を学ぶ唯一の場所でもあります。

Leave a Reply