エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Linuxで使用される主な環境変数・PATH、HOME、PS1・printenv、set、declare

      2020/08/24

Linuxで設定される主な環境変数

 

環境変数とシェル変数の設定方法、代入方法について

 
Linuxの環境変数でパスの設定をする方法とシェル変数の扱い方を解説
Linuxのbashで変数に値を追加する方法を多数紹介。+=や""を使う方法など
の記事では、環境変数、シェル変数の設定の方法や、代入の方法、一覧表示の方法などを解説しました。
 
この記事では Linuxでよく使用されている主な環境変数について解説を行います。
 
 
なお、上記で紹介した記事でも書いていますが、設定されている環境変数は「printenv」コマンドで一覧表示することができます。
(環境変数、シェル変数は、「set」コマンド、「declare」コマンドでも一覧表示させることができます。)
 
 

「printenv」コマンドの使い方

 
「printenv」コマンドはパラメータなしで実行すると、設定されている環境変数の一覧を表示します。
 

 
 
また、下記のように環境変数をパラメータとして指定して実行すると、指定した環境変数の内容を表示します。
 

 
 

Linuxに設定されている主な環境変数

 
Linuxでよく利用される環境変数を記載しておきます。
 
 

PATH

 
コマンドやプログラムを検索するディレクトリのリストが保存されています。
 
コマンドやプログラムを実行する際、この「PATH」に設定されているディレクトリにプログラムを設置しておくと、パスを指定せずにコマンド単体で実行することができます。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 

PWD

 
カレントディレクトリが保存されています。
 
カレントディレクトリですので、「echo $PWD」で表示される値はその都度異なります。
 
 

HOSTNAME

 
ホスト名が保存されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 

USER

 
現在のコマンドを実行しているユーザ名が設定されています。
 
コマンドを実行しているユーザ名ですので、「echo $USER」で表示される値はその都度異なります。
 
ちなみに、ログインしているユーザを切り替える「su」コマンドでは USER変数は変更されませんが、ログインし直す「-」付きの「su -」コマンドを実行すると USER変数は変更されます。
 
 

LC_ALL

 
地域ごとの言語や数値の表記、通過に関する規定、日付や時刻の書式に関する規定などを設定する地域情報(ロケール)が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 

LANG

 
地域ごとの言語や数値の表記、通過に関する規定、日付や時刻の書式に関する規定などを設定する地域情報(ロケール)が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 
地域情報(ロケール)として設定できる主な内容は下記のものがあります。
 LC_CTYPE:文字の種類やその比較・分類の規定
 LC_NUMERIC:数値の書式に関する規定
 LC_TIME:日付や時刻に関する規定
 LC_COLLATE:文字の参照や整列に関する規定
 LC_MONETARY:通過に関する規定
 LC_MESSAGES:メッセージ表示に使用する言語
 
LC_ALLも LANGも上記のロケールをまとめて設定することが出来る環境変数です。
 
LC_ALLと LANGの違いは、LC_ALLを設定している場合は上記の個別のロケールの設定をしていても LC_ALLの設定を優先しますが、LANGの場合は LANGの設定をデフォルトとして扱いますが、個別のロケールの設定をしている場合は個別の設定を優先します。
なお、LC_ALLと LANGの両方を設定している場合は、LC_ALLを優先します。
 
 
また、設定されているロケールの情報を確認するには「locale」コマンドを使用します。
 

 
 

HOME

 
コマンドを実行しているユーザのホームディレクトリが設定されています。
 
環境、実行ユーザによって異なりますが、具体的には下記のような値が設定されています。
 

 
 

LOGNAME

 
ログインシェルのユーザ名が設定されています。
 
USERと同じく、「echo $LOGNSME」で表示される値はその都度異なります。
 
ちなみに、ログインしているユーザを切り替える「su」コマンドでは USER変数は変更されませんが、ログインし直す「-」付きの「su -」コマンドを実行すると USER変数は変更されます。
 
 

PS1

 
コマンドプロンプトの表示文字列が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
これは、「[admin@localhost ~]$ echo $PS1」の「$」より前の部分をどのように表示するかを設定してある情報です。
 
 

PS2

 
複数行のコマンド入力する際に表示されるコマンドプロンプトの値が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 

