Filesystem¶
pwd
() → AbstractString¶Get the current working directory.
cd
([dir::AbstractString=homedir()])¶Set the current working directory.
cd
(f[, dir=homedir()])Temporarily changes the current working directory and applies function
f
before returning.
readdir
([dir]) → Vector{String}¶Returns the files and directories in the directory
dir
(or the current working directory if not given).
walkdir
(dir; topdown=true, follow_symlinks=false, onerror=throw)¶The walkdir method return an iterator that walks the directory tree of a directory. The iterator returns a tuple containing
(rootpath,dirs,files)
. The directory tree can be traversed top-down or bottom-up. If walkdir encounters a SystemError it will raise the error. A custom error handling function can be provided throughonerror
keyword argument, the function is called with a SystemError as argument.for(root,dirs,files)inwalkdir(".")println("Directories in $root")fordirindirsprintln(joinpath(root,dir))# path to directoriesendprintln("Files in $root")forfileinfilesprintln(joinpath(root,file))# path to filesendend
mkdir
(path[, mode])¶Make a new directory with name
path
and permissionsmode
.mode
defaults to0o777
, modified by the current file creation mask.
mkpath
(path[, mode])¶Create all directories in the given
path
, with permissionsmode
.mode
defaults to0o777
, modified by the current file creation mask.
symlink
(target, link)¶Creates a symbolic link to
target
with the namelink
.Note
This function raises an error under operating systems that do not support soft symbolic links, such as Windows XP.
readlink
(path) → AbstractString¶Returns the value of a symbolic link
path
.
chmod
(path, mode; recursive=false)¶Change the permissions mode of
path
tomode
. Only integermode
s (e.g.0o777
) are currently supported. Ifrecursive=true
and the path is a directory all permissions in that directory will be recursively changed.
chown
(path, owner, group=-1)¶Change the owner and/or group of
path
toowner
and/orgroup
. If the value entered forowner
orgroup
is-1
the corresponding ID will not change. Only integerowner
s andgroup
s are currently supported.
stat
(file)¶Returns a structure whose fields contain information about the file. The fields of the structure are:
Name Description size The size (in bytes) of the file device ID of the device that contains the file inode The inode number of the file mode The protection mode of the file nlink The number of hard links to the file uid The user id of the owner of the file gid The group id of the file owner rdev If this file refers to a device, the ID of the device it refers to blksize The file-system preferred block size for the file blocks The number of such blocks allocated mtime Unix timestamp of when the file was last modified ctime Unix timestamp of when the file was created
lstat
(file)¶Like stat, but for symbolic links gets the info for the link itself rather than the file it refers to. This function must be called on a file path rather than a file object or a file descriptor.
ctime
(file)¶Equivalent to
stat(file).ctime
mtime
(file)¶Equivalent to
stat(file).mtime
.
filemode
(file)¶Equivalent to
stat(file).mode
filesize
(path...)¶Equivalent to
stat(file).size
.
uperm
(file)¶Gets the permissions of the owner of the file as a bitfield of
Value Description 01 Execute Permission 02 Write Permission 04 Read Permission For allowed arguments, see
stat
.
gperm
(file)¶Like uperm but gets the permissions of the group owning the file.
operm
(file)¶Like uperm but gets the permissions for people who neither own the file nor are a member of the group owning the file
cp
(src::AbstractString, dst::AbstractString; remove_destination::Bool=false, follow_symlinks::Bool=false)¶Copy the file, link, or directory from src to dest.
remove_destination=true
will first remove an existingdst
.If
follow_symlinks=false
, andsrc
is a symbolic link,dst
will be created as a symbolic link. Iffollow_symlinks=true
andsrc
is a symbolic link,dst
will be a copy of the file or directorysrc
refers to.
download
(url[, localfile])¶Download a file from the given url, optionally renaming it to the given local file name. Note that this function relies on the availability of external tools such as
curl
,wget
orfetch
to download the file and is provided for convenience. For production use or situations in which more options are needed, please use a package that provides the desired functionality instead.
mv
(src::AbstractString, dst::AbstractString; remove_destination::Bool=false)¶Move the file, link, or directory from
src
todst
.remove_destination=true
will first remove an existingdst
.
rm
(path::AbstractString; force=false, recursive=false)¶Delete the file, link, or empty directory at the given path. If
force=true
is passed, a non-existing path is not treated as error. Ifrecursive=true
is passed and the path is a directory, then all contents are removed recursively.
touch
(path::AbstractString)¶Update the last-modified timestamp on a file to the current time.
tempname
()¶Generate a unique temporary file path.
tempdir
()¶Obtain the path of a temporary directory (possibly shared with other processes).
mktemp
([parent=tempdir()])¶Returns
(path,io)
, wherepath
is the path of a new temporary file inparent
andio
is an open file object for this path.
mktemp
(f::Function[, parent=tempdir()])Apply the function
f
to the result ofmktemp(parent)
and remove the temporary file upon completion.
mktempdir
([parent=tempdir()])¶Create a temporary directory in the
parent
directory and return its path.
mktempdir
(f::Function[, parent=tempdir()])Apply the function
f
to the result ofmktempdir(parent)
and remove the temporary directory upon completion.
isblockdev
(path) → Bool¶Returns
true
ifpath
is a block device,false
otherwise.
ischardev
(path) → Bool¶Returns
true
ifpath
is a character device,false
otherwise.
isdir
(path) → Bool¶Returns
true
ifpath
is a directory,false
otherwise.
isfifo
(path) → Bool¶Returns
true
ifpath
is a FIFO,false
otherwise.
isfile
(path) → Bool¶Returns
true
ifpath
is a regular file,false
otherwise.
islink
(path) → Bool¶Returns
true
ifpath
is a symbolic link,false
otherwise.
ismount
(path) → Bool¶Returns
true
ifpath
is a mount point,false
otherwise.
ispath
(path) → Bool¶Returns
true
ifpath
is a valid filesystem path,false
otherwise.
issetgid
(path) → Bool¶Returns
true
ifpath
has the setgid flag set,false
otherwise.
issetuid
(path) → Bool¶Returns
true
ifpath
has the setuid flag set,false
otherwise.
issocket
(path) → Bool¶Returns
true
ifpath
is a socket,false
otherwise.
issticky
(path) → Bool¶Returns
true
ifpath
has the sticky bit set,false
otherwise.
homedir
() → AbstractString¶Return the current user’s home directory.
dirname
(path::AbstractString) → AbstractString¶Get the directory part of a path.
basename
(path::AbstractString) → AbstractString¶Get the file name part of a path.
@__FILE__
() → AbstractString¶@__FILE__
expands to a string with the absolute file path of the file containing the macro. Returnsnothing
if run from a REPL or an empty string if evaluated byjulia-e<expr>
. Alternatively seePROGRAM_FILE
.
@__LINE__
() → Int¶@__LINE__
expands to the line number of the call-site.
isabspath
(path::AbstractString) → Bool¶Determines whether a path is absolute (begins at the root directory).
isdirpath
(path::AbstractString) → Bool¶Determines whether a path refers to a directory (for example, ends with a path separator).
joinpath
(parts...) → AbstractString¶Join path components into a full path. If some argument is an absolute path, then prior components are dropped.
abspath
(path::AbstractString) → AbstractString¶Convert a path to an absolute path by adding the current directory if necessary.
normpath
(path::AbstractString) → AbstractString¶Normalize a path, removing ”.” and ”..” entries.
realpath
(path::AbstractString) → AbstractString¶Canonicalize a path by expanding symbolic links and removing ”.” and ”..” entries.
relpath
(path::AbstractString, startpath::AbstractString = ".") → AbstractString¶Return a relative filepath to path either from the current directory or from an optional start directory. This is a path computation: the filesystem is not accessed to confirm the existence or nature of path or startpath.
expanduser
(path::AbstractString) → AbstractString¶On Unix systems, replace a tilde character at the start of a path with the current user’s home directory.
splitdir
(path::AbstractString) → (AbstractString,AbstractString)¶Split a path into a tuple of the directory name and file name.
splitdrive
(path::AbstractString) → (AbstractString,AbstractString)¶On Windows, split a path into the drive letter part and the path part. On Unix systems, the first component is always the empty string.
splitext
(path::AbstractString) → (AbstractString,AbstractString)¶If the last component of a path contains a dot, split the path into everything before the dot and everything including and after the dot. Otherwise, return a tuple of the argument unmodified and the empty string.