cp_lr(src, dest, noop: nil, verbose: nil, dereference_root: true, remove_destination: false)Ruby 2.6.0 から[permalink][rdoc][edit]-
src へのハードリンク dest を作成します。 src がディレクトリの場合、再帰的にリンクします。 dest がディレクトリの場合、src へのハードリンク dest/src を作成します。
- [PARAM]
src: - リンク元。一つの場合は文字列でも指定可能です。二つ以上指定する場合は配列で指定します。
- [PARAM]
dest: - リンク作成先のファイルかディレクトリです。
- [PARAM]
noop: - 真を指定すると実際の処理は行いません。
- [PARAM]
verbose: - 真を指定すると詳細を出力します。
- [PARAM]
dereference_root: - 真を指定すると src についてだけシンボリックリンクの指す内容をコピーします。偽の場合はシンボリックリンク自体をコピーします。
- [PARAM]
remove_destination: - 真を指定するとコピーを実行する前にコピー先を削除します。
- [EXCEPTION]
ArgumentError: - dest が src に含まれる場合に発生します。
- [EXCEPTION]
Errno::EEXIST: - src が一つで dest がすでに存在しディレクトリでない場合に発生します。
- [EXCEPTION]
Errno::ENOTDIR: - src が複数で dest がディレクトリでない場合に発生します。
様々なファイルを対象ディレクトリにリンクする例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: truerequire 'fileutils' # ディレクトリそのものではなく、ディレクトリの内容をリンクしたい場合は、 # 以下のようになります。(たとえば src/x -> dest/x, src/y -> dest/y) FileUtils.cp_lr 'src/.', 'dest' # FileUtils.cp_lr('src', 'dest') は dest ディレクトリが存在すれば dest/src を作成しますが、この例はしません。 - [PARAM]