<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % entities SYSTEM "custom-entities.ent" >
%entities;
]>
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="systemd.syntax">

  <refentryinfo>
    <title>systemd.syntax</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd.syntax</refentrytitle>
    <manvolnum>7</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd.syntax</refname>
    <refpurpose>General syntax of systemd configuration files</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Introduction</title>

    <para>This page describes the basic principles of configuration files used by
    <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    and related programs for:
    <itemizedlist>
      <listitem><para>systemd unit files, see
      <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.nspawn</refentrytitle><manvolnum>5</manvolnum></citerefentry>
      </para></listitem>

      <listitem><para>link files, see
      <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
      </para></listitem>

      <listitem><para>netdev and network files, see
      <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
      </para></listitem>

      <listitem><para>daemon config files, see
      <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-user.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>journal-remote.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>journal-upload.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>timesyncd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
      </para></listitem>
    </itemizedlist>
    </para>

    <para>The syntax is inspired by
    <ulink url="http://standards.freedesktop.org/desktop-entry-spec/latest/">XDG Desktop Entry Specification</ulink>
    <filename>.desktop</filename> files, which are in turn inspired by Microsoft Windows
    <filename>.ini</filename> files.
    </para>

    <para>Each file is a plain text file divided into sections, with configuration entries in the style
    <replaceable>key</replaceable>=<replaceable>value</replaceable>. Whitespace immediately before or after
    the <literal>=</literal> is ignored. Empty lines and lines starting with <literal>#</literal> or
    <literal>;</literal> are ignored, which may be used for commenting.</para>

    <para>Lines ending in a backslash are concatenated with the following line while reading and the
    backslash is replaced by a space character. This may be used to wrap long lines. The limit on
    line length is very large (currently 1 MB), but it is recommended to avoid such long lines and
    use multiple directives, variable substitution, or other mechanism as appropriate for the given
    file type. When a comment line or lines follow a line ending with a backslash, the comment block
    is ignored, so the continued line is concatenated with whatever follows the comment block.</para>

    <example><programlisting>[Section A]
KeyOne=value 1
KeyTwo=value 2

# a comment

[Section B]
Setting="something" "some thing" "…"
KeyTwo=value 2 \
       value 2 continued

[Section C]
KeyThree=value 3\
# this line is ignored
; this line is ignored too
       value 3 continued
</programlisting></example>

    <para>Boolean arguments used in configuration files can be written in
    various formats. For positive settings the strings
    <option>1</option>, <option>yes</option>, <option>true</option>
    and <option>on</option> are equivalent. For negative settings, the
    strings <option>0</option>, <option>no</option>,
    <option>false</option> and <option>off</option> are
    equivalent.</para>

    <para>Time span values encoded in configuration files can be written in various formats. A stand-alone
    number specifies a time in seconds.  If suffixed with a time unit, the unit is honored. A
    concatenation of multiple values with units is supported, in which case the values are added
    up. Example: <literal>50</literal> refers to 50 seconds; <literal>2min 200ms</literal> refers to
    2 minutes and 200 milliseconds, i.e. 120200 ms.  The following time units are understood:
    <literal>s</literal>, <literal>min</literal>, <literal>h</literal>, <literal>d</literal>,
    <literal>w</literal>, <literal>ms</literal>, <literal>us</literal>.  For details see
    <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>

    <para>Various settings are allowed to be specified more than once, in which case the
    interpretation depends on the setting. Often, multiple settings form a list, and setting to an
    empty value "resets", which means that previous assignments are ignored. When this is allowed,
    it is mentioned in the description of the setting. Note that using multiple assignments to the
    same value makes the file incompatible with parsers for the XDG <filename>.desktop</filename>
    file format.</para>
  </refsect1>

  <refsect1>
    <title>Quoting</title>

    <para>For settings where quoting is allowed, the following general rules apply: double quotes ("…") and
    single quotes ('…') may be used to wrap a whole item (the opening quote may appear only at the beginning
    or after whitespace that is not quoted, and the closing quote must be followed by whitespace or the end
    of line), in which case everything until the next matching quote becomes part of the same item. Quotes
    themselves are removed. C-style escapes are supported. The table below contains the list of known escape
    patterns. Only escape patterns which match the syntax in the table are allowed; other patterns may be
    added in the future and unknown patterns will result in a warning. In particular, any backslashes should
    be doubled. Finally, a trailing backslash (<literal>\</literal>) may be used to merge lines, as described
    above. UTF-8 is accepted, and hence typical unicode characters do not need to be escaped.</para>

    <table>
      <title>Supported escapes</title>
      <tgroup cols='2'>
        <colspec colname='escape' />
        <colspec colname='meaning' />
        <thead>
          <row>
            <entry>Literal</entry>
            <entry>Actual value</entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry><literal>\a</literal></entry>
            <entry>bell</entry>
          </row>
          <row>
            <entry><literal>\b</literal></entry>
            <entry>backspace</entry>
          </row>
          <row>
            <entry><literal>\f</literal></entry>
            <entry>form feed</entry>
          </row>
          <row>
            <entry><literal>\n</literal></entry>
            <entry>newline</entry>
          </row>
          <row>
            <entry><literal>\r</literal></entry>
            <entry>carriage return</entry>
          </row>
          <row>
            <entry><literal>\t</literal></entry>
            <entry>tab</entry>
          </row>
          <row>
            <entry><literal>\v</literal></entry>
            <entry>vertical tab</entry>
          </row>
          <row>
            <entry><literal>\\</literal></entry>
            <entry>backslash</entry>
          </row>
          <row>
            <entry><literal>\"</literal></entry>
            <entry>double quotation mark</entry>
          </row>
          <row>
            <entry><literal>\'</literal></entry>
            <entry>single quotation mark</entry>
          </row>
          <row>
            <entry><literal>\s</literal></entry>
            <entry>space</entry>
          </row>
          <row>
            <entry><literal>\x<replaceable>xx</replaceable></literal></entry>
            <entry>character number <replaceable>xx</replaceable> in hexadecimal encoding</entry>
          </row>
          <row>
            <entry><literal>\<replaceable>nnn</replaceable></literal></entry>
            <entry>character number <replaceable>nnn</replaceable> in octal encoding</entry>
          </row>
          <row>
            <entry><literal>\u<replaceable>nnnn</replaceable></literal></entry>
            <entry>unicode code point <replaceable>nnnn</replaceable> in hexadecimal encoding</entry>
          </row>
          <row>
            <entry><literal>\U<replaceable>nnnnnnnn</replaceable></literal></entry>
            <entry>unicode code point <replaceable>nnnnnnnn</replaceable> in hexadecimal encoding</entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
