Basics序章Linuxサーバーを管理するときは、コマンドラインを使用するのにかなりの時間を費やします。ほとんどの人にとって、これはBashシェルで多くの時間を費やすことを意味します。ほとんどのディストリビューションでは、ユーザープロンプトとルートプロンプトのスタイルに適切なデフォルトが用意されていますが、プロンプトをカスタマイズして独自の設定を追加すると便利な場合があります。高度な特権で操作しているときに、方向性を維持し、思い出させるのに役立つ多くの有用な情報を含めることができます。実験にはUbuntu12.04VPSを使用しますが、ほとんどすべての最新のLinuxディストリビューションは同様の方法で動作するはずです。シェルがBashであることを確認しますシェルを実際にカスタマイズする前に、現在のシェルが実際にがBashであることを確認する必要があります。これは大多数のシステムに当てはまるはずですが、ディストリビューションメンテナが別のシェルを選択したり、ユーザーが新しいシェルをテストしたりすることもあります。次のようなポケットベルでファイルを開きます。/etc/passwdこのファイルの各行には、異なるユーザーに関する情報が含まれています。コロン(:)で区切って、最初の列でユーザーとrootユーザーを見つけます。最後のフィールドには、そのユーザーのデフォルトのログインシェルが表示されます。/bin/bash、これですべての設定が完了しました。デフォルトのシェルをBashに変更したい場合は、root権限でこのファイルを編集し、ユーザーに関連付けられている最後のフィールドを変更できます。/etc/passwd変更を加えたら、ログアウトしてから再度ログインして、Bashシェルを使用します。現在の値を見る開始するには、Bashプロンプトを定義するために、構成ファイルにすでに含まれているものを調べてみましょう。Bashは、を使用してプロンプトを構成します。PS1は、表示されるプライマリプロンプトを定義します。ログインするたびにこれが表示されます。デフォルトでは、Ubuntuシステムでは、これは次の形式をとる必要があります。これは、シェルが通常のユーザーシェルであることを意味します。rootユーザーの場合、これは次のように置き換えられます。差別化して、昇格された特権で操作していることを認識させるため。PS2プロンプトは、複数行のコマンドに使用されます。ターミナルに次のように入力すると、現在のPS2変数が何に設定されているかを確認できます。\バックスラッシュの直後にEnterキーを押すと、プロンプトが表示されます。インタラクティブシェルの起動時に読み取られます。12.04のこのファイル内には、次のようなセクションがあります。force_color_promptプロンプトがいつ色付けされるかを指示するロジックを見ることができます。色付きのプロンプトが必要な場合は行。これを今すぐ実行して、後で行うカスタマイズを利用します。force_color_prompt=yes私たちが気にする部分は、プロンプトを設定する部分です。これは、色を使用しているかどうかに基づいて異なるプロンプトを持つif-else構造にネストされています。force_color_prompt上部のセクションはカラーサポートを追加します。最初にいくつかの基本を理解するために、色なしで2番目のセクションを見てみましょう。'これはかなり複雑に見え、通常のシェルの使用法で見られるものと一致しないように見える部分がいくつかあります。ルート変更環境で操作している場合は、プロンプトが変更されて通知されることを示します。これは便利な機能であるため、プロンプトのこの部分はそのままにしておくことをお勧めします。プロンプト定義の残りの部分は次のようになります。これは、いくつかのエスケープシーケンスを使用して、これまでずっと表示されてきた主要なプロンプトについて説明しています。Bashエスケープシーケンス可能なエスケープシーケンスの全リストは、Bashのmanページにあります。{format}形式はstrftime(3)に渡され、結果がに挿入されます。空の形式は、ロケール固有の時間表現になります。ASCIIエスケープ文字(033)\h最初の`。'までのホスト名に必要です。このコマンドの履歴番号#このコマンドのコマンド番号有効なUIDが0の場合は$、それ以外の場合は#$\nnn8進数に対応する文字nnn\バックスラッシュ[非印刷文字のシーケンスを開始します。これは、端末制御シーケンスをプロンプトに埋め込むために使用できます]印刷されない文字のシーケンスを終了しますご覧のとおり、いくつかの基本的な情報と、おそらく必要のない情報(ASCIIベル文字、Bashのバージョンなど)があります。rootユーザーの場合は」。他のオプションのいくつかをテストできるようにファイルします。選択を永続的にするためのファイルを使用すると、コマンドライン自体からプロンプトを変更して実験する方がはるかに簡単です。変更を開始する前に、現在の値を保存してみましょう。これにより、間違えた場合にログアウトして再度ログインしなくても、元のプロンプトに簡単に戻すことができます。これにより、デフォルトのプロンプトのコピーが保存されます。元のプロンプトに戻す必要がある場合は、次のように入力できます。実際のプロンプトの場合:PS1="\u$"次のようなものを取得する必要があります。demouser$見栄えを良くするために少しスペースを空けましょう。$:ただし、「$」リテラル文字は使用したくないでしょう。代わりにエスケープシーケンス。これにより、ルートであるかどうかに基づいてプロンプトが動的に変更され、PS1をルートとして正しく使用できるようになります。"プロンプトに任意のリテラル文字列を追加できます。$:通常のシェル機能を使用して、任意のコマンドの結果を挿入することもできます。ここでは、で見つかった負荷メトリックの最初の列をプルすることで、サーバーの現在の負荷をプロンプトに表示させることができます。バッククォートを使用してコマンドの結果を挿入します。$:これは、システムに負担をかけているかどうかを知る良い方法です。プロンプトに日付または時刻を含めることが重要な場合は、次のような方法を試すことができます。データを整理するために、いくつかの角かっことかっこでデータを少し区分してみましょう。$これは、特にディレクトリを長いパスを持つものに変更する場合、少し扱いにくくなり始めています。$それでもこの情報をすべて必要としているが、短くしたい場合、1つの戦略は、情報を2行に分割することです。$複数行のプロンプトを嫌う人もいますが、これはプロンプトでより多くの情報を提供する1つの方法です。プロンプトの色を変更するプロンプトに影響を与えるさまざまな方法を十分に理解したので、色付けを試してみましょう。Bashを使用すると、特別なコードを使用してプロンプトに色を導入できます。選択されたコードはあまり説明的ではないため、これらはしばしば混乱の原因になります。実際のカラーコードに到達する前に、実際にどのように実装するかについて話し合う必要があります。Bash設定でカラーコードを定義する正しい方法と間違った方法があります。これらの括弧は、最初のシーケンスの後に最後のシーケンスまでに存在する文字を非印刷文字と見なす必要があることをbashで示します。Bashはこれを知って、次の行に折り返す前に印刷できる文字数を見積もることができるようにする必要があります。タグの場合、Bashはすべての文字をリテラル文字としてカウントし、行をすぐに折り返します。次に、角かっこで印刷されないシーケンス内で、次のいずれかを入力して、カラープロンプトの先頭を指定する必要があります。これらは両方とも同じことを行い、エスケープシーケンスの開始を示します。このガイドでは、もう少し明確だと思います。\]、カラーシーケンスを指定していることを示すために「m」が必要です。したがって、基本的に、色を変更するたびに、プロンプトに次のようなものを入力する必要があります。m]ご覧のとおり、これはプロンプトを特に乱雑にする部分です。カラーコードについては、前景テキストの色を変更するための基本的なコードは次のとおりです。:白これらの基本値を変更するには、基本値の前にセミコロン(;)で区切って「属性」を設定します。使用している端末の種類に応じて、これらの動作はかなり異なります。一般的な属性のいくつかは次のとおりです。:下線付きテキストしたがって、下線付きの緑色のテキストが必要な場合は、次のようなシーケンスを使用します。\[\e[4;32m\]次に、必要なプロンプトを入力します。その後、端末に入力するテキストの色がおかしくなることがないように、色を元の値にリセットする必要があります。これを行うには、Bashがプロンプトの色をリセットする必要があることを示す別のカラーコードを使用します。このコードは次のとおりです。\[\e[0m\]したがって、ユーザー名とホストを含む単純な色付きのプロンプトは、次のようになります。"さらに複雑にするために背景色を指定することもできます。背景色は属性を取ることができません。テキストの色をすべて一度に指定できますが、次のようになります。\[\e[42;1;36m\]通常、背景情報を他の情報から分離すると、より適切に機能します。\[\e[42m\]\[\e[1;36m\]「通常の」テキスト属性(0)を使用しているだけの場合、一部の端末で色が文字化けすることがあります。デフォルトであるため、通常の値を0で指定しないことでこれを回避できます。迅速な変更を永続的にするプロンプトをしばらく試してみたので、プロンプトをどのように表示するかについての良いアイデアが必要です。色付きのプロンプトと色なしのプロンプトの両方を作成できるはずです。この例では、次の色付きのプロンプトを使用します。"色付きのbashプロンプトが必要ない場合は、色なしの同等のものも使用します。~/.bashrc最初に説明したように、ファイルにあるプロンプトには、chroot環境にいるときにそれを明らかにする機能が含まれています。その部分はに残しましょう。以下のロジックで、次のようになります。force_color_promptプロンプトの最後、最後の見積もりが終了する直前に、実装するプロンプトを追加できます。実際、プロンプトは一重引用符を使用しているため、現在のプロンプトの引用符タイプを変更して二重引用符を使用します。割り当てには、プロンプトの色付きバージョンを使用します。2つ目は、色のないものを使用します。force_color_prompt終了したら、ファイルを閉じて保存できます。これで、ログアウトして再度ログインすると、プロンプトが設定した値に変わります。構成をパーソナライズする方法はたくさんあります。特定のアイテムに色を付けると、それらを目立たせることができ、端末の履歴をスクロールするときに最後のプロンプトを見つけるのに役立ちます。1つの一般的なアイデアは、rootユーザーに特別なプロンプトを提供して、コントラストが特権を思い出させるようにすることです。創造力を発揮して、役立つ情報と雑然とした情報のバランスをとってみてください。Joseモバイルバージョンに。