在 Debian(以及其他使用 glibc 的 Linux 发行版)中,getconf 命令用于查询 系统配置变量(system configuration values),这些变量主要来自:
getconf -a
这会列出 当前系统支持的所有配置变量,例如:
LINK_MAX
_POSIX_LINK_MAX
MAX_CANON
MAX_INPUT
NAME_MAX
PATH_MAX
PIPE_BUF
_POSIX_PATH_MAX
...
| 变量 | 含义 |
|---|---|
LINK_MAX |
一个文件的最大硬链接数 |
NAME_MAX |
文件名最大长度 |
PATH_MAX |
路径最大长度 |
PIPE_BUF |
管道原子写入大小 |
MAX_CANON |
终端规范输入最大长度 |
MAX_INPUT |
终端输入缓冲大小 |
示例:
getconf NAME_MAX /
getconf PATH_MAX /
| 变量 | 说明 |
|---|---|
_SC_NPROCESSORS_CONF |
系统配置 CPU 数 |
_SC_NPROCESSORS_ONLN |
当前在线 CPU 数 |
_SC_THREADS |
是否支持线程 |
_SC_THREAD_STACK_MIN |
线程栈最小大小 |
常用:
getconf _NPROCESSORS_ONLN
getconf _NPROCESSORS_CONF
| 变量 | 说明 |
|---|---|
PAGESIZE |
内存页大小 |
_SC_PHYS_PAGES |
物理页数 |
_SC_AVPHYS_PAGES |
可用物理页数 |
示例:
getconf PAGESIZE
getconf PAGE_SIZE
getconf -a | grep PATH
常见:
| 变量 | 说明 |
|---|---|
LFS_CFLAGS |
大文件支持编译参数 |
LFS_LDFLAGS |
大文件链接参数 |
LFS_LIBS |
大文件库 |
在 Debian 上,你可能会看到:
GNU_LIBC_VERSION
XOPEN_VERSION
POSIX_VERSION
查看:
getconf GNU_LIBC_VERSION
语法:
getconf VARNAME PATH
示例:
getconf NAME_MAX /
getconf PATH_MAX /home
⚠️ 并非所有变量都支持路径参数。
# CPU 核心数
getconf _NPROCESSORS_ONLN
# 页大小
getconf PAGESIZE
# 最大路径长度
getconf PATH_MAX /
# glibc 版本
getconf GNU_LIBC_VERSION
getconf 实际调用:
sysconf()pathconf()confstr()如果你愿意,我可以: