【Ruby3.x】File::readlink()メソッドの使い方
readlinkメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
readlinkメソッドは、指定されたパスがシンボリックリンクである場合、そのリンクが指し示す実際のパス(リンク先)を文字列として取得するメソッドです。このメソッドは、RubyのFileクラスに属しており、ファイルシステム上でシンボリックリンクのターゲットを確認する際に利用されます。
引数には、読み取りたいシンボリックリンクのパスを文字列で渡します。メソッドは成功した場合、リンクが指し示すパスを表す新しい文字列を返します。例えば、「/usr/local/bin/myapp」というシンボリックリンクが「/opt/myapp/bin/app_executable」を指している場合、File.readlink("/usr/local/bin/myapp")は「/opt/myapp/bin/app_executable」という文字列を返します。
もし引数に指定されたパスがシンボリックリンクではない場合、存在しないパスである場合、あるいはそのシンボリックリンクを読み取る権限がない場合には、SystemCallErrorが発生します。そのため、このメソッドを使用する際は、対象のパスが有効なシンボリックリンクであることを確認するか、適切な例外処理を実装することが重要です。この機能は、特にシステム管理スクリプトや、アプリケーションがシンボリックリンクを介して設定ファイルやライブラリを参照するような場合に、その実体を正確に把握するために役立ちます。
構文(syntax)
1File.readlink("path/to/symlink")
引数(parameters)
path, encoding: nil
- path: String: シンボリックリンクのパスを指定します。
- encoding: String | nil = nil: ファイルのエンコーディングを指定します。nil の場合は、システムのデフォルトエンコーディングが使用されます。
戻り値(return)
String
指定されたパスのシンボリックリンクが指し示す先のパス名を文字列として返します。