module FileUtils

Extended Modules

Defined in:

file_utils.cr

Instance Method Summary

Instance Method Detail

def cd(path : String) #

Changes the current working directory of the process to the given string path.

require "file_utils"

FileUtils.cd("/tmp")

NOTE Alias of Dir.cd


[View source]
def cd(path : String, &block) #

Changes the current working firectory of the process to the given string path and invoked the block, restoring the original working directory when the block exits.

FileUtils.cd("/tmp") { Dir.current } # => "/tmp"

NOTE Alias of Dir.cd with block


[View source]
def cmp(filename1 : String, filename2 : String) #

Compares two files filename1 to filename2 to determine if they are identical. Returns true if content are the same, false otherwise.

File.write("file.cr", "1")
File.write("bar.cr", "1")
FileUtils.cmp("file.cr", "bar.cr") # => true

[View source]
def cmp(stream1 : IO, stream2 : IO) #

Compares two streams stream1 to stream2 to determine if they are identical. Returns true if content are the same, false otherwise.

File.write("afile", "123")
stream1 = File.open("afile")
stream2 = IO::Memory.new("123")
FileUtils.cmp(stream1, stream2) # => true

[View source]
def cp(src_path : String, dest : String) #

Copies the file src_path to the file or directory dest. If dest is a directory, a file with the same basename as src_path is created in dest Permission bits are copied too.

File.chmod("afile", 0o600)
FileUtils.cp("afile", "afile_copy")
File.stat("afile_copy").perm # => 0o600

[View source]
def cp(srcs : Enumerable(String), dest : String) #

Copies a list of files src to dest. dest must be an existing directory.

Dir.mkdir("files")
FileUtils.cp({"bar.cr", "afile"}, "files")

[View source]
def cp_r(src_path : String, dest_path : String) #

Copies a file or directory src_path to dest_path. If src_path is a directory, this method copies all its contents recursively.

FileUtils.cp_r("files", "dir")

[View source]
def mkdir(path : String, mode = 511) : Nil #

Creates a new directory at the given path. The linux-style permission mode can be specified, with a default of 777 (0o777).

FileUtils.mkdir("src")

NOTE Alias of Dir.mkdir


[View source]
def mkdir(paths : Enumerable(String), mode = 511) : Nil #

Creates a new directory at the given paths. The linux-style permission mode can be specified, with a default of 777 (0o777).

FileUtils.mkdir(["foo", "bar"])

[View source]
def mkdir_p(path : String, mode = 511) : Nil #

Creates a new directory at the given path, including any non-existing intermediate directories. The linux-style permission mode can be specified, with a default of 777 (0o777).

FileUtils.mkdir_p("foo")

NOTE Alias of Dir.mkdir_p


[View source]
def mkdir_p(paths : Enumerable(String), mode = 511) : Nil #

Creates a new directory at the given paths, including any non-existing intermediate directories. The linux-style permission mode can be specified, with a default of 777 (0o777).

FileUtils.mkdir_p(["foo", "bar", "baz", "dir1", "dir2", "dir3"])

[View source]
def mv(srcs : Enumerable(String), dest : String) : Nil #

Moves every srcs to dest.

FileUtils.mv(["foo", "bar"], "src")

[View source]
def mv(src_path : String, dest_path : String) : Nil #

Moves src_path to dest_path.

FileUtils.mv("afile", "afile.cr")

NOTE Alias of File.rename


[View source]
def pwd : String #

Returns the current working directory.

FileUtils.pwd

NOTE Alias of Dir.current


[View source]
def rm(path : String) : Nil #

Deletes the path file given.

FileUtils.rm("afile.cr")

NOTE Alias of File.delete


[View source]
def rm(paths : Enumerable(String)) : Nil #

Deletes all paths file given.

FileUtils.rm(["dir/afile", "afile_copy"])

[View source]
def rm_r(path : String) : Nil #

Deletes a file or directory path. If path is a directory, this method removes all its contents recursively.

FileUtils.rm_r("dir")
FileUtils.rm_r("file.cr")

[View source]
def rm_r(paths : Enumerable(String)) : Nil #

Deletes a list of files or directories paths. If one path is a directory, this method removes all its contents recursively.

FileUtils.rm_r(["files", "bar.cr"])

[View source]
def rm_rf(path : String) : Nil #

Deletes a file or directory path. If path is a directory, this method removes all its contents recursively. Ignore all errors.

FileUtils.rm_rf("dir")
FileUtils.rm_rf("file.cr")
FileUtils.rm_rf("non_existent_file")

[View source]
def rm_rf(paths : Enumerable(String)) : Nil #

Deletes a list of files or directories paths. If one path is a directory, this method removes all its contents recursively. Ignore all errors.

FileUtils.rm_rf(["dir", "file.cr", "non_existent_file"])

[View source]
def rmdir(path : String) : Nil #

Removes the directory at the given path.

FileUtils.rmdir("baz")

NOTE Alias of Dir.rmdir


[View source]
def rmdir(paths : Enumerable(String)) : Nil #

Removes all directories at the given paths.

FileUtils.rmdir(["dir1", "dir2", "dir3"])

[View source]