在 Ubuntu(以及其他 Linux 发行版)里,getconf 是一个查询系统配置参数的命令行工具,用来获取操作系统、硬件架构、POSIX / GNU 相关限制和参数。
下面从「是什么 → 怎么用 → 常见例子」给你讲清楚。
getconf 用于:
它的值通常来自:
<limits.h><unistd.h>sysconf() / pathconf() 系统调用getconf [参数名]
getconf [参数名] [路径]
getconf LONG_BIT
输出:
64
表示系统是 64 位。
getconf -a | grep GNU
或:
getconf HOSTNAME
getconf -a
会列出所有支持的参数(非常多)。
getconf _NPROCESSORS_CONF
getconf _NPROCESSORS_ONLN
CONF:配置的 CPU 数ONLN:当前在线 CPU 数getconf NAME_MAX /
getconf PATH_MAX /
含义:
NAME_MAX:文件名最大长度PATH_MAX:路径最大长度getconf OPEN_MAX
getconf THREAD_DESTRUCTOR_ITERATIONS
getconf PTHREAD_STACK_MIN
getconf NAME_MAX /home
用于查询特定文件系统的参数。
在 C 程序中,getconf 的值来自:
sysconf(_SC_OPEN_MAX);
pathconf("/tmp", _PC_NAME_MAX);
# 查看 CPU 核心数
getconf _NPROCESSORS_ONLN
# 判断是否 64 位
[ "$(getconf LONG_BIT)" = "64" ] && echo "64-bit"
# 查看最大用户名长度
getconf LOGIN_NAME_MAX
你可以直接告诉我,比如:
我可以直接给你对应命令或脚本示例。