# Functions
CopyFile copies from src to dst until either EOF is reached on src or an error occurs.
CreateIfNotExists creates a file or a directory only if it does not already exist.
ReadSymlinkedDirectory returns the target directory of a symlink.