confctl man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

CONFCTL(1)			 User Manuals			    CONFCTL(1)

NAME
       confctl - sysctl-like tool for config files

SYNOPSIS
       confctl [-CEIS] -a [-n] config-file
       confctl [-CEIS] [-n] config-file variable-name ...
       confctl [-CEIS] -w variable-name=value config-file
       confctl [-CEIS] -x variable-name config-file

DESCRIPTION
       confctl	provides  access  to  configuration files in C-like syntax via
       sysctl(8)-like interface, making it easy to use from shell scripts.

       The following options are available:

       -a     Show all the variables and their values.

       -n     Show only values, not names.

       -w     Change value of configuration variable and update the configura‐
	      tion file.  Variable is created if it doesn't yet exist.

       -x     Delete the variable and update the configuration file.

       -C     Recognize	 C++  double slash ('//') and slash star ('/* ... */')
	      comment markers.

       -E     Use equals sign (' = ') to separate values from names.   Without
	      this  option, the equals sign is ignored, i.e. treated as white‐
	      space.

       -I     Instead of writing a temporary file and then atomically  replac‐
	      ing  the configuration file, rewrite it in place.	 It also makes
	      confctl acquire a file lock when reading or writing the configu‐
	      ration file.

       -S     Use  semicolon  (';')  after values.  Note that the semicolon is
	      always treated as terminating character when parsing, regardless
	      of this option.

EXAMPLES
       Say you have a configuration file that looks like this:

       interfaces {
	    eth0 {
		 ip-address	192.168.1.1
		 mtu	   9000
	    }

	    eth1 {
		 ip-address	192.168.2.1
		 description	"Uplink to Telia"
	    }
       }

       You can access all the variables like this (note the -a option):

       % confctl -a config-file
       interfaces.eth0.ip-address=192.168.1.1
       interfaces.eth0.mtu=9000
       interfaces.eth1.ip-address=192.168.2.1
       interfaces.eth1.description="Uplink to Telia"

       You can also query individual variables:

       % confctl config-file interfaces.eth0.ip-address interfaces.eth1.ip-address
       interfaces.eth0.ip-address=192.168.1.1
       interfaces.eth1.ip-address=192.168.2.1

       To modify a variable, use the -w option:

       % confctl -w interfaces.eth0.ip-address=192.168.1.2 config-file

       You  can	 pass the -w option multiple times to set several variables at
       once.  You use exactly the same syntax to add new variables:

       % confctl -w interfaces.eth2.ip-address=10.0.0.1 -w interfaces.eth2.netmask=24 config-file
       % confctl config-file interfaces.eth2
       interfaces.eth2.ip-address=10.0.0.1
       interfaces.eth2.netmask=24
       % cat config-file

       interfaces {
	    eth0 {
		 ip-address	192.168.1.1
		 mtu	   9000
	    }

	    eth1 {
		 ip-address	192.168.2.1
		 description	"Uplink to Telia"
	    }

	    eth2 {
		 ip-address	10.0.0.1
		 netmask	24
	    }
       }

       Note that file modification preserves formatting and  indentation.   It
       also  preserves all the comments, including ones for variables modified
       in place.

       Also note that by default, modification is done by writing a  temporary
       copy  of	 the file, in the same containing directory, and then renaming
       it, replacing the old file.  This will fail if it's impossible to  cre‐
       ate  new	 files,	 and  won't do the right thing when the file name is a
       symlink.	 In that case, use -I option to rewrite configuration file  in
       place.

AUTHOR
       Edward Tomasz Napierala <trasz@FreeBSD.org>

SEE ALSO
       sysctl(8)

confctl				  20 May 2012			    CONFCTL(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net