#### 2.1.2 Startup Files ¶

When Octave starts, it looks for commands to execute from the files in the following list. These files may contain any valid Octave commands, including function definitions.

`octave-home/share/octave/site/m/startup/octaverc` ¶

  where `octave-home` is the directory in which Octave is installed (the default is `/usr/local`). This file is provided so that changes to the default Octave environment can be made globally for all users at your site for all versions of Octave you have installed. Care should be taken when making changes to this file since all users of Octave at your site will be affected. The default file may be overridden by the environment variable `OCTAVE_SITE_INITFILE`.

`octave-home/share/octave/version/m/startup/octaverc` ¶

  where `octave-home` is the directory in which Octave is installed (the default is `/usr/local`), and `version` is the version number of Octave. This file is provided so that changes to the default Octave environment can be made globally for all users of a particular version of Octave. Care should be taken when making changes to this file since all users of Octave at your site will be affected. The default file may be overridden by the environment variable `OCTAVE_VERSION_INITFILE`.

`config-dir/octave/octaverc` ¶

  where `config-dir` is the platform-dependent location for user local configuration files (e.g., `$XDG_CONFIG_HOME` on many Unix-like operating systems or `%APPDATA%` on Windows).

`~/.octaverc` ¶

  This file is used to make personal changes to the default Octave environment.

`.octaverc` ¶

  This file can be used to make changes to the default Octave environment for a particular project. Octave searches for this file in the current directory after it reads `~/.octaverc`. Any use of the `cd` command in the `~/.octaverc` file will affect the directory where Octave searches for `.octaverc`.

  If you start Octave in your home directory, commands from the file `~/.octaverc` will only be executed once.

`startup.m` ¶

  This file is used to make personal changes to the default Octave environment. It is executed for MATLAB compatibility, but `~/.octaverc` is the preferred location for configuration changes.

A message will be displayed as each of the startup files is read if you invoke Octave with the `--verbose` option but without the `--quiet` option.

The startup files are always processed in the system’s locale charset (independent of the m-file encoding that is set, for example, in the GUI properties). In other words, the system’s locale charset is in effect until a user manually sets the m-file encoding (e.g., in one of the startup files) and triggers re-parsing of any relevant m-files. Octave can be forced to use a new encoding with the function `mfile_encoding`:

    mfile_encoding ("utf-8");  # set new encoding
    clear ("functions");  # re-parse all .m files in the new encoding

This changes the encoding that is used to interpret all subsequently run startup and m-files (not including the currently executing file).