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.