温馨提示×

ubuntu getconf怎么读变量

小樊
43
2026-10-15 14:14:56
栏目: 智能运维

在 Ubuntu(以及其他 Linux 发行版)里,getconf 是用来读取系统配置变量的命令,底层来自 POSIX / glibc 的 sysconf、pathconf、confstr 等接口。

下面按常见用法给你说明。


一、基本用法

getconf VARIABLE

例如:

getconf LONG_BIT

输出:

64

表示系统是 64 位。


二、读取系统级变量(常用)

1️⃣ 系统位数

getconf LONG_BIT

2️⃣ 页大小(内存页)

getconf PAGE_SIZE

3️⃣ 最大进程数 / 线程数

getconf _NPROCESSORS_CONF
getconf _NPROCESSORS_ONLN

4️⃣ 文件路径相关

getconf PATH_MAX /
getconf NAME_MAX /

三、读取“路径相关”变量(pathconf)

格式是:

getconf VARIABLE path

例如:

getconf NAME_MAX /tmp

表示 /tmp 目录下文件名最大长度。


四、查看所有可用变量

方法 1(最直接)

getconf -a

会列出所有支持的配置变量。

方法 2(系统调用层面)

man sysconf
man pathconf
man confstr

五、在 Shell 脚本中使用

pagesize=$(getconf PAGE_SIZE)
echo "Page size: $pagesize"

或者判断系统位数:

if [ "$(getconf LONG_BIT)" = "64" ]; then
    echo "64-bit system"
fi

六、和 env 变量的区别(重要)

命令 作用
getconf 读取系统配置参数(编译/运行时)
echo $VAR 读取环境变量
sysctl 读取/修改内核运行参数

如果你有具体想读的变量名(比如线程数、文件数、栈大小等),可以直接告诉我,我可以给你精确命令。

0 踩