コマンド ライン インターフェイス (CLI) に慣れるには、多くの良い議論があります。ただし、完全な初心者の場合、開始するのが難しい場合があり、新しいシェル セッションは少し怖く感じる場合があります。 CLI の基本を見ていきましょう。 どこから始めれば 最初に必要なのは端末エミュレーターです。これは、マシンへのテキストのみのアクセスをエミュレートするプログラムです。どのオペレーティング システム (OS) にもエミュレーターの大きな選択肢があります。それらはすべて非常に似ており、主な違いは次のとおりです。 サポートされている色の数、 フォントの種類、サイズ、またはカラー スキーマの利用可能なオプション フォントサイズを大きくするためのキーショートカットなど。 最初は、OS または統合開発環境 (IDE) で利用できるもので問題ないはずです。 シェル シェルは、コマンドを解釈してプログラムを実行するプログラムです。上で説明した端末シミュレーターとは別物です。ある意味では、グラフィック インターフェイスで端末を開き、端末内でコマンドのテキストのみのインタープリターを使用します。 利用可能なオプションは多数ありますが、微妙な違いによってユーザー エクスペリエンスが大きく変わる可能性があります。 ズシ Z シェル (Zsh) は、最新の人気のあるコマンド インタープリターです。そのインターフェイスはユーザー フレンドリーで、シェル エクスペリエンスをカスタマイズできるコミュニティ パッケージが利用可能です: 。私はそれを数年間使用しており、私の CLI の習慣のほとんどはそれから適応されています。 Oh My Zsh バッシュ Bash は Zsh の少し古い代替手段です。これは非常に一般的であるため、遭遇する多くのマシンで利用できることが期待できます。 Zsh からの多くのショートカットもそこで機能しますが、別の構成ファイルを使用しており、スクリプト言語も少し異なります。 SH スタンダードなシェル。これは標準の Unix コマンドの一部であり、Unix ライクなマシンであればほぼ確実に使用できます。したがって、スクリプトの作成に関しては安全な賭けです。 ユーザー インターフェイスには多くの最新の改善点が欠けているため、ワイヤリング スクリプト以外には使用しません。 とにかく私のシェルは何ですか? でシェルを確認できます。 : echo $? 私の場合、それは です zsh シェルを変更する方法 すべてのシェルはプログラムであり、別のシェルから直接実行できます。例えば: このようにして、インストールしたシェルを確認し、すばやくテストできます。シェルを永続的に変更するには、Linux と macOS の両方でコマンド (シェルの変更) を使用できます。 chsh 使用するシェルがない場合は、最初にインストールする必要があります。正確なコマンドは、OS または Linux ディストリビューションによって異なります。 ビルディングブロック では、端末を起動して実行したら、それをどのように使用しますか? コマンド CLI を使用すると、ターミナルに名前を入力して Enter キーを押すことでコマンドを実行できます。各コマンドは、広範なインターフェイスを提供する個別のプログラムであり、それぞれに独自のドキュメントが付属しています。 同様に、各 OS は独自のコマンド セットを提供しますが、特に Unix、macOS、および Linux に触発されたシステムとの類似点を共有しています。 Windows では、標準のコマンド ライン には非常に異なるコマンド セットがありますが、同様のインターフェイスを取得するために使用できる多くのオプションがあります。 cmd Linux 用ネイティブ Windows サブシステム Git for Windows が提供する Git BASH Unix は 1973 年に公開された OS で、その後の多くのことに影響を与えました。現在の仕様では が定義されていますが、幸いなことに、CLI のメリットを得るために必要なコマンドはほんの一握りです。 161 個のコマンド コマンドの例: はフォルダー内のファイルを一覧表示します。既定では、現在のフォルダーの内容が表示されます。 ls は、コマンドを実行している現在のパスを示します。 pwd はディレクトリを変更します。デフォルトでは、ホーム ディレクトリに移動します ( 記録またはスクリーンショット)。 cd https://asciinema.org/ 引数 各コマンドは、追加の引数を取ることができます。引数は、コマンド名の後に続くスペース区切りの値です。引数の意味は、プログラムによって異なります。コマンドのドキュメントでさまざまな引数について読むことができます。 オプション 多くの標準コマンドには、プログラムの動作を変更できるさまざまなオプションが付属しています。たとえば、 は次のオプションと一緒によく使用されます。 ls — で始まるファイルを含むすべてのファイルを表示します — 隠しファイルに関する Unix の規則 -a . ファイルを長い形式で表示 — 詳細情報を提供 -l 一般的な規則は、オプションを個別のパラメーターとして許可すること ( )、または 1 つのパラメーターに結合すること ( ) です。 ls -a -l ls -la パラメーター パラメーターは、コマンドまたはそのオプションの 1 つに値を提供する引数です。 たとえば、上記の例では、パスを指定してデフォルトの動作を変更できます。 — ワークスペース フォルダー内のファイルを一覧表示します。 ls workspace — 現在のディレクトリをワークスペースに変更します。 cd workspace :ファイルの内容を画面に表示します。 cat file パラメーターの意味はプログラムによって異なります。最初は、ドキュメントをよく確認する必要があると予想できます。 標準出力 標準出力は、プログラムの実行時にコマンド ラインに追加されるテキストです。そのテキストは、実行のハッピー パスによって示されます。これまで見てきた例は、さまざまなコマンドの標準出力を示しています。 C++ を学ぶとき、最初に学ぶことの 1 つは (標準出力) です。 cout デフォルトでは、標準出力は画面に表示されるだけですが、 演算子を使用して簡単にファイルにリダイレクトできます。例: > エラー出力 エラー出力は、プログラムが実行中に発生した問題に関する情報を表示する場所です。ターミナルから直接コマンドを実行している間、エラー出力と標準出力は同じように扱われ、画面に表示されるだけです。たとえば、存在しないファイルを しようとすると、次のようになります。 ls 出力をファイルにリダイレクトすると、違いが明らかになります。 標準入力 通常のワークフローでは、標準入力はプログラムに入力するものです。これまで見てきたコマンドは、通常、対話モードでは使用されません。簡単な例としては、スクロールできる ページがあります。 man C++ の経験がある人は、次の という用語を聞いたことがあるでしょう。 cin cin >> variable; 多くの一般的なコマンドでは、パイプ演算子があるため、標準入力が特に重要になります。 パイプ パイプは、あるプログラムの標準出力を別のプログラムの標準入力に接続する方法です。これが、 で述べた相互運用性を CLI が実現する方法です。 前回の記事 パイプを使用すると、さまざまなコマンドをさまざまな方法で組み合わせることができます。このシリーズの後半でいくつかの例を紹介します。今のところ、簡単な例は次のとおりです。 どこ: — ファイルを読み取り、その内容を標準出力に返します。 cat … — 標準入力から値を取得し、画面に合わせます less 同様に、検索ユーティリティ を使用して: grep どこ: —上記のように cat … — 標準入力から値を取得し、 を含む行のみにフィルター処理します。 grep 1 1 ファイルへの書き込み コマンドの標準出力をファイルに書き込むために使用される 演算子については既に説明しました。この演算子は、提供する出力でファイルを します。既存のファイルに したい場合は、代わりに を使用できます。 > 上書き 追加 >> 作業ディレクトリ コマンド ラインで実行されるすべての操作は、特定のディスクの場所 (作業ディレクトリ) のコンテキストで実行されます。読み取りまたは書き込み用に相対ファイル パスを指定すると、それらは作業ディレクトリから解決されます。 通常、作業ディレクトリは、作業中のプロジェクトの最上位フォルダーに設定します。新しいセッションを開始すると、通常、作業ディレクトリはホーム ディレクトリに設定されます。 コマンドの実行 シェル インタープリターは、作業を高速化するための多くのショートカットを提供します。時間が経つにつれて、それらについて考えることなく、直感的に使用できるようになります。 初心者と画面を共有していると、これらのショートカットは明らかであることに気づきます。以下に、コマンド ラインで作業するための生産性向上のためのヒントをいくつか紹介します。 私は自分で Zsh を使用していますが、これらのショートカットはそこで機能します。少なくともそれらのいくつかは Bash でも動作するはずですが、正確なバージョンと構成に依存する可能性があります。 2 回入力しないでください - 矢印を使用してください CLI を高速に使用するための主な秘訣は、常にすべてを入力しないことです。最も基本的なケースは、数行前に実行したコマンドを取り戻すことです。これを行うには、上矢印キーを押します。 上矢印と下矢印を使用して、最近のコマンドをスクロールできます。実行したいコマンドに類似したコマンドが見つかったら、それを編集できます。これにより、プロセス全体が大幅に高速化されます。これは、引数がわずかに異なるだけで、よく似たコマンドを実行するためです。 古いコマンドを検索 手動スクロールは、最新のコマンドの 1 つまたは少数を取得するのに適しています。ただし、過去からさらに何かを取得したい場合は、検索機能を使用できます。デフォルトでは、コマンド履歴で検索を開始するために使用できるコマンドは CTRL + R です。 自動入力に使用 実行したいコマンド全体を入力する必要はありません。 Zsh と Bash はどちらも、自動入力を要求する方法としてタブ キーをサポートしています。コマンドまたはファイル名が一意の場合は入力し、入力内容が多くの可能性に一致する場合は、使用可能なすべてのオプションを表示します。 Zsh は、コマンド オプションの自動入力も提供します。 オートフィルは 2 つのレベルで優れた機能です。入力の時間を節約し、間違いを減らします。 CLI を学習するにつれて、できるだけオートコンプリートを使用する習慣を身につける必要があります。 ファイル名のワイルドカード ワイルドカードを使用して複数のファイルの名前を一致させることで、入力をさらに高速化できます。 ポケットベル - 少ない 多くの場合、プログラムの出力が多すぎて画面に収まらない場合、別のプログラムをページャー (出力をナビゲートして上下にスクロールできるツール) として使用します。ほとんどの場合、そのために使用されるプログラムは です。使用する際に注意すべき点がいくつかあります。 less シンプルなスクロール 何よりもまず、端末エミュレータが提供するスクロールバーでスクロールしないでください。 は、出力の最後にテキストの画面全体を再描画します。 less 端末エミュレーター内を上にスクロールすると、読み取りたいファイルの内容ではなく、以前に他のプログラムによって返されたものが表示されます。スクロール バー (スクロール ホイール) でスクロールする代わりに、上下の矢印を使用してファイル内を移動します。 出口 もう 1 つのよくある混乱のポイントは、どうすれば今すぐ退出できるかということです。 を押すと、「less」の全画面表示モードを終了できます。他のプログラム ( など) は を使用してコマンドを開始するため、多くの場合 としてスタイル設定されます。 q vim : :q 検索中 コマンド ラインでは、すべてがテキストであり、テキストは簡単に検索できます。 と入力して less で表示されるコンテンツ内を検索し、 と を入力して結果をナビゲートできます。 /<search term> n N ファンシースクロール は、 にあるものと同様の他のナビゲーション コマンドをサポートします。 less vim — 1 行下にスクロール j - 1 行上にスクロール k — ファイルの先頭までスクロール gg — ファイルの最後までスクロール G : 半画面ダウン/アップ d/u これらのショートカットは、ファイル内をすばやく移動するのに役立ちます。 もっと学びたいですか? それは素晴らしいことです!コマンド ラインは、プログラミングの効率を高める優れたツールです。 サインアップして、私が他のコマンド ライン関連資料を公開しているので、私から最新情報を入手してください。 ここで も掲載 こちらに