【Ruby3.x】File::link()メソッドの使い方
linkメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
linkメソッドは、既存のファイルへのハードリンクを作成するメソッドです。ハードリンクとは、1つのファイルに対して複数の名前を付ける機能であり、ファイルシステム上で同じ実体のデータに異なるパスからアクセスできるようにします。これは、元のファイルとリンクが物理的に同じデータブロックを共有していることを意味します。そのため、どちらかの名前を使ってファイルを編集すると、もう一方の名前でアクセスした際も変更が反映されます。また、片方の名前を削除しても、そのファイルの実体は、すべてのハードリンクが削除されるまで削除されません。この機能は、異なるファイルシステム間では利用できず、同じファイルシステム内でのみ作成可能です。linkメソッドは、第一引数に既存のファイルのパス(old_name)を、第二引数に新しく作成するハードリンクのパス(new_name)を取ります。メソッドが成功した場合は整数値0を返し、ハードリンクの作成に失敗した場合はSystemCallErrorなどの例外が発生します。主に、データの重複を避けつつ、同じファイルに異なる場所からアクセスしたい場合や、ファイルの実体を共有しながら別名で管理したい場合に有用です。
構文(syntax)
1File.link(old_name, new_name)
引数(parameters)
old_name, new_name
- old_name: リンク元のファイルパスを指定する文字列
- new_name: 作成するリンクのパスを指定する文字列
戻り値(return)
Integer
File.link は、シンボリックリンクの作成に成功した場合は 0 を返します。それ以外の場合は、エラーを示す整数が返されます。