### 36.8 Current Working Directory ¶

cd `dir` ¶
cd ¶
`old_dir =` cd ¶
`old_dir =` cd `(dir)` ¶
chdir `…` ¶

  Change the current working directory to dir.

  If called with no input or output arguments, the current directory is changed to the user’s home directory (`"~"`).

  For example,

      cd ~/octave

  changes the current working directory to `~/octave`. If the directory does not exist, an error message is printed and the working directory is not changed.

  Programming Note: `chdir` is an alias for `cd` and can be used with all of the same calling formats.

  Compatibility Note: When called with no arguments, MATLAB prints the present working directory rather than changing to the user’s home directory.

  See also: pwd, mkdir, rmdir, dir, ls.

ls ¶
ls `filenames` ¶
ls `options` ¶
ls `options filenames` ¶
`list =` ls `(…)` ¶

  List directory contents.

  The `ls` function forwards to the `ls` command if it is available. It falls back to calling the native operating system’s directory listing command. Available options may vary from system to system.

  Filenames are subject to shell expansion if they contain any wildcard characters ‘`*`’, ‘`?`’, ‘`[]`’. If these wildcard characters are escaped with a backslash ‘`\`’ (e.g., ‘`\*`’) then they are not treated as wildcards, but instead as the corresponding literal character.

  If the optional output list is requested then `ls` returns a character array with one row for each file/directory name.

  Example usage on a UNIX-like system:

      ls -l
           -| total 12
           -| -rw-r--r--   1 jwe  users  4488 Aug 19 04:02 foo.m
           -| -rw-r--r--   1 jwe  users  1315 Aug 17 23:14 bar.m

  See also: dir, readdir, glob, what, stat, filesep, ls_command.

`val =` ls_command `()` ¶
`old_val =` ls_command `(new_val)` ¶

  Query or set the shell command used by Octave’s `ls` command.

  See also: ls.

dir ¶
dir `directory` ¶
`[list] =` dir `(directory)` ¶

  Display file listing for directory directory.

  If directory is not specified then list the present working directory.

  If a return value is requested, return a structure array with the fields

  name

    File or directory name.

  folder

    Location of file or directory

  date

    Timestamp of file modification (string value).

  bytes

    File size in bytes.

  isdir

    True if name is a directory.

  datenum

    Timestamp of file modification as serial date number (double).

  statinfo

    Information structure returned from `stat`.

  If directory is a filename, rather than a directory, then return information about the named file. directory may also be a list rather than a single directory or file.

  directory is subject to shell expansion if it contains any wildcard characters ‘`*`’, ‘`?`’, ‘`[]`’. If these wildcard characters are escaped with a backslash ‘`\`’ (e.g., ‘`\*`’) on a POSIX platform, then they are not treated as wildcards, but as the corresponding literal character. On Windows, it is not possible to escape wildcard characters because backslash ‘`\`’ is treated as a file separator. On Windows, use `ls` for file or folder names that contain characters that would be treated as wildcards by `dir`.

  Note that for symbolic links, `dir` returns information about the file that the symbolic link points to rather than the link itself. However, if the link points to a nonexistent file, `dir` returns information about the link.

  See also: ls, readdir, glob, what, stat, lstat.

`dir =` pwd `()` ¶

  Return the current working directory.

  See also: cd, dir, ls, mkdir, rmdir.