Ruby复制文件相关方法介绍
创始人
2024-06-15 19:00:43
0

我们在学习Ruby语言的时候,可以知道,它是一款完全面向对象的解释型脚本语言。许多编程人员都将目光投向了它。在这里我们将会了解到Ruby复制文件的一些技巧。#t#

使用net::ssh 库, 可以得到其他机器之间的安全的shell连接, 在其他机器上启动一个cat进程, 并将向要复制的文件写入标准的输入中。

Ruby复制文件代码示例:

  1. require 'rubygems'   
  2. require 'net/ssh'   
  3.  
  4. def copy_file(session, source_path, 
    destination_path=nil)   
  5. destination_path ||= source_path   
  6. cmd = %{cat > "#{destination_path.
    gsub('"', '\"')}"}   
  7. session.process.popen3(cmd) do |i, o, e|   
  8. puts "   
  9. copying #{source_path} to #
    {destination_path}… "   
  10. open(source_path) { |f| i.write(f.read) }   
  11. puts 'done.'   
  12. end   
  13. end   
  14. net::ssh.start('example.com', 
    :username=>'leonardr',   
  15. :password=>'mypass') do |session|   
  16. copy_file(session, '/home/leonardr/
    scripts/test.rb')   
  17. copy_file(session, '/home/leonardr/
    scripts/"test".rb')   
  18. end   
  19. # copying /home/leonardr/scripts/test.
    rb to /home/leonardr/scripts/test.rb…   
  20. # done.   
  21. # copying /home/leonardr/scripts/"test".
    rb to /home/leonardr/scripts/"test".rb…   
  22. # done.  

以上就是Ruby复制文件的全部方法介绍。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...