るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
57件ヒット [1-57件を表示] (0.259秒)
トップページ > バージョン:2.3.0[x] > クエリ:_builtin[x] > クエリ:FileTest[x]

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

ライブラリ

クラス

モジュール

検索結果

FileTest (138019.0)

ファイルの検査関数を集めたモジュールです。

ファイルの検査関数を集めたモジュールです。

=== 注意

FileTest で定義された各メソッドは、システムコールに失敗しても例外を発生させません。
真を返した時のみ、返り値は意味をもちます。
例えば、
File.exist?('/root/.bashrc')
が false を返しても、それはファイルが存在しないことを保証しません。

FileTest.#directory?(file) -> bool (87073.0)

ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

例:
FileTest.directory?('/etc') # => true
FileTest.directory?('/etc/passwd') # => false

f = File.open('/etc')...

FileTest.#exist?(file) -> bool (87073.0)

ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

例:
FileTest.exist?('/etc/passwd') # => true
FileTest.exist?('/etc') # => true
FileTest.exist?('/etc/no_such_file') # => false...

FileTest.#size?(file) -> Integer | nil (87073.0)

ファイルのサイズを返します。ファイルが存在しない時や ファイルのサイズが0の時には nil を返します。

ファイルのサイズを返します。ファイルが存在しない時や
ファイルのサイズが0の時には nil を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
IO.write("testfile", "test")
FileTest.size?("testfile") # => 4
File.delete("testfile")
FileTest.size?("testfile") ...

FileTest.#zero?(file) -> bool (87073.0)

ファイルが存在して、そのサイズが 0 である時に真を返します。 そうでない場合、あるいはシステムコールに失敗した場合には false を返します。

