用途
將系統配置變量值寫入標準輸出。
語法
getconf [ -v specification ] [ SystemwideConfiguration | PathConfiguration PathName ] [ DeviceVariableDeviceName ]
getconf -a
描述
用 SystemwideConfiguration 參數調用 getconf 命令,將 SystemwideConfiguration 參數所指定的變量值寫到標準輸出。
用 PathConfiguration 和 PathName 參數調用 getconf 命令,寫入 PathConfiguration 參數爲 PathName 參數指定路徑指定的變量值,到標準輸出。
getconf 命令,用 -a 標誌調用,並寫入全部系統配置變量值到標準輸出。
getconf 命令,用 DeviceVariable 和 DeviceName 參數調用,寫磁盤設備名或位置的值到標準輸出,設備路徑由 DeviceName 參數指定。
如果在系統中定義指定的變量且其值描述爲可從 confstr 子例程得到,則指定變量的值按下列格式寫入:
“%s\n”,< 值 >
否則,如果在系統中定義指定變量,其值按下列格式寫入:
“%d\n”, < 值 >
如果指定變量是有效的但在系統中未定義,則將下列內容寫入標準輸出:
“undefined\n”
如果變量名無效或出現錯誤,就會有一個診斷消息寫入標準錯誤。
標記
-a 規格 | 顯示了指定規格及版本,其配置變量等待確定。如果該標誌未被指定,返回值將響應一個實現缺省值 XBS5 的相應的編輯環境。 |
-v | 將全部系統配置變量值寫入標準輸出。 |
參數
PathName | 爲 PathConfiguration 參數指定路徑名。 |
SystemwideConfiguration | 指定一個系統配置變量。 |
PathConfiguration | 指定一個系統路徑配置變量。 |
DeviceName | 指定一個設備路徑名。 |
DeviceVariable | 指定一個設備變量。 |
當列入下列的表格中的第一列符號被用作 system_var 操作數時,getconf 將產生與用第二列的值調用 confstr 時相同的值:
system_var | confstr 名稱值 |
---|---|
BOOT_DEVICE | _CS_AIX_BOOTDEV |
MACHINE_ARCHITECHTURE | _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 | 爲取消設置或空的國際化變量值提供一個缺省值。如果 LANG 被取消設置或空,則將使用來自依賴實現的 | 缺省語言環境的相應值。如果任何一個國際化變量包含一個無效設置,實用程序將象未定義變量義變量來運行。 |
LC_CALL | 如果設置爲一個非空字符串值,則所有其它國際化變量值會被覆蓋。 |
LC_CTYPE | 確定將文本數據字節序列解釋爲字符的語言環境(例如,在參數中,單字節字符與多字節字符相對)。 |
LC_MESSAGES | 確定用以影響寫入標準錯誤的診斷消息格式和內容的語言環境。 |
NLSPATH | 決定處理 LC_MESSAGES 消息目錄的位置。 |
系統範圍配置變量
SystemwideConfiguration 參數指定系統配置變量,其值在整個系統中都可用。有兩種系統配置變量:
系統範圍配置變量
系統範圍配置變量包含系統各部分中的最小值。下列的列表定義系統範圍配置變量,這些變量與 getconf 命令一起使用:
_CS_PATH | PATH 環境變量值,用以查找命令。 |
ARG_MAX | 用於一個 exec 子例程的參數的最大長度(以字節爲單位),包含環境數據。 |
BC_BASE_MAX | bc 命令使用的 obase 變量允許的最大值。 |
BC_DIM_MAX | bc 命令所允許的一個數組中的最大元素數。 |
BC_SCALE_MAX | bc 命令使用的 scale 變量允許的最大值。 |
BC_STRING_MAX | bc 命令可接受的字符串常量的最大長度。 |
CHARCLASS_NAME_MAX | 字符類名中的最大字節數。 |
CHAR_BIT | 類型 character 的位數。 |
CHAR_MAX | 類型 character 的最大值。 |
CHAR_MIN | 類型 character 的最小值。 |
CHILD_MAX | 每個真實用戶標識同時打開進程的最大數量。 |
CLK_TCK | 由 time 子例程返回的每秒鐘時鐘計數。 |
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 | 每個進程中同時補充的最大組標識數。 |
NL_ARGMAX | 在 printf 和 scanf 子例程調用中的數字最大值。 |
NL_LANGMAX | 在一個 LANG 名中最大字節數。 |
NL_MSGMAX | 最大消息數。 |
NL_NMAX | 一個從 N 到 1 整序映射中最大字節數。 |
NL_SETMAX | 最大設置數。 |
NL_TEXTMAX | 一個消息字符串中最大字節數。 |
NZERO | 缺省進程優先級。 |
OPEN_MAX | 在進程中可同時打開的最大文件數。 |
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 | 一個進程可同時打開的流數。 |
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 | 計算機微處理器容量。 |
系統標準配置變量
系統標準配置變量包含由一個特殊系統標準所要求的最小值。_POSIX_、POSIX2_ 和 _XOPEN_ 前綴顯示變量包含分別由 POSIX 1003.1、POSIX 1003.2 和 X/Open 系統標準要求的系統特性最小值。系統標準是系統滿足的用來支持特定系統標準的全系統最小值。實際配置值可能超出這些標準。用於 getconf 命令的這些系統標準配置變量的定義如下:
_POSIX_ARG_MAX | 用於 exec 子例程的參數的最大長度(以字節爲長度),包含環境數據。 |
_POSIX_CHILD_MAX | 每個真實用戶標識同時打開進程的最大數量。 |
_POSIX_JOB_CONTROL | 如果系統支持作業控制,則值爲 1。 |
_POSIX_LINK_MAX | 到單個文件的最大鏈接數。 |
_POSIX_MAX_CANON | 在終端規範輸入隊列中的最大字節數。 |
_POSIX_MAX_INPUT | 在終端輸入隊列中允許的最大字節數。 |
_POSIX_NAME_MAX | 文件名中的最大字節數(不包含終止空字符)。 |
_POSIX_NGROUPS_MAX | 每個進程中同時補充的最大組標識數。 |
_POSIX_OPEN_MAX | 在進程中可同時打開的最大文件數。 |
_POSIX_PATH_MAX | 路徑名中的最大字節數。 |
_POSIX_PIPE_BUF | 寫入管道時保證成爲原子的最大字節數。 |
_POSIX_SAVED_IDS | 值爲1。每個進程具有保存的 set-user-ID 和保存的 set-group-ID。 |
_POSIX_SSIZE_MAX | 可存進一個類型爲 ssize_t 對象的最大值。 |
_POSIX_STREAM_MAX | 一個進程可同時打開的流數。 |
_POSIX_TZNAME_MAX | 一個時區名支持的最大字節數(非 TZ 環境變量的長度)。 |
_POSIX_VERSION | 操作系統遵守的 POSIX 1 標準(C 語言綁定)的版本。 |
_XOPEN_CRYPT | 如果系統支持 X/Open 加密功能組則值爲 1。 |
_XOPEN_ENH_I18N | 如果系統支持 X/Open 增強國際化功能組則值爲 1。 |
_XOPEN_SHM | 如果系統支持 X/Open 共享內存功能組則值爲 1。 |
_XOPEN_VERSION | 操作系統所遵守的 X/Open 可移植性指南的版本。 |
_XOPEN_XCU_VERSION | 操作系統所遵守的 X/Open 命令和實用程序規範的版本。 |
_XOPEN_XPG2 | 如果系統支持 1987 年 1 月卷 2 的 X/Open 可移植性指南,XVS 系統調用和庫,則值爲 1,否則爲未定義。 |
_XOPEN_XPG3 | 如果系統支持 1992 年 2 月 的 X/Open 規範,系統接口和頭第三版,則缺省值爲 1,否則爲未定義。 |
_XOPEN_XPG4 | 如果系統支持 1992 年 7 月 的 X/Open CAE 規範,系統接口和頭第 4 版,則值爲 1,否則爲未定義。 |
POSIX2_BC_BASE_MAX | 允許的最大值,用於 obase 變量並使用 bc 命令。 |
POSIX2_BC_DIM_MAX | bc 命令允許數組中的最大元素數。 |
POSIX2_BC_SCALE_MAX | 允許的最大值,用於 scale 變量,執行 bc 命令。 |
POSIX2_BC_STRING_MAX | 可被 bc 命令接受的字符串常量的最大長度。 |
POSIX2_CHAR_TERM | 系統支持至少一個終端類型則值爲 1;否則值爲 -1。 |
POSIX2_COLL_WEIGHTS_MAX | 配給一個條目的最大權重數目,條目在一個語言環境定義文件中的 LC_COLLATE 語言環境變量中。 |
POSIX2_C_BIND | 如果系統支持 POSIX 2 中的 C 語言綁定選項,則值爲 1;否則,值爲-1。 |
POSIX2_C_DEV | 如果系統支持 POSIX 2 中的 C 語言開發實用程序則值爲 1;否則,值爲 -1。 |
POSIX2_C_VERSION | 操作系統所遵守的 POSIX 2 標準(C 語言綁定)的版本。 |
POSIX2_EXPR_NEST_MAX | 圓括號內可嵌套的最大表達式數,用於 expr 命令。 |
POSIX2_FORT_DEV | 如果系統支持 POSIX 2 中的 FORTRAN 開發實用程序選項則值爲 1;否則,值爲 -1。 |
POSIX2_FORT_RUN | 如果系統支持 POSIX 2 中的 FORTRAN 運行時實用程序選項則值爲 1;否則,值爲 -1。 |
POSIX2_LINE_MAX | 當命令被描述成處理文本文件時,一個命令輸入行(標準輸入或其他文件)的最大字節長度。長度包含換行字符空間。 |
POSIX2_LOCALEDEF | 如果系統支持由 localedef 命令創建語言環境,則值爲 1;否則值未定義。 |
POSIX2_RE_DUP_MAX | 當使用間隔計數參數時正則表達式所允許重複出現的最大值,例如帶 m 和 n 參數使用 ed 命令。 |
POSIX2_SW_DEV | 系統支持軟件開發實用程序選項則值爲 1;否則,值爲 -1。 |
POSIX2_UPE | 如果系統支持 POSIX 2 中用戶可移植實用程序選項,則值爲 1;否則,值爲 -1。 |
POSIX2_VERSION | 系統支持的 POSIX 2 標準的最新版本的批准日期。這個日期是一個六位數字,前四位數字表示年份後兩位數字表示月份。POSIX 2 標準的不同版本由 IEEE 標準委員會定期批准,批准日期用於區分不同版本。 |
系統路徑配置變量
PathConfiguration 參數指定了系統路徑配置變量,該變量值包含在系統中的路徑和路徑結構信息。下列的列表定義了這些變量:
_POSIX_CHOWN_RESTRICTED | chown() 子例程以適當的特權限制在進程,並且將文件的組標識只更改爲進程的有效組標識或輔助組標識之一。如果 PathName 參數引用目錄,其返回值應用於除在目錄中已存在的或可被創建的目錄外的所有文件。 |
_POSIX_NO_TRUNC | 路徑名長於變量 NAME_MAX 指定的限定值就會產生錯誤。如果 PathName 參數引用目錄,其返回值應用於目錄中的文件名。 |
_POSIX_VDISABLE | 終端特殊字符,定義在 termios.h 文件中,可使用這一字符值禁用。 |
LINK_MAX | 鏈接一個文件的最大鏈接數。如果 PathName 參數引用目錄,則返回值應用於該目錄。 |
MAX_CANON | 在終端規範輸入行中的最大字節數。 |
MAX_INPUT | 在終端輸入隊列有可用空間的最大字節數。 |
NAME_MAX | 文件名中的最大字節數(不包含終止空字符)。如果 PathName 參數引用目錄,返回值應用於目錄內的文件名。 |
PATH_MAX | 路徑名中的最大字節數,包含終止空字符。如果 PathName 參數引用目錄,返回值爲當指定目錄是工作目錄時的相對路徑名的最大長度。 |
PIPE_BUF | 當寫入管道時保證成爲原子的最大字節數。如果這個 PathName 參數指向先進先出或是管道,其返回值應用於引用對象。如果 PathName 參數引用目錄,返回值應用於任何已存在的或可在目錄內創建的先進先出。 |
DISK_PARTITION | 磁盤的物理分區大小。
注:
對於 DISK_PARTITION 路徑配置變量,這個 PathName 參數必須指定爲之查詢信息的磁盤的完整路徑。
|
DISK_SIZE | 磁盤大小以兆字節爲單位。
注:
對於 DISK_SIZE 路徑配置變量,這個 PathName 參數必須指定爲之查詢信息的磁盤的完整路徑。
|
設備變量
DeviceVariable 參數顯示了這個 DeviceName 參數是一個設備路徑,例如 /dev/hdisk0。給定一個磁盤的路徑,則這個 getconf 命令顯示這個磁盤的設備名或位置。
DISK_DEVNAME | 設備名或設備位置。 |
退出狀態
此命令返回下列出口值:
0 | 這個指定變量是有效的並且其當前狀態的信息已被成功寫入。 |
>0 | 發生錯誤。 |
- 顯示變量 ARG_MAX 的值,請輸入:
getconf ARG_MAX
- 顯示所有系統配值變量值,輸入:
getconf -a
- 顯示變量 NAME_MAX 的值,用於 /usr 目錄,請輸入:
getconf NAME_MAX /usr
- 下列 shell 命令顯示怎樣處理未指定結果:
if value=$(getconf PATH_MAX /usr) then if [ "$value" = "undefined" ] then echo The value of PATH_MAX in /usr is undefined. else The value of PATH_MAX in /usr is $value. fi else echo Error in the getconf command. fi
示例
- 顯示變量 ARG_MAX 的值,請輸入:
getconf ARG_MAX
- 顯示變量 NAME_MAX 的值,用於 /usr 目錄,請輸入:
getconf NAME_MAX /usr
- 下列 shell 命令顯示怎樣處理未指定結果:
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
- 如果命令:
getconf _XBS5_ILP32_OFF32
沒有寫入 -1\n 或 undefined\n 到標準輸出,那麼表單命令:
getconf -v XBS5_ILP32_OFF32 ...
將確定相應於 XBS5_ILP32_OFF32 編譯環境的配置變量值。編譯環境指定於 c89,擴展描述。
- 如果命令:
getconf _XBS5_ILP32_OFFBIG
沒有寫入 -1\n 或 undefined\n 到標準輸出,那麼表單命令:
getconf -v XBS5_ILP32_OFFBIG ...
將確定相應於 XBS5_ILP32_OFFBIG 編譯環境的配置變量值,編譯環境值指定於 c89,擴展描述。
- 如果命令:
getconf _XBS5_LP64_OFF64
沒有寫入 -1\n 或 undefined\n 到標準輸出,那麼表單命令:
getconf -v XBS5_LP64_OFF64 ...
將確定相應於 XBS5_LP64_OFF64 編譯環境的配置變量值,編譯環境值指定於 c89,擴展描述。
- 如果命令:
getconf _XBS5_LPBIG_OFFBIG
沒有寫入 -1\n 或 undefined\n 到標準輸出,那麼如下形式的命令:
getconf -v _XBS5_LPBIG_OFFBIG
將確定相應於在 c89,擴展描述中指定的 XBS5_LPBIG_OFFBIG 編譯環境的配值變量值。
- 確定磁盤 hdisk0 大小,若是 root 用戶,則輸入下列:
getconf DISK_SIZE /dev/hdisk0
- 確定實際內存大小,輸入下列:
getconf REAL_MEMORY
- 確定是否機器硬件是 32 位或 64 位,則輸入下列:
getconf HARDWARE_BITMODE
- 確定是否內核是 32 位或 64 位,則輸入下列:
getconf KERNEL_BITMODE
- 確定磁盤 hdisk0 的設備名或位置,則輸入下列:
getconf DEVICE_NAME /dev/hdisk0
文件
/usr/bin/getconf | 包含一個 getconf 命令。 |
/usr/include/limits.h | 定義系統配置變量。 |
/usr/include/unistd.h | 定義系統配置變量。 |