Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | File | chmod

概要

File.chmod

詳細

ファイルのパーミッションを変更します。
第一引数にパーミッションを表す数値。
第二引数以降に対象のファイル名を列挙します。
戻り値は変更されたファイル数です。

サンプル

コード
# encoding: utf-8

def create_file(filename, contents)
  File.open(filename, 'w:utf-8') do |f|
    f.print contents
  end
end

def get_permission_file_name(filename)
  sample_info = `ls -ltra | grep #{filename}`
  ret = sample_info.gsub(/\s+/, "\s").split(' ').reverse
  "#{ret[0]}|#{ret[8]}\n#{ret[9]}|#{ret[17]}"
end

filenames = ['sample1.txt', 'sample2.txt']
filenames.each do |filename|
  File.delete(filename) if File.exists?(filename)
  create_file filename, <<-EOS
内容1_1
内容1_2
内容1_3
  EOS
end
puts get_permission_file_name('sample')
File.chmod(744, 'sample1.txt', 'sample2.txt')
puts '----------------------------------'
puts get_permission_file_name('sample')
出力
sample1.txt|-rw-rw-r--
sample2.txt|-rw-rw-r--
----------------------------------
sample1.txt|-rwxr--r--
sample2.txt|-rwxr--r--
2