2009-11-26 3 views

답변

6

do_stat 메서드는 정보를 얻을 수있는 것처럼 보입니다. Net::SFTP::Attributesperldoc -f stat에 대한 설명서도 참조하십시오.

use Fcntl(:mode); 

my $permissions = $sftp->do_stat($path)->perm(); 
my $is_directory = S_ISDIR($permissions); 
0

적어도 두 가지 방법이 SFTP와 루비에 그것을 할 :

require 'net/sftp' 
Net::SFTP.start('HOSTNAME', 'USER', :password => 'PASSWORD') do |sftp| 

    file = File.expand_path(__FILE__) 
    dir = File.dirname(file) 

    sftp.lstat!(file).directory? 
    sftp.lstat!(dir).file? 

    sftp.file.open(dir, "r") do |f| 
    f.stat.file? 
    f.stat.directory? # true 
    end 

end