「sysctl(8)」-

运行时修改内核参数

命令语法格式

sysctl [options] [variable[=value]] […]

sysctl -p [file or regexp] […]

命令描述

命令sysctl用于在运行时修改内核参数。可用的参数是/proc/sys/下列出的参数。 在Linux中,支持sysctl需要proc文件系统。 您可以使用sysctl来读取和写入sysctl数据。

命令参数

variable
要读取的key的名称。例如:kernel.ostype。 也可以接受’/’分隔符,代替’.’,比如kernel.ostype

variable=value
要设置的key及value,请使用variable=value,其中variable是键,value是要将其设置为的值。如果值包含由Shell解析的引号或字符,则可能需要将值括在双引号中。

-a, –all
显示当前可用的所有值。

–deprecated
包含已弃用的参数到–all值列表。

-n, –values
在打印值时,禁用键名的打印。

-N, –names
仅打印键名。对于具有可编程完成的Shell可能很有用。

-e, –ignore
使用此选项可忽略有关未知key的错误。

-q, –quiet
不要将设置的值显示到标准中。

-w, –write
当所有参数都规定要设置的键时,请使用此选项。

-p[FILE], –load[=FILE]
从指定的文件或/etc/sysctl.conf(如果没有给出)加载sysctl设置。使用“-”作为FILE表示从标准输入读取数据。 使用此选项意味着sysctl的参数是文件,它们按照指定的顺序读取。参数FILE可以指定为正则表达式。

–system
从所有系统配置文件中加载设置。 从上到下按给定顺序,从以下列表中的目录中读取文件:

/run/sysctl.d/*.conf

/etc/sysctl.d/*.conf

/usr/local/lib/sysctl.d/*.conf

/usr/lib/sysctl.d/*.conf

/lib/sysctl.d/*.conf

/etc/sysctl.conf

加载给定文件名的文件后,将忽略后续目录中的任何同名文件。

-r, –pattern pattern
仅应用与pattern匹配的设置。该模式使用扩展正则表达式(ERE)语法。

-b, –binary
打印没有换行的值。

其他选项

-A
等同于-a

-d
等同于-h

-f
等同于-p

-X
等同于-a

-o
什么都不做,为了保持与BSD的兼容。

-x
什么都不做,为了保持与BSD的兼容。

-h, –help
显示帮助信息并退出。

-V, –version
显示版本信息并退出。

注意事项

已经弃用的参数

不推荐使用base_reachable_time和retrans_time参数。 命令sysctl不允许更改这些参数的值。坚持使用已弃用的内核接口的用户应该通过:

# echo 256 > /proc/sys/net/ipv6/neigh/eth0/base_reachable_time

等其他方式将值设置到/proc文件系统。

相关文件

/proc/sys
内核参数的保存位置。

/etc/sysctl.conf
可修改的配置文件。

使用示例

显示当前可用的所有值:

# /sbin/sysctl -a

打印kernel.hostname的值时,但是禁用键名的打印:

# /sbin/sysctl -n kernel.hostname

临时更改某个值:

# /sbin/sysctl -w kernel.domainname=”example.com”

从/etc/sysctl.conf中加载配置:

# /sbin/sysctl -p /etc/sysctl.conf

打印所包含forward的key及其值:

# /sbin/sysctl -a –pattern forward

打印所有以forward结尾的key及其值:

# /sbin/sysctl -a –pattern forward$

打印eth0和wlan0的arp设置:

# /sbin/sysctl -a –pattern ‘net.ipv4.conf.(eth|wlan)0.arp’

打印net.ipv6的全部设置:

# /sbin/sysctl –system –pattern ‘^net.ipv6’

如上示例。

相关手册

sysctl.conf(5) regex(7)

参考文献

  • man 8 sysctl, Version 23.3.15-2

更新日志

  • 07/29/2017 创建文章
  • 10/03/2018 修改文章内容