Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】File::realpath()メソッドの使い方

realpathメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

realpathメソッドは、指定されたファイルパスを正規化し、すべてのシンボリックリンクを解決して、最終的なファイルの絶対パスを返却するメソッドです。具体的には、パス中に含まれる「.」(カレントディレクトリ)や「..」(親ディレクトリ)といった特殊な記述を解決し、ルートディレクトリからの完全なパス形式に変換します。さらに、パスの途中にシンボリックリンクが存在する場合、そのリンクが指し示す実際のファイルやディレクトリの場所までたどって置き換えることで、曖昧さのない一意のパスを特定します。

この機能は、特に複数のリンクが重なっていたり、相対パスが多用されていたりするような複雑なディレクトリ構造において、実際にアクセスすべきファイルの正確な位置を特定する上で非常に役立ちます。例えば、セキュリティ上の理由から、ユーザー入力のパスがシンボリックリンクを悪用して意図しない場所を参照するのを防ぎたい場合にも利用されます。引数として解決したいパス文字列を受け取り、成功した場合はその絶対パス文字列を返します。指定されたパスが存在しない場合や、解決できない場合は例外を発生させることがありますので、エラーハンドリングを考慮して利用してください。

構文(syntax)

1File.realpath("/path/to/file_or_symlink")

引数(parameters)

pathname, resolve_to = nil

  • pathname: path: ファイルまたはディレクトリのパス
  • resolve_to: path or nil: シンボリックリンクを解決する先のパス。nil の場合はカレントディレクトリを基準とする

戻り値(return)

String

指定されたパスの正規化された絶対パスを文字列で返します。

関連コンテンツ

関連プログラミング言語