
Linux入門 環境
この章では、Unix環境について詳しく説明します。
まずは変数です。変数とは値を代入する文字列です。割り当てられる値は、数値、テキスト、ファイル名、デバイス、またはその他のタイプのデータとなります。
たとえば、最初に変数TESTを設定してから、echoコマンドを使用してその値にアクセスします。
$TEST="Unix Programming" $echo $TEST
以下の結果が得られます。
Unix Programming
環境変数は$記号を使用せずに設定されていますが、$記号は接頭辞として使用します。これらの変数は、シェルから出るまでその値を保持します。
システムにログインすると、シェルは初期設定と呼ばれるフェーズを経て環境をセットアップします。これは、通常、シェルが次のファイルを読むことを含む2段階のプロセスです。
- / etc / profile
- プロフィール
このプロセスは次のとおりです。
- シェルは/ etc / profileファイルが存在するかどうかを調べます。
- 存在する場合、シェルはそれを読み取ります。それ以外の場合、このファイルはスキップされます。エラーメッセージは表示されません。
- シェルは、ファイル.profileがホームディレクトリに存在するかどうかを確認します。あなたのホームディレクトリは、ログイン後に始まるディレクトリです。
- 存在する場合、シェルはそれを読み取ります。それ以外の場合、シェルはスキップします。エラーメッセージは表示されません。
これらのファイルの両方が読み込まれるとすぐに、シェルはプロンプトを表示し、以下のマークが出てきます。
$
これは、実行させるためにコマンドを入力できるプロンプトです。
.profileファイル
ファイル/ etc / profileはUnixマシンのシステム管理者によって管理され、システム上のすべてのユーザーが必要とするシェル初期化情報を含んでいます。
ファイル.profileはあなたのコントロール下にあります。このファイルに必要なだけ多くのシェルカスタマイズ情報を追加できます。設定が必要な最小限の情報には、
- 使用している端末のタイプ。
- コマンドを見つけるディレクトリのリスト。
- あなたの端末のルック・アンド・フィールに影響を与える変数のリスト。
ホームディレクトリにある.profileを確認できます。viエディターを使用してそれを開き、ご使用の環境に設定されているすべての変数をチェックします。
ターミナルタイプの設定
通常、使用している端末のタイプは、loginまたはgettyプログラムによって自動的に設定されます。場合によっては、自動設定プロセスによって端末が誤って推測されることがあります。
端末が正しく設定されていないと、コマンドの出力が奇妙に見えるか、シェルと正しく対話できないことがあります。まあ予備知識ですよね。
PATHの設定
コマンドプロンプトで任意のコマンドを入力すると、シェルはコマンドを実行してから実行する必要があります。
PATH変数は、シェルがコマンドを探す場所を指定します。通常、Path変数は次のように設定されます。
$PATH=/bin:/usr/bin $
ここでは、コロン文字(:)で区切られた個々のエントリはそれぞれディレクトリです。シェルがコマンドを実行するように要求し、PATH変数に指定されたいずれのディレクトリでもコマンドを見つけることができない場合は、次のようなメッセージが表示されます。
$hello hello: not found $
次のセクションで説明するPS1やPS2のような変数があります。
PS1およびPS2変数
シェルがコマンドプロンプトとして表示する文字は、変数PS1に格納されます。この変数は、あなたが望むものに変更することができます。あなたがそれを変更するとすぐに、その時点からシェルによって使用されます。
たとえば、コマンドを発行した場合、
$PS1='=>' => => =>
プロンプトは=>になります。PS1の値を設定して作業ディレクトリを表示するには、コマンド –
=>PS1="[\u@\h \w]\$" [root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$ [root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$
このコマンドの結果、プロンプトにはユーザーのユーザー名、マシンの名前(ホスト名)、および作業ディレクトリが表示されます。
PS1の値引数として使用できるエスケープシーケンスはかなりあります。プロンプトがあなたに情報で圧倒されないように、自分自身を最も重大なものに制限しようとします。
S.No. | エスケープシーケンスと説明 |
---|---|
1 | \ t
現在の時刻は、HH:MM:SSと表されます。 |
2 | \ d
平日の日付として表される現在の日付 |
3 | \ n
改行 |
4 | \ s
現在のシェル環境 |
5 | \ W
作業ディレクトリ |
6 | \ w
作業ディレクトリのフルパス |
7 | \ u
現在のユーザーのユーザー名 |
8 | \ h
現在のマシンのホスト名 |
9 | \#
現在のコマンドのコマンド番号。新しいコマンドが入力されたときに増加する |
10 | \ $
実効UIDが0(つまり、rootとしてログインしている場合)の場合は、プロンプトを#文字で終了します。それ以外の場合は、$記号 |
ログインするたびに自分で変更を加えることができます。また、変更を.profileファイルに追加してPS1に自動的に反映させることもできます。
不完全なコマンドを発行すると、シェルは2番目のプロンプトを表示し、コマンドを完了してEnterキーをもう一度押します。
デフォルトのセカンダリプロンプトは>(大なり記号)ですが、PS2シェル変数を再定義することで変更できます –
次に、デフォルトのセカンダリプロンプトを使用する例を示します。
$ echo "this is a > test" this is a test $
以下の例は、カスタマイズされたプロンプトでPS2を再定義しています。
$ PS2="secondary prompt->" $ echo "this is a secondary prompt->test" this is a test $
環境変数
以下は重要な環境変数の一部です。これらの変数は、下記のように設定され、アクセスされます。
S.No. | 変数と説明 |
---|---|
1 | 表示
X11プログラムがデフォルトで使用するディスプレイの識別子が格納されます。 |
2 | ホーム
現在のユーザーのホームディレクトリを示します。これは、cd 組み込みコマンドのデフォルトの引数です。 |
3 | IFS
展開後の単語分割にパーサが使用する内部フィールドセパレータを示します。 |
4 | LANG
LANGはデフォルトのシステムロケールに展開されます。LC_ALLを使用してこれを無効にすることができます。たとえば、その値がpt_BRの場合、言語は(ブラジル)ポルトガル語、ロケールはブラジルに設定されます。 |
5 | LD_LIBRARY_PATH
動的リンカーを持つUnixシステムには、他のディレクトリで検索する前に、execの後にプロセスイメージを構築するときに動的リンカーが共有オブジェクトを検索する大文字で区切られたディレクトリのリストが含まれています。 |
6 | パス
コマンドの検索パスを示します。シェルがコマンドを探すディレクトリのコロン区切りのリストです。 |
7 | 障害者
cdコマンドで設定された現在の作業ディレクトリを示します。 |
8 | ランダム
参照されるたびに0〜32,767の間のランダムな整数を生成します。 |
9 | SHLVL
bashのインスタンスが開始されるたびに1ずつ増分します。この変数は、組み込みのexitコマンドが現在のセッションを終了するかどうかを判断するのに便利です。 |
10 | 期間
表示タイプを参照します。 |
11 | TZ
タイムゾーンを参照します。GMT、ASTなどの値を取ることができます |
12 | UID
現在のユーザーの数値ユーザーIDに展開され、シェルの起動時に初期化されます。 |
以下は、いくつかの環境変数を示すサンプルの例です。
$ echo $HOME /root ]$ echo $DISPLAY
$ echo $TERM
xterm
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin $ </pre