module function FileUtils.#cp_lr

cp_lr(src, dest, noop: nil, verbose: nil, dereference_root: true, remove_destination: false)[permalink][rdoc][edit]

src へのハードリンク dest を作成します。 src がディレクトリの場合、再帰的にリンクします。 dest がディレクトリの場合、src へのハードリンク dest/src を作成します。

[PARAM] src:
リンク元。一つの場合は文字列でも指定可能です。二つ以上指定する場合は配列で指定します。
[PARAM] dest:
リンク作成先のファイルかディレクトリです。
[PARAM] options:
:noop, :verbose, :dereference_root, :remove_destination が指定できます。 FileUtils/オプションの説明
[EXCEPTION] ArgumentError:
dest が src に含まれる場合に発生します。
[EXCEPTION] Errno::EEXIST:
src が一つで dest がすでに存在しディレクトリでない場合に発生します。
[EXCEPTION] Errno::ENOTDIR:
src が複数で dest がディレクトリでない場合に発生します。
"mylib" ライブラリを site_ruby にインストールする例

require 'fileutils'
FileUtils.rm_r site_ruby + '/mylib', force: true
FileUtils.cp_lr 'lib/', site_ruby + '/mylib'
様々なファイルを対象ディレクトリにリンクする例

require 'fileutils'
FileUtils.cp_lr %w(mail.rb field.rb debug/), site_ruby + '/tmail'
FileUtils.cp_lr Dir.glob('*.rb'), '/home/aamine/lib/ruby', noop: true, verbose: true
内容をリンクする例

require 'fileutils'
# ディレクトリそのものではなく、ディレクトリの内容をリンクしたい場合は、
# 以下のようになります。(たとえば src/x -> dest/x, src/y -> dest/y)
FileUtils.cp_lr 'src/.', 'dest'
# FileUtils.cp_lr('src', 'dest') は dest ディレクトリが存在すれば dest/src を作成しますが、この例はしません。