getconf コマンド

目的

システム構成変数値を標準出力に書き出します。

構文

getconf [ -v specification ] [ SystemwideConfiguration | PathConfiguration PathName ] [ DeviceVariable DeviceName ]

getconf -a

説明

SystemwideConfiguration パラメーターを指定して 起動される getconf コマンドは SystemwideConfiguration パラメーターに 指定された変数の値を標準出力に書き出します。

PathConfiguration パラメーター および Pathname パラメーターを指定して 起動される getconf コマンドは PathName パラメーターにより 指定されたパスにある PathConfiguration パラメーターにより指定された 変数の値を標準出力に書き出します。

-a フラグを指定して getconf コマンドを起動すると、 すべてのシステム構成変数が標準出力に書き込まれます。

DeviceVariable および DeviceName パラメーターを指定して getconf コマンドを起動すると、 DeviceName パラメーターによって指定されたデバイス・パスの ディスク・デバイス名またはロケーションの値が標準出力に書き込まれます。

指定した変数がシステム上で定義され、その値が confstr サブルーチンから使用可能であると記述されている場合、指定変数の値は次の構文で書き込まれます。

"%s¥n", <value>

それ以外の場合で、指定変数がシステム上で定義されていると、その値は次の構文で書き込まれます。

"%d¥n", <value>

指定した変数が有効であっても、システム上に定義されていなければ、標準出力に次のように書き出されます。

"undefined¥n"

変数名が無効であるか、またはエラーが発生すると、診断メッセージが標準エラーに書き出されます。

フラグ

項目 説明
-v specification 構成変数を判別する特定の仕様とバージョンを指定します。このフラグを指定しないと、戻される値は、インプリメント・デフォルトの XBS5 準拠コンパイル環境に対応します。
-a すべてのシステム構成変数の値を標準出力に書き込みます。

パラメーター

項目 説明
PathName PathConfiguration パラメーターのパス名を指定します。
SystemwideConfiguration システム構成変数を指定します。
PathConfiguration システム・パス構成変数を指定します。
DeviceName デバイスのパス名を指定します。
DeviceVariable デバイス変数を指定します。
次の表の最初の列に表示されるシンボルを system_var オペランドとして 使用すると、2 番目の列の値と一緒に呼び出したときに getconf コマンドによって confstr と同じ値が生成されます。
注: confstr に対するパラメーターとして使用される _CS_AIX_ARCHITECTURE および _CS_AIX_BOOTDEV 変数は、 root ユーザーのみに適用されます。
system_var confstr 名前値
BOOT_DEVICE _CS_AIX_BOOTDEV
MACHINE_ARCHITECTURE _CS_AIX_ARCHITECTURE
MODEL_CODE _CS_AIX_MODEL_CODE
PATH _CS_PATH
XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILPBIG_OFF32_LINTFLAGS
XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS

環境変数

次に示す環境変数は、getconf コマンドの実行に影響を与えます。

項目 説明
LANG 設定されていない、または null である国際化対応変数のデフォルト値を指定します。 LANG を設定しなかった場合、または null の場合は、インプリメント依存またはデフォルトのロケールから対応する値が使用されます。国際化対応変数のいずれかに無効な値が設定されると、ユーティリティーは、変数が 1 つも定義されていないものとして動作します。
LC_CALL 空文字列以外の値に設定する場合は、ほかのすべての国際化対応変数の値を指定変更してください。
LC_CTYPE テキスト・データのバイト・シーケンスを文字として解釈するのに使用するロケールを決めます (例えば、引数の複数バイト文字に対する単一バイト文字)。
LC_MESSAGES 標準エラーに書き出される診断メッセージの書式と内容に影響を与えるロケールを決めます。
NLSPATH LC_MESSAGES の処理に使用するメッセージ・カタログの位置を指定します。

全システム構成変数

SystemwideConfiguration パラメーターは、システム全体で有効なシステム構成変数を指定します。システム構成変数の値には次の 2 種類があります。

全システム構成変数

全システム構成変数には、システムのあらゆる部分を満たす最小値が入っています。次に示すリストに、getconf コマンドと一緒に使用する全システム構成変数の定義を示します。