ファイルが存在して、そのサイズが 0 である時に真を返します。
そうでない場合、あるいはシステムコールに失敗した場合には false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例:][ruby]{
IO.write("zero.txt", "")
FileTest.zero?("zero.txt") # => true
IO.write("nonzero.txt", "1")
Fil...

絞り込み条件を変える

FileTest.#file?(file) -> bool (87055.0)

ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

例:
FileTest.file?('/bin/bash') # => true
FileTest.file?('/bin') # => false
FileTest.file?('/no_such_file') ...

FileTest.#size(file) -> Integer (87055.0)

ファイルのサイズを返します。

ファイルのサイズを返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise Errno::EXXX file が存在しない場合、あるいはシステムコールに失敗した場合に発生します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

@see FileTest.#size?, FileTest.#zero?

例:
FileTest.size('/etc/passwd') # => 5925

FileTest.#exists?(file) -> bool (87049.0)

このメソッドは Ruby 2.1 から deprecated です。FileTest.#exist? を使用してください。

このメソッドは Ruby 2.1 から deprecated です。FileTest.#exist? を使用してください。

FileTest.#executable?(file) -> bool (87037.0)

ファイルがカレントプロセスにより実行できる時に真を返しま す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがカレントプロセスにより実行できる時に真を返しま
す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。

例:
FileTest.executable?('/bin') # => true
FileTest.executable?('/bin/bash') # => true

FileTest.#executable_real?(file) -> bool (87037.0)

ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。

//emlist[例][ruby]{
IO.write("empty.txt", "")
File.chmod(0744, "empty.txt")
FileTest.executable_real?("empty.txt") # => true
File.chmod(0644, "empty.txt")
FileTest.ex...

絞り込み条件を変える

FileTest.#grpowned?(file) -> bool (87037.0)

ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(-1, Process.gid, "testfile")
FileT...

FileTest.#owned?(file) -> bool (87037.0)

ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(Process.uid, -1, "testfile")
FileTest.owned?(...

FileTest.#pipe?(file) -> bool (87037.0)

指定したファイルがパイプである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

指定したファイルがパイプである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

例:
r, w = IO.pipe
FileTest.pipe?(r) # => true
FileTest.pipe?(w) # => true

FileTest.#readable?(file) -> bool (87037.0)

ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。

//emlist[例][ruby]{
IO.write("testfile", "")
File.chmod(0644, "testfile")
FileTest.readable?("testfile") # => true
File.chmod(0200, "testfile")
FileTest.readable?("testfile"...

FileTest.#setgid?(file) -> bool (87037.0)

ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルが setgid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("g+s", "testfile")
FileTest.setgid?("testfile") # => true
FileUtils.chmod("g-s", "...

絞り込み条件を変える

FileTest.#setuid?(file) -> bool (87037.0)

ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルが setuid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("u+s", "testfile")
FileTe...

FileTest.#socket?(file) -> bool (87037.0)

ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
require "socket"

IO.write("testfile", "test")
p FileTest.socket?("testfile") ...

FileTest.#sticky?(file) -> bool (87037.0)

ファイルの sticky ビット(chmod(2) 参照)が 立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルの sticky ビット(chmod(2) 参照)が
立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("o+t", "testfile")
FileTest.sticky?("testfile") # => true
FileUtils....

FileTest.#symlink?(file) -> bool (87037.0)

ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。

//emlist[例][ruby]{
IO.write("testfile", "test")
FileTest.symlink?("testfile") # => false
File.symlink("testfile", "testlink")
FileTest.symlink?("testlink") # => true
//}

FileTest.#writable?(file) -> bool (87037.0)

ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。

//emlist[例][ruby]{
IO.write("testfile", "test")
File.chmod(0600, "testfile")
FileTest.writable?("testfile") # => true
File.chmod(0400, "testfile")
FileTest.writable?("tes...

絞り込み条件を変える

FileTest.#blockdev?(file) -> bool (87019.0)

ファイルがブロックスペシャルファイルである時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがブロックスペシャルファイルである時に真を返します。
そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

例:
Dir.glob("/dev/*") { |file|
puts file if FileTest.blockdev?(file)
}
# /dev/disk0
# /dev/di...

FileTest.#chardev?(file) -> bool (87019.0)

ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

例:
Dir.glob("/dev/*") { |file|
puts file if FileTest.chardev?(file)
}
# /dev/console
# /dev/tty...

FileTest.#readable_real?(file) -> bool (87019.0)

ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を
返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。


@see FileTest.#readable?

FileTest.#world_readable?(path) -> Integer | nil (87019.0)

path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。

path が全てのユーザから読めるならばそのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。

整数の意味はプラットフォームに依存します。

@param path パスを表す文字列を指定します。

m = FileTest.world_readable?("/etc/passwd")
"%o" % m # => "644"

FileTest.#world_writable?(path) -> bool (87019.0)

path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。

path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。

整数の意味はプラットフォームに依存します。

@param path パスを表す文字列を指定します。

m = FileTest.world_writable?("/tmp")
"%o" % m #=> "777"

絞り込み条件を変える

FileTest.#writable_real?(file) -> bool (87019.0)

ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真 を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真
を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列を指定します。


@see FileTest.#writable?

FileTest.#identical?(file1, file2) -> bool (87001.0)

file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

file1 と file2 が同じファイルを指している時に真を返します。
そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ruby 1.8.3 以前ではKernel.#test(?-, file1, file2)を使ってください。

open("a", "w") {}
p File.identical?("a", "a") #=> true
p File.identical?("a", "./a") #=> true
File.link("a", "b")
p File.identical...

File.blockdev?(path) -> bool (24067.0)

FileTest.#blockdev? と同じです。

FileTest.#blockdev? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。


@see FileTest.#blockdev?

IO.copy_stream(src, dst, copy_length = nil) -> Integer (24055.0)

指定された src から dst へコピーします。 コピーしたバイト数を返します。

指定された src から dst へコピーします。
コピーしたバイト数を返します。

コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst に関しても同様です。

dst にファイル名を指定し、そのファイルが存在しない場合、
ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。

src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。

@param src コピー元となる IO ...

IO.copy_stream(src, dst, copy_length, src_offset) -> Integer (24055.0)

指定された src から dst へコピーします。 コピーしたバイト数を返します。

指定された src から dst へコピーします。
コピーしたバイト数を返します。

コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst に関しても同様です。

dst にファイル名を指定し、そのファイルが存在しない場合、
ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。

src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。

@param src コピー元となる IO ...

絞り込み条件を変える

File.chardev?(path) -> bool (24049.0)

FileTest.#chardev? と同じです。

FileTest.#chardev? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.directory?(path) -> bool (24049.0)

FileTest.#directory? と同じです。

FileTest.#directory? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.executable?(path) -> bool (24049.0)

FileTest.#executable? と同じです。

FileTest.#executable? と同じです。

@param path パスを表す文字列を指定します。

File.executable_real?(path) -> bool (24049.0)

FileTest.#executable_real? と同じです。

FileTest.#executable_real? と同じです。

@param path パスを表す文字列を指定します。

File.exist?(path) -> bool (24049.0)

FileTest.#exist? と同じです。

FileTest.#exist? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

絞り込み条件を変える

File.file?(path) -> bool (24049.0)

FileTest.#file? と同じです。

FileTest.#file? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.grpowned?(path) -> bool (24049.0)

FileTest.#grpowned? と同じです。

FileTest.#grpowned? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.identical?(filename1, filename2) -> bool (24049.0)

FileTest.#identical? と同じです。

FileTest.#identical? と同じです。

@param filename1 パスを表す文字列か IO オブジェクトを指定します。

@param filename2 パスを表す文字列か IO オブジェクトを指定します。

File.owned?(path) -> bool (24049.0)

FileTest.#owned? と同じです。

FileTest.#owned? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.pipe?(path) -> bool (24049.0)

FileTest.#pipe? と同じです。

FileTest.#pipe? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

絞り込み条件を変える

File.readable?(path) -> bool (24049.0)

FileTest.#readable? と同じです。

FileTest.#readable? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.readable_real?(path) -> bool (24049.0)

FileTest.#readable_real? と同じです。

FileTest.#readable_real? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.setgid?(path) -> bool (24049.0)

FileTest.#setgid? と同じです。

FileTest.#setgid? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.setuid?(path) -> bool (24049.0)

FileTest.#setuid? と同じです。

FileTest.#setuid? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.size(path) -> Integer (24049.0)

FileTest.#size と同じです。

FileTest.#size と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

絞り込み条件を変える

File.size?(path) -> Integer | nil (24049.0)

FileTest.#size? と同じです。

FileTest.#size? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.socket?(path) -> bool (24049.0)

FileTest.#socket? と同じです。

FileTest.#socket? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.sticky?(path) -> bool (24049.0)

FileTest.#sticky? と同じです。

FileTest.#sticky? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.symlink?(path) -> bool (24049.0)

FileTest.#symlink? と同じです。

FileTest.#symlink? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File.writable?(path) -> bool (24049.0)

FileTest.#writable? と同じです。

FileTest.#writable? と同じです。

@param path パスを表す文字列を指定します。

絞り込み条件を変える

File.writable_real?(path) -> bool (24049.0)

FileTest.#writable_real? と同じです。

FileTest.#writable_real? と同じです。

@param path パスを表す文字列を指定します。

File.zero?(path) -> bool (24049.0)

FileTest.#zero? と同じです。

FileTest.#zero? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

File::Stat (24037.0)

ファイルの情報を格納したオブジェクトのクラス。

ファイルの情報を格納したオブジェクトのクラス。

FileTest に同名のモジュール関数がある場合はそれと同じ働きをします。ただ、
ファイル名を引数に取るかわりに Stat 自身について判定する点が違います。

//emlist[][ruby]{
p File::Stat.new($0).directory? #=> false
p FileTest.directory?($0) #=> false
//}

1.8 以降では、属性メソッドがシステムでサポートされていない場合 nil が返ります。
なお、1.7 以前では 0 が返っていました。

dev デバイス番号(フ...

Module#include(*mod) -> self (24037.0)

モジュール mod をインクルードします。

モジュール mod をインクルードします。

@param mod Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場合に発生します。

//emlist[例][ruby]{
module M
end
module M2
include M
end
module M
include M2
end
//}

実行結果:

-:3:in `append_features': cyclic include detected (ArgumentError)
...

File::Stat#directory? -> bool (24019.0)

ディレクトリの時に真を返します。

ディレクトリの時に真を返します。

//emlist[][ruby]{
p File::Stat.new($0).directory? #=> false
//}

@see FileTest.#directory?

絞り込み条件を変える

File::Stat#size? -> Integer | nil (24019.0)

サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。

サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。

//emlist[][ruby]{
require 'tempfile'

fp = Tempfile.new("temp")
p fp.size #=> 0
p File::Stat.new(fp.path).size? #=> nil
fp.print "not 0 "
fp.close
p FileTest.exist?(fp.path) #=> true
p File::Stat.new(fp.path).size? #=> 6
//}

File::Stat#symlink? -> false (24019.0)

シンボリックリンクである時に真を返します。 ただし、File::Statは自動的にシンボリックリンクをたどっていくので 常にfalseを返します。

シンボリックリンクである時に真を返します。
ただし、File::Statは自動的にシンボリックリンクをたどっていくので
常にfalseを返します。

//emlist[][ruby]{
require 'fileutils'
outfile = $0 + ".ln"
FileUtils.ln_s($0, outfile)
p File::Stat.new(outfile).symlink? #=> false
p File.lstat(outfile).symlink? #=> true
p FileTest.symlink?(outfile) #=> true
//}

...