Octave includes many utility functions for copying, moving, renaming, and deleting files; for creating, reading, and deleting directories; for retrieving status information on files; and for manipulating file and path names.
Move the file f1 to the new name f2. The name f1 may contain globbing patterns. If f1 expands to multiple file names, f2 must be a directory. If the force flag 'f' is given then any existing files will be overwritten without prompting.
If successful, status is 1, with msg and msgid empty character strings. Otherwise, status is 0, msg contains a system-dependent error message, and msgid contains a unique message identifier.
Change the name of file old to new.
If successful, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
Copy the file f1 to the new name f2. The name f1 may contain globbing patterns. If f1 expands to multiple file names, f2 must be a directory. If the force flag 'f' is given then existing destination files will be overwritten without prompting.
If successful, status is 1, with msg and msgid empty character strings. Otherwise, status is 0, msg contains a system-dependent error message, and msgid contains a unique message identifier.
See also: movefile.
Delete the file named file.
If successful, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
Create a new link (also known as a hard link) to an existing file.
If successful, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
See also: symlink.
Create a symbolic link new which contains the string old.
If successful, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
Read the value of the symbolic link symlink.
If successful, result contains the contents of the symbolic link symlink, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
Create a directory named dir in the directory parent.
If successful, status is 1, with msg and msgid empty character strings. Otherwise, status is 0, msg contains a system-dependent error message, and msgid contains a unique message identifier.
See also: rmdir.
Remove the directory named dir.
If successful, status is 1, with msg and msgid empty character strings. Otherwise, status is 0, msg contains a system-dependent error message, and msgid contains a unique message identifier.
If the optional second parameter is supplied with value
"s"
, recursively remove all subdirectories as well.See also: mkdir, confirm_recursive_rmdir.
Query or set the internal variable that controls whether Octave will ask for confirmation before recursively removing a directory tree.
When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.
Create a fifo special file named name with file mode mode
If successful, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
Set the permission mask for file creation. The parameter mask is an integer, interpreted as an octal number. If successful, returns the previous value of the mask (as an integer to be interpreted as an octal number); otherwise an error message is printed.
Return a structure info containing the following information about file or file identifier fid.
dev
- ID of device containing a directory entry for this file.
ino
- File number of the file.
mode
- File mode, as an integer. Use the functions
S_ISREG
,S_ISDIR
,S_ISCHR
,S_ISBLK
,S_ISFIFO
,S_ISLNK
, orS_ISSOCK
to extract information from this value.modestr
- File mode, as a string of ten letters or dashes as would be returned by ls -l.
nlink
- Number of links.
uid
- User ID of file's owner.
gid
- Group ID of file's group.
rdev
- ID of device for block or character special files.
size
- Size in bytes.
atime
- Time of last access in the same form as time values returned from
time
. See Timing Utilities.mtime
- Time of last modification in the same form as time values returned from
time
. See Timing Utilities.ctime
- Time of last file status change in the same form as time values returned from
time
. See Timing Utilities.blksize
- Size of blocks in the file.
blocks
- Number of blocks allocated for file.
If the call is successful err is 0 and msg is an empty string. If the file does not exist, or some other error occurs, s is an empty matrix, err is −1, and msg contains the corresponding system error message.
If file is a symbolic link,
stat
will return information about the actual file that is referenced by the link. Uselstat
if you want information about the symbolic link itself.For example:
[s, err, msg] = stat ("/vmlinuz") ⇒ s = { atime = 855399756 rdev = 0 ctime = 847219094 uid = 0 size = 389218 blksize = 4096 mtime = 847219094 gid = 6 nlink = 1 blocks = 768 mode = -rw-r--r-- modestr = -rw-r--r-- ino = 9316 dev = 2049 } ⇒ err = 0 ⇒ msg =
Return true if mode corresponds to a block device. The value of mode is assumed to be returned from a call to
stat
.
Return true if mode corresponds to a character device. The value of mode is assumed to be returned from a call to
stat
.
Return true if mode corresponds to a directory. The value of mode is assumed to be returned from a call to
stat
.
Return true if mode corresponds to a fifo. The value of mode is assumed to be returned from a call to
stat
.
Return true if mode corresponds to a symbolic link. The value of mode is assumed to be returned from a call to
stat
.
Return true if mode corresponds to a regular file. The value of mode is assumed to be returned from a call to
stat
.
Return true if mode corresponds to a socket. The value of mode is assumed to be returned from a call to
stat
.
Return information about file.
If successful, status is 1, with result containing a structure with the following fields:
If an attribute does not apply (i.e., archive on a Unix system) then the field is set to NaN.
Name
- Full name of file.
archive
- True if file is an archive (Windows).
system
- True if file is a system file (Windows).
hidden
- True if file is a hidden file (Windows).
directory
- True if file is a directory.
UserRead
GroupRead
OtherRead
- True if the user (group; other users) has read permission for file.
UserWrite
GroupWrite
OtherWrite
- True if the user (group; other users) has write permission for file.
UserExecute
GroupExecute
OtherExecute
- True if the user (group; other users) has execute permission for file.
With no input arguments, return information about the current directory.
If file contains globbing characters, return information about all the matching files.
See also: glob.
Return true if f is a directory.
See also: is_absolute_filename, is_rooted_relative_filename.
Return names of the files in the directory dir as a cell array of strings. If an error occurs, return an empty cell array in files.
If successful, err is 0 and msg is an empty string. Otherwise, err is nonzero and msg contains a system-dependent error message.
Given an array of pattern strings (as a char array or a cell array) in pattern, return a cell array of file names that match any of them, or an empty cell array if no patterns match. The pattern strings are interpreted as filename globbing patterns (as they are used by Unix shells). Within a pattern
*
- matches any string, including the null string,
?
- matches any single character, and
[...]
- matches any of the enclosed characters.
Tilde expansion is performed on each of the patterns before looking for matching file names. For example:
ls ⇒ file1 file2 file3 myfile1 myfile1b glob ("*file1") ⇒ { [1,1] = file1 [2,1] = myfile1 } glob ("myfile?") ⇒ { [1,1] = myfile1 } glob ("file[12]") ⇒ { [1,1] = file1 [2,1] = file2 }
Return 1 or zero for each element of string that matches any of the elements of the string array pattern, using the rules of filename pattern matching. For example:
fnmatch ("a*b", {"ab"; "axyzb"; "xyzab"}) ⇒ [ 1; 1; 0 ]
Return the absolute name of file if it can be found in path. The value of path should be a colon-separated list of directories in the format described for
path
. If no file is found, return an empty character string. For example:file_in_path (EXEC_PATH, "sh") ⇒ "/bin/sh"If the second argument is a cell array of strings, search each directory of the path for element of the cell array and return the first that matches.
If the third optional argument
"all"
is supplied, return a cell array containing the list of all files that have the same name in the path. If no files are found, return an empty cell array.See also: file_in_loadpath.
Return the system-dependent character used to separate directory names.
If 'all' is given, the function returns all valid file separators in the form of a string. The list of file separators is system-dependent. It is ‘/’ (forward slash) under UNIX or Mac OS X, ‘/’ and ‘\’ (forward and backward slashes) under Windows.
See also: pathsep.
Query or set the character used to separate filename from the the subfunction names contained within the file. This can be used in a generic manner to interact with subfunctions. For example,
help (["myfunc", filemarker, "mysubfunc"])returns the help string associated with the sub-function
mysubfunc
of the functionmyfunc
. Another use offilemarker
is when debugging it allows easier placement of breakpoints within sub-functions. For example,dbstop (["myfunc", filemarker, "mysubfunc"])will set a breakpoint at the first line of the subfunction
mysubfunc
.When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.
Return the directory, name, extension, and version components of filename.
See also: fullfile.
Return a complete filename constructed from the given components.
See also: fileparts.
Perform tilde expansion on string. If string begins with a tilde character, (‘~’), all of the characters preceding the first slash (or all characters, if there is no slash) are treated as a possible user name, and the tilde and the following characters up to the slash are replaced by the home directory of the named user. If the tilde is followed immediately by a slash, the tilde is replaced by the home directory of the user running Octave. For example:
tilde_expand ("~joeuser/bin") ⇒ "/home/joeuser/bin" tilde_expand ("~/bin") ⇒ "/home/jwe/bin"
Return the canonical name of file name.
Return the full name of file, relative to the current directory.
See also: is_absolute_filename, is_rooted_relative_filename, isdir.
Return true if file is an absolute filename.
See also: is_rooted_relative_filename, make_absolute_filename, isdir.
Return true if file is a rooted-relative filename.
See also: is_absolute_filename, make_absolute_filename, isdir.
Return the default name of the directory for temporary files on this system. The name of this directory is system dependent.
This function is an alias for
tmpnam
.See also: tmpnam.
Query or set the preference for recycling deleted files.
Recycling files instead of permanently deleting them is currently not implemented in Octave. To help avoid accidental data loss it is an error to attempt enable file recycling.
See also: delete.