項目 説明
_CS_PATH コマンドの検索に使用する PATH 環境変数の値です。
ARG_MAX 環境データを含め、exec サブルーチンの 1 つの引数の最大バイト数です。
BC_BASE_MAX bc コマンドで obase 変数に指定できる最大値です。
BC_DIM_MAX bc コマンドで配列に指定できるエレメントの最大数です。
BC_SCALE_MAX bc コマンドで scale 変数に指定できる最大値です。
BC_STRING_MAX bc コマンドに指定できる文字列定数の最大長です。
CHARCLASS_NAME_MAX 文字クラス名の最大バイト数です。
CHAR_BIT タイプ文字内のビット数です。
CHAR_MAX タイプ文字の最大値です。
CHAR_MIN タイプ文字の最小値です。
CHILD_MAX 各実ユーザー ID の同時プロセスの最大数です。
CLK_TCK time サブルーチンから戻される 1 秒当たりのクロック・ティックです。
COLL_WEIGHTS_MAX ロケール定義ファイルの LC_COLLATE ロケール・スタンザのエントリーに割り当てられた重みの最大数です。
CS_PATH コマンドの検索に使用する PATH 環境変数の値です。
EXPR_NEST_MAX expr コマンドによって、 括弧内にネストできる式の最大数です。
INT_MAX int 型の最大値です。
INT_MIN int 型の最小値です。
LINE_MAX ユーティリティーがテキスト・ファイル処理中と表示されたときの、コマンド入力行 (標準入力、またはその他のファイル) の最大長 (バイト単位) です。 この長さには、後続の改行文字を入れる余地が含まれます。
LONG_BIT long int 型のビット数です。
LONG_MAX long int 型の最大値です。
LONG_MIN long int 型の最小値です。
MB_LEN_MAX サポートされるロケールの文字内の最大バイト数です。
NGROUPS_MAX 各プロセスの同時的な 2 次的グループ ID の最大数です。
NL_ARGMAX printf および scanf サブルーチンの 呼び出しに使える最大桁です。
NL_LANGMAX LANG 名に使える最大バイト数です。
NL_MSGMAX 最大メッセージ数です。
NL_NMAX N 対 1 の照合マッピングに使える最大バイト数です。
NL_SETMAX 最大セット数です。
NL_TEXTMAX メッセージ文字列に使える最大バイト数です。
NZERO デフォルトのプロセス優先順位です。
OPEN_MAX 1 つのプロセスが一度にオープンできる最大ファイル数です。
PATH コマンドの検索に使用されるコロンで区切られたパス・プレフィックスのシーケンスです。
RE_DUP_MAX ed コマンドと一緒に、 m パラメーターおよび n パラメーターなどの、 インターバル表記パラメーターを使用するときの、正規表現の反復回数の許容最大数です。
SCHAR_MAX signed char 型の最大値です。
SCHAR_MIN signed char 型の最小値です。
SHRT_MAX short 型の最大値です。
SHRT_MIN short 型の最小値です。
SSIZE_MAX ssize_t 型のオブジェクトの最大値です。
STREAM_MAX 1 つのプロセスが同時にオープンできるストリーム数です。
TMP_MAX tmpnam サブルーチンにより生成される固有のパス名の最小数です。 アプリケーションが tmpnam サブルーチンを確実に呼び出すことができる最大回数です。
TZNAME_MAX タイムゾーンの名前に使用できる最大バイト数です (TZ 環境変数の長さではありません)。
UCHAR_MAX unsigned char 型の最大値です。
UINT_MAX unsigned int 型の最大値です。
ULONG_MAX unsigned long int 型の最大値です。
USHRT_MAX unsigned short int 型の最大値です。
WORD_BIT ワードまたは int 型のビット数です。
KERNEL_BITMODE カーネルのビット・モードで、32 ビットまたは 64 ビットです。
REAL_MEMORY 実メモリー・サイズです。
HARDWARE_BITMODE マシン・ハードウェアのビット・モードで、32 ビットまたは 64 ビットです。
MP_CAPABLE マシンの MP 機能です。

システム標準構成変数

