getconf 是 Ubuntu / Linux 中用来查询系统配置参数的命令,它可以获取操作系统、硬件架构、POSIX / GNU 相关限制和参数。
下面按常见用法 + 示例来说明。
getconf [参数] [变量名]
_POSIX_*、PATH_MAX 等)getconf LONG_BIT
输出示例:
64
表示系统是 64 位。
getconf -a | head
或:
getconf SYSTEM_IMPL
(不同系统支持程度不同)
getconf PATH_MAX /
示例输出:
4096
getconf OPEN_MAX
getconf _NPROCESSORS_CONF
getconf _NPROCESSORS_ONLN
_NPROCESSORS_CONF:CPU 核心数(配置)_NPROCESSORS_ONLN:当前在线 CPU 数getconf -a
会列出所有可用变量,非常长,可配合 grep:
getconf -a | grep POSIX
getconf _POSIX_VERSION
示例:
200809
表示 POSIX.1-2008
getconf NAME_MAX /tmp
查看 /tmp 下文件名最大长度。
✅ 写脚本时判断系统能力
✅ 查看系统限制(避免越界)
✅ 排查“参数过大 / 打开文件过多”问题
✅ 程序编译前确认系统特性
| 命令 | 用途 |
|---|---|
getconf |
查询系统限制和配置 |
uname |
查看内核信息 |
ulimit |
查看/设置用户资源限制 |
sysctl |
修改内核运行参数 |
❌ 变量名不存在:
getconf NOT_EXIST
会返回空或报错。
✅ 正确做法:
getconf -a | grep 关键字
如果你有具体想查的东西(比如最大线程数、文件大小、CPU 数等),可以告诉我,我可以直接给你对应命令。