【Ruby3.x】File::lutime()メソッドの使い方
lutimeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
lutimeメソッドは、指定されたファイルやディレクトリのアクセス時刻と更新時刻を変更するメソッドです。このメソッドは、対象となるファイルやディレクトリの最終アクセス時刻(atime)と最終更新時刻(mtime)を、新しい値に設定するために使用されます。引数として、変更したい新しいatimeとmtime、そして一つまたは複数のファイルパスを指定します。atimeおよびmtimeには、Timeクラスのオブジェクト、またはUNIXエポックからの秒数を表す整数値を渡すことができます。
このメソッドの特筆すべき点として、指定されたファイルパスがシンボリックリンクである場合でも、シンボリックリンク自体の時刻を変更するのではなく、そのシンボリックリンクが指し示す実体であるファイルやディレクトリの時刻を変更します。これにより、リンクの先のデータ本体のタイムスタンプを操作したい場合に利用されます。複数のファイルパスを一度に指定することで、複数のファイルのタイムスタンプを一括で効率的に更新することが可能です。ファイルのライフサイクル管理やバックアップシステムなど、ファイルのメタデータをプログラムで制御する必要がある場面で役立ちます。
構文(syntax)
1require 'fileutils' 2 3file_path = "sample_file.txt" 4FileUtils.touch(file_path) 5 6atime = Time.now - 3600 # 最終アクセス時刻 7mtime = Time.now - 7200 # 最終更新時刻 8 9File.lutime(atime, mtime, file_path)
引数(parameters)
atime, mtime, *rest
- atime: アクセス時刻を指定する数値。Unixタイムスタンプ形式。
- mtime: 更新時刻を指定する数値。Unixタイムスタンプ形式。
- *rest: その他の時刻を指定する数値。Unixタイムスタンプ形式。
戻り値(return)
Integer
指定されたファイルパスの最終アクセス時刻をエポック秒(1970年1月1日午前0時からの経過秒数)で返します。