システム標準構成変数には、特定のシステム標準に必要な最小 値が入っています。 プレフィックス _POSIX_POSIX2_、および _XOPEN_ は、それぞれ POSIX 1003.1、POSIX 1003.2、および X/OPEN システム標準に必要なシステム特性の最小値が変数に入っていることを示します。 システム標準は、特定のシステム標準をサポートするためのシステム全体に渡る最小値です。実際の構成値がこれらの標準を超える場合があります。 getconf コマンド用のシステム標準構成変数の定義は次のとおりです。

項目 説明
_POSIX_ARG_MAX 環境データを含め、exec サブルーチンの 1 つの引数の最大バイト数です。
_POSIX_CHILD_MAX 各実ユーザー ID の同時プロセスの最大数です。
_POSIX_JOB_CONTROL システムがジョブ制御をサポートする場合は、値 1 です。
_POSIX_LINK_MAX 1 つのファイルへの最大リンク数です。
_POSIX_MAX_CANON 端末正規入力キュー内の最大バイト数です。
_POSIX_MAX_INPUT 端末入力キュー内の許容最大バイト数です。
_POSIX_NAME_MAX ファイル名の最大バイト数です (最後の null を除く)。
_POSIX_NGROUPS_MAX 各プロセスの同時的な 2 次的グループ ID の最大数です。
_POSIX_OPEN_MAX 1 つのプロセスが一度にオープンできる最大ファイル数です。
_POSIX_PATH_MAX パス名の最大バイト数です。
_POSIX_PIPE_BUF パイプへの書き込み時にアトミックであることが保証される最大バイト数です。
_POSIX_SAVED_IDS 値 1 です。各プロセスのセット・ユーザー ID とセット・グループ ID が保存されています。
_POSIX_SSIZE_MAX ssize_t 型のオブジェクト内に格納できる最大値です。
_POSIX_STREAM_MAX 1 つのプロセスが同時にオープンできるストリーム数です。
_POSIX_TIMESTAMP_RESOLUTION ナノ秒単位でのすべてのファイル・タイム・スタンプのレゾリューション。
_POSIX_TZNAME_MAX タイムゾーンの名前に使用できる最大バイト数です (TZ 環境変数の長さではありません)。
_POSIX_VERSION オペレーティング・システムが準拠する POSIX 1 標準 (C 言語バインディング) のバージョンです。
_XOPEN_CRYPT システムが X/Open Encryption Feature Group をサポートする場合は、値 1 です。
_XOPEN_ENH_I18N システムが X/Open Enhanced Internationalisation Feature Group をサポートする場合は、値 1 です。
_XOPEN_SHM システムが X/Open Shared Memory Feature Group をサポートする場合は、値 1 です。
_XOPEN_VERSION オペレーティング・システムが準拠する X/Open Portability Guide のバージョンです。
_XOPEN_XCU_VERSION オペレーティング・システムが準拠する X/Open Commands and Utilities 仕様のバージョンです。
_XOPEN_XPG2 システムが X/Open Portability Guide, Volume 2, (1987 年 1 月) の XVS System Calls and Libraries をサポートする場合の値は 1 で、それ以外の場合は未定義です。
_XOPEN_XPG3 システムが X/Open Specification (1992 年 2 月) System Interfaces and Headers, Issue 3 をサポートする場合の値は 1 で、それ以外の場合は未定義です。
_XOPEN_XPG4 システムが X/Open CAE Specification (1992 年 7 月) の System Interfaces and Headers, Issue 4 をサポートする場合の値は 1 で、それ以外の場合は未定義です。
POSIX2_BC_BASE_MAX bc コマンドで obase 変数に指定できる最大値です。
POSIX2_BC_DIM_MAX bc コマンドで配列に指定できるエレメントの最大数です。
POSIX2_BC_SCALE_MAX bc コマンドで scale 変数に指定できる最大値です。
POSIX2_BC_STRING_MAX bc コマンドに指定できる文字列定数の最大長です。
POSIX2_CHAR_TERM システムが端末タイプを少なくとも 1 つはサポート する場合の値は 1、それ以外の場合の値は -1 です。
POSIX2_COLL_WEIGHTS_MAX ロケール定義ファイル内の LC_COLLATE ロケール変数のエントリーに割り当て可能な重みの最大数です。
POSIX2_C_BIND システムが POSIX 2 の C Language Binding Option をサポートする場合の値は 1 で、それ以外の場合は -1 です。
POSIX2_C_DEV システムが POSIX 2 の C Language Development Utilities をサポートする場合の値は 1、それ以外の場合の値は -1 です。
POSIX2_C_VERSION オペレーティング・システムが準拠する POSIX 2 標準 (C 言語バインディング) のバージョンです。
POSIX2_EXPR_NEST_MAX expr コマンドによって、 括弧内にネストできる式の最大数です。
POSIX2_FORT_DEV システムが POSIX 2 の FORTRAN Development Utilities Option をサポートする場合の値は 1 で、それ以外の場合は -1 です。
POSIX2_FORT_RUN システムが POSIX 2 の FORTRAN Runtime Utilities Option をサポートする場合の値は 1 で、それ以外の場合は -1 です。
POSIX2_LINE_MAX コマンドがテキスト・ファイルを処理中として記述されたときの、コマンドの入力行 (標準入力または別ファイル) の最大長 (バイト単位) です。この長さには、後続の改行文字を入れる余地が含まれます。
POSIX2_LOCALEDEF システムが localedef コマンドによるロケールの作成をサポートする場合の値は 1、それ以外の場合は未定義です。
POSIX2_RE_DUP_MAX ed コマンドと一緒に、 m パラメーターおよび n パラメーターなどの、 インターバル表記パラメーターを使用するときの、正規表現の反復回数の許容最大数です。
POSIX2_SW_DEV システムが Software Development Utilities Option をサポートする場合の値は 1、それ以外の場合の値は -1 です。
POSIX2_UPE システムが POSIX 2 の User Portability Utilities Option をサポートする場合の値は 1 で、それ以外の場合は -1 です。
POSIX2_VERSION システムがサポートする最新バージョンの POSIX 2 標準の承認日です。日付は 6 桁の数で、最初の 4 桁は年、最後の 2 桁は月を示します。さまざまなバージョンの POSIX 2 標準が IEEE 標準化委員会によって定期的に承認され、承認日は各バージョンを区別するために使用されます。

