# ftools.rb

### 注意

1.8 以降では、ftools.rb の利用は推奨しません。ファイル操作をするにはfileutils.rbを使ってください。

## 概要

require 'ftools' とすると、ファイルのコピーや削除などのメソッドが追加される。 to は新たなファイル名かディレクトリ名。 verbose が真のとき、標準エラー出力に処理の経過が出る。

## メソッド

`File.copy(from, to[, verbose = false]) => true or false`
`File.cp(from, to[, verbose = false]) => true or false`

  ファイルをコピーする。より正確には from を読んで to に書き、モードを変更する。ファイルの更新時刻はコピーした時刻に更 新される。

  例えば、更新時刻を保持したい場合は

      File.copy(from, to)
      stat = File.stat(from)
      File.utime(stat.atime, stat.mtime, to)

  などとする。

`File.move(from, to[, verbose = false]) => true or false`
`File.mv(from, to[, verbose = false]) => true or false`

  ファイルを移動する。File.rename と異なりパーティション をまたがる移動もできる。

`File.compare(from, to[, verbose = false]) => true or false`
`File.cmp(from, to[, verbose = false]) => true or false`

  2つのファイルを比較する。 同じなら true、異なるなら false を返す。

`File.safe_unlink(files[, ...][, verbose = false])`
`File.rm_f(files[, ...][, verbose = false])`

  (複数の)ファイルを可能な限り削除する。削除できたファイルの数を 返す。`rm -f`(rm(1))に相当。

`File.makedirs(dirs[, ...][, verbose = false])`
`File.mkpath(dirs[, ...][, verbose = false])`

  (複数の)ディレクトリを作成する。多階層のパスを一度に作成することも可能。 ディレクトリが既にあれば何もしない。 `mkdir -p`(mkdir(1))に相当。

`File.chmod(mode, files[, ...][, verbose = false])`

  (複数の)ファイルの属性を変える。 オリジナルの File.chmod に verbose の指定が 追加されるだけ。

`File.install(from, to[, mode = nil[, verbose = false]])`

  ファイルをコピーし、モードを設定する。 コピー先が存在する場合は一旦削除されるので、コピー先のファイルが 他のファイルにハードリンクされていれば、そのリンクは切れる。 install (install(1))コマンドに相当。

links: [File] [fileutils.rb] [manual page]
reverse link: [添付ライブラリ]