ファイルの情報を変更する
時刻
ファイルのアクセス時刻(atime)、更新時刻(mtime)を設定するにはFile.utime
を使う。
atime = mtime = Time.now File.utime(atime, mtime, "hoge.txt")
これらの時刻を現在時刻に設定するのであれば、FiletUtils.touch
も利用できる。
require 'filetutils' FileUtils.touch("hoge.txt")
なお状態変更時刻(ctime)をRubyから変更する手段は存在しない。
パーミッション
ファイルのモードを変更するにはFile.chmod
またはFileUtils.chmod
を使う。
File.chmod(0644, "hoge.txt") FileUtils.chmod(0644, "hoge.txt")
ファイルの所有者を変更するにはFile.chown
を使う。
引数に指定するのはユーザID、グループID、パスである。
File.chown(1000, 1000, "hoge.txt")
なおユーザ名からユーザID、グループIDを求めるにはetcライブラリのEtc.getpwnam
が、グループ名からグループIDを求めるにはEtc.getgrnmae
が利用できる。