システム・パス構成変数

PathConfiguration パラメーターは、システム内のパスとパス構造の情報が値に含まれているシステム・パス構成変数を指定します。 これらの変数の定義は次のとおりです。

項目 説明
_POSIX_CHOWN_RESTRICTED chown () サブルーチンの実行は、該当する特権を持つプロセスに対して、またファイルのグループ ID をプロセスの実効グループ ID またはその補足グループ ID のいずれかに変更することに対して限定されます。 PathName パラメーターがディレクトリーを参照する場合、戻される値は、既存のディレクトリー、またはディレクトリー内で作成可能なディレクトリー以外の、任意のファイルに適用されます。
_POSIX_NO_TRUNC パス名が NAME_MAX 変数により指定された制限を超えると、エラーが生成されます。PathName パラメーターがディレクトリーを参照する場合、戻される値はそのディレクトリー内のファイル名に適用されます。
_POSIX_VDISABLE termios.h ファイルに定義された端末特殊文字は、ここで指定する文字値によって使用不可にすることができます。
LINK_MAX 1 つのファイルへの最大リンク数です。PathName パラメーターがディレクトリーを参照する場合、戻される値はそのディレクトリーに適用されます。
MAX_CANON 端末正規入力待ち行列内の最大バイト数です。
MAX_INPUT 端末入力キュー内で使用できる空間の最大バイト数です。
NAME_MAX ファイル名の最大バイト数です (最後の null を除く)。PathName パラメーターがディレクトリーを参照する場合、戻される値はそのディレクトリー内のファイル名に適用されます。
PATH_MAX 最後の null 文字を含めた、パス名の最大バイト数です。PathName パラメーターがディレクトリーを参照する場合、指定したディレクトリーが作業ディレクトリーであるときは、戻される値は相対パス名の最大長です。
PIPE_BUF パイプへの書き込み時にアトミックであることが保証される最大バイト数です。 PathName パラメーターが FIFO またはパイプを参照する場合、戻される値は参照先オブジェクトに適用されます。 PathName パラメーターがディレクトリーを参照する場合、戻される値は既存の FIFO、またはそのディレクトリー内で作成できる FIFO に適用されます。
DISK_PARTITION ディスクの物理区画サイズです。
注: DISK_PARTITION パス構成変数を指定する場合は、情報を照会するディスクの 完全なパスを PathName パラメーターで指定する必要があります。
DISK_SIZE ディスク・サイズを MB で指定します。
注: DISK_SIZE パス構成変数を指定する場合は、情報を照会するディスクの 完全なパスを PathName パラメーターで指定する必要があります。

