このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.2 リファレンスマニュアル

module function FileUtils.#ln_s

ln_s(src, dest, force: nil, relative: false, target_directory: true, noop: nil, verbose: nil) -> ()[permalink][rdoc][edit]
symlink(src, dest, force: nil, relative: false, target_directory: true, noop: nil, verbose: nil) -> ()

src へのシンボリックリンク dest を作成します。

src が一つの場合、 dest がすでに存在しディレクトリであるときは dest/src を作成します。 dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。ただし :force オプションを指定したときは dest を上書きします。

src が複数の場合、 src[0] へのシンボリックリンク dest/src[0]、src[1] へのシンボリックリンク dest/src[1] …を作成します。 dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。

relative オプションを指定すると、dest からの相対パスによるシンボリックリンクを作成します。 FileUtils.#ln_sr を使うのと同じです。

[PARAM] src:
リンク元。一つの場合は文字列でも指定可能です。二つ以上指定する場合は配列で指定します。
[PARAM] dest:
リンク作成先のファイルかディレクトリです。
[PARAM] force:
真を指定すると dest を上書きします。
[PARAM] relative:
真を指定すると dest からの相対パスでシンボリックリンクを作成します。
[PARAM] target_directory:
dest をディレクトリとして扱うかどうかを指定します(真がデフォルトです)。
[PARAM] noop:
真を指定すると実際の処理は行いません。
[PARAM] verbose:
真を指定すると詳細を出力します。
[EXCEPTION] Errno::EEXIST:
src が一つで dest がすでに存在しディレクトリでない場合に発生します。
[EXCEPTION] Errno::ENOTDIR:
src が複数で dest がディレクトリでない場合に発生します。
require 'fileutils'
FileUtils.ln_s('/usr/bin/ruby', '/usr/local/bin/ruby')
FileUtils.ln_s('verylongsourcefilename.c', 'c', force: true)
FileUtils.ln_s(Dir.glob('bin/*.rb'), '/home/aamine/bin')