在 Debian(以及大多数 Linux 发行版)里,getconf 本身是一个查询系统配置变量的工具,它并不“自带”很多命令,而是去读取:
下面按类别说明 getconf 在 Debian 上通常支持的内容。
getconf VARIABLE
getconf VARIABLE path
例如:
getconf LONG_BIT
getconf _POSIX_VERSION
getconf PATH_MAX /tmp
getconf LONG_BIT # 32 或 64
getconf WORD_BIT
getconf CHAR_BIT
这些通常都支持:
getconf _POSIX_VERSION
getconf _POSIX2_VERSION
getconf _XOPEN_VERSION
getconf OPEN_MAX
getconf ARG_MAX
getconf CHILD_MAX
getconf NGROUPS_MAX
getconf LINK_MAX
getconf NAME_MAX
getconf PATH_MAX
getconf PIPE_BUF
getconf PAGESIZE
getconf CLK_TCK
Debian 使用 glibc,所以通常支持:
getconf GNU_LIBC_VERSION
getconf GNU_LIBPTHREAD_VERSION
getconf _POSIX_THREADS
getconf _POSIX_REALTIME_SIGNALS
getconf _POSIX_MONOTONIC_CLOCK
getconf _POSIX_TIMERS
getconf _POSIX_SEMAPHORES
(返回 1 表示支持,未定义表示不支持)
对某个路径有效:
getconf NAME_MAX /
getconf PATH_MAX /home
getconf LINK_MAX /tmp
getconf PATH
getconf LFS_CFLAGS
getconf LFS_LDFLAGS
有些变量依赖编译环境和 glibc 版本
getconf -a
这是最推荐的方式,会列出当前系统支持的全部变量。
man getconf
man sysconf
man pathconf
man confstr
getconf -a | grep _POSIX
getconf 本身来自 libc-bin 包$ getconf LONG_BIT
64
$ getconf GNU_LIBC_VERSION
glibc 2.36
$ getconf PATH_MAX /
4096
如果你愿意,我可以:
你更想看哪一个?