デバイス変数

DeviceVariable パラメーターは、DeviceName パラメーター が /dev/hdisk0 のようなデバイスのパスであることを示します。ディスクの パスを指定すると、getconf コマンドは、ディスクのデバイス名または ロケーションを表示します。

項目 説明
DISK_DEVNAME デバイス名またはデバイスのロケーションです。

終了状況

このコマンドは次の終了値を戻します。

項目 説明
0 指定された変数が有効で、現在の状態に関する情報が正常に書き込まれました。
>0 エラーが発生しました。

  1. ARG_MAX 変数の値を表示するには、次のコマンドを入力します。
    getconf ARG_MAX
  2. /usr ディレクトリーの NAME_MAX 変数の値を表示するには、次のコマンドを入力します。
    getconf NAME_MAX /usr
  3. 次のシェル・コマンドのシーケンスは、未指定の戻り値をどのように処理するかを示しています。
    if value=$(getconf PATH_MAX /usr)
    then
         if [ "$value" = "undefined" ]
         then
                 echo
                       The value of PATH_MAX in /usr is undefined.
         else
                 echo 
                       The value of PATH_MAX in /usr is $value.
         fi
    else
         echo Error in the getconf command.
    fi
  4. コマンドを次のように入力したとします。
    getconf _XBS5_ILP32_OFF32 

    この場合、-1¥n、または undefined¥n は標準出力に書き出されないので、コマンドを次のような書式にします。

    getconf -v XBS5_ILP32_OFF32 ... 

    このコマンドは、拡張記述である c89 に指定した、 XBS5_ILP32_OFF32 コンパイル環境に対応する、 構成変数の値を判別します。

  5. コマンドを次のように入力したとします。
    getconf _XBS5_ILP32_OFFBIG 

    この場合、-1¥n、または undefined¥n は標準出力に書き出されないので、コマンドを次のような書式にします。

    getconf -v XBS5_ILP32_OFFBIG ... 

    このコマンドは、拡張記述である c89 に指定した、 XBS5_ILP32_OFFBIG コンパイル環境に対応する、 構成変数の値を判別します。

  6. コマンドを次のように入力したとします。
    getconf _XBS5_LP64_OFF64 

    この場合、-1¥n、 または undefined¥n は標準出力に書き出されないので、 コマンドを次のような書式にします。

    getconf -v XBS5_LP64_OFF64 ... 

    このコマンドは、拡張記述である c89 に指定した XBS5_LP64_OFF64 コンパイル環境に対応する構成変数の値を判別します。

  7. コマンドを次のように入力したとします。
    getconf _XBS5_LPBIG_OFFBIG 

    この場合、-1¥n、または undefined¥n は標準出力に書き出されないので、コマンドを次のような書式にします。

    getconf -v _XBS5_LPBIG_OFFBIG 

    このコマンドは、拡張記述である c89 に指定した XBS5_LPBIG_OFFBIG コンパイル環境に対応する構成変数の値を判別します。

  8. root ユーザーとして、ディスク hdisk0 のディスク・サイズを判別するには、次のコマンドを入力します。
    getconf DISK_SIZE /dev/hdisk0
  9. 実メモリー・サイズを判別するには、次のコマンドを入力します。
    getconf REAL_MEMORY
  10. マシン・ハードウェアが 32 ビットであるか 64 ビットであるかを判別するには、次のコマンドを入力します。
    getconf HARDWARE_BITMODE
  11. カーネルが 32 ビットであるか 64 ビットであるかを判別するには、次のコマンドを入力します。
    getconf KERNEL_BITMODE
  12. ディスク hdisk0 のデバイス名またはロケーションを判別するには、次のコマンドを入力します。
    getconf DISK_DEVNAME hdisk0

ファイル

項目 説明
/usr/bin/getconf getconf コマンドが入っています。
/usr/include/limits.h システム構成変数を定義します。
/usr/include/unistd.h システム構成変数を定義します。