Skip to content

End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

class method

FileUtils.ln_s

FileUtils.ln_s(target, link, force: nil, noop: nil, verbose: nil)
FileUtils.ln_s(target, dir, force: nil, noop: nil, verbose: nil)
FileUtils.ln_s(targets, dir, force: nil, noop: nil, verbose: nil)

In the first form, creates a symbolic link link which points to target. If link already exists, raises Errno::EEXIST. But if the force option is set, overwrites link.

Example
FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby'
FileUtils.ln_s 'verylongsourcefilename.c', 'c', force: true

In the second form, creates a link dir/target pointing to target. In the third form, creates several symbolic links in the directory dir, pointing to each item in targets. If dir is not a directory, raises Errno::ENOTDIR.

Example
FileUtils.ln_s Dir.glob('/bin/*.rb'), '/home/foo/bin'
See also #ln_s .ln .ln_sf .link_entry also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.0