HISTSIZE

 
コマンド履歴の最大値が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 

HISTFILE

 
コマンド履歴を格納するファイルが設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
表示されるファイルには、「history」コマンドで表示されるコマンドの履歴が保存されています。
 
また、この「.bash_history」はユーザごとに用意されており、ユーザのホームディレクトリ(上記の例では「/home/admin/」)に置いてあります。
 
 

HISTFILESIZE

 
HISTFILEに保存する履歴の数が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 
 

TERM

 
端末の種類が設定されています。
 
環境によって異なりますが、具体的には下記のような値が設定されています。
 

 - Linuxコマンド

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Linux findコマンドを使ってn日前のファイルを削除する 3つの記述方法
Linux findコマンドを使ってn日前のファイルを削除する 3つの記述方法

作成からn日経ったファイルを削除したい、そんなときにはfindコマンドを使う。コマンドの記述の方法は3種類あり、それぞれを解説。書き易さもあるがスピードに大きく差がある記述方法もある。

Linuxのnlは行番号を付与してファイルの内容を表示するコマンド
Linuxのnlは行番号を付与してファイルの内容を表示するコマンド

Linuxでファイルを表示する際に行番号を付与するにはcatコマンドにnオプションを使うことでも可能。しかし、行番号を付与する専門のnlコマンドがある。ここではその使い方を詳細に解説。

Linuxの環境変数でパスの設定をする方法とシェル変数の扱い方を解説
Linuxの環境変数でパスの設定をする方法とシェル変数の扱い方を解説

Linuxでコマンドを設置するパスの設定情報である環境変数「PATH」の確認方法と環境変数「PATH」に新しいパスを追加する方法の解説。Linuxのシェルでの変数の扱い方についての解説も。

Linuxのbashのコマンドの履歴をhistoryで確認し!、↓、↑で実行する
Linuxのbashのコマンドの履歴をhistoryで確認し!、↓、↑で実行する

Linuxで実行したコマンドの履歴を確認するコマンド「history」。「history」の使い方、設定の変更、設定ファイルの設置場所について解説。「!番号」「!文字列」「!?文字列」など。

Linuxでファイルの内容を表示するcatコマンドの解説。more、lessで代替も
Linuxでファイルの内容を表示するcatコマンドの解説。more、lessで代替も

catはLinuxのコマンドで、本来の機能はファイルを連結だが、ファイルの内容を表示する機能のために使うことが多く使用頻度が高い。同種の機能のmore、less、tacコマンドについても解説。

makewhatis、mandbコマンドでLinuxのオンラインマニュアル索引情報を更新
makewhatis、mandbコマンドでLinuxのオンラインマニュアル索引情報を更新

Linuxコマンドのオンラインマニュアルを検索するwhatis、aproposなどのコマンドはwhatisデータベースを対象に検索する。このデータベースを更新するmandb、makewhatisコマンドを解説。

Linuxのタイムスタンプはmtime、ctime、atimeの3種類。touchコマンドで更新する方法
Linuxのタイムスタンプはmtime、ctime、atimeの3種類。touchコマンドで更新する方法

Linuxのファイルのタイムスタンプにはmtime、ctime、atimeの3種類がある。その違いを詳細に解説しつつ、lsで表示するオプション、touchで更新するオプションを解説。

cat、less、head、tail、split、sedなどLinuxでファイルを操作するコマンド
cat、less、head、tail、split、sedなどLinuxでファイル、文字列を操作するコマンド

Linuxでファイル、テキストを操作するコマンドのまとめ。cat、less、head、tail、split、tr、sedなど、ファイルを表示、置換、連結、分割などの各コマンドの使い方の紹介と詳細ページの紹介。

Linuxのsplitコマンドは指定したサイズにファイルを分割する
Linuxのsplitコマンドは指定したサイズにファイルを分割する

Linuxのsplitコマンドはファイルを分割する機能を有する。分割するサイズ、行数、ファイル数を指定するオプションや、分割後のファイルの接尾辞を指定するオプションなどがある。

UNIX・Linuxの sedコマンドで特定の文字列を置換する方法

UNIX・Linuxのコマンドで特定の文字列を置換する sedコマンドの使い方と、perlコマンドを使っての方法を解説しています。