设为首页 收藏本站
查看: 1126|回复: 0

[经验分享] Linux与windows之间-文件传输工具RZSZ

[复制链接]

尚未签到

发表于 2018-6-16 07:22:55 | 显示全部楼层 |阅读模式
  RZSZ简介
  一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地;
  与ssh有关的两个命令可以提供很方便的操作:
  sz:将选定的文件发送(send)到本地机器
  rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
  rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具,windows端需要支持ZModem的telnet/ssh客户端,例如:SecureCRT,用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)。运行命令rz,即是接收文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录(默认使用二进制方式传送),运行命令sz <file1name> <file2name>…(可以同时传送多个文件)就是发文件到windows上(保存的位置是可以配置,稍后描述)。
  优点:比ftp命令方便,而且服务器不用打开FTP服务。
  安装rzsz软件包
  一般来说,安装Linux系统时会安装rzsz软件包,但有些定制安装的linux可能没有把rzsz包安装到系统,这对用SecureCRT这样的windows工具传输文件特别不方便,可以在安装Liunx后手动安装rzsz软件包。
  1.获取rzsz软件包
  方式1:登录linux,
  用命令wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz下载。
  方式2:在windows下访问http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
  下载rzsz-3.48.tar.gz软件包,使用ftp或其他文件传输工具上传到Linux服务器进行安装
  2、解压软件包
  # tar zxvf rzsz-3.48.tar.gz
DSC0000.jpg

  如图,将解压出一个名为src的目录。
  3、安装rzsz软件包(使用make posix
  注意:一定要进入到rzsz软件包解压出目录中,本案例是/home/src目录
  # cd src
  # ls
DSC0001.jpg

  如图所示:rzsz的软件包安装与常规的GNU软件不同,没有configure(配置)及make install (安装过程)文件。
  执行命令make,查看相关提示信息
  # make
DSC0002.jpg

  根据自己的系统选择make的位置参数,一般情况下,选posix或linux就可以了,我选择posix参数执行如下:
  # make posix
  从输出部分可以看make所进行的工作,如下图:
   DSC0003.jpg
  4、将rz和sz脚本复制到目录/usr/bin下面,以便于使用。(或者写到用户$PATH环境变量中)
  # cp rz sz /usr/bin
  5、设置环境变量
  # export RZSZLINE=/dev/modem
  如果不设置这个环境变量,执行命令rz的时候,会有如下提示:
  “Warning: Missing environment variable 'RZSZLINE' (Linux)
  rz ready. Type &quot;sz file ...&quot; to your modem program”。
  注:这种方法设置的环境变量只在当前的shell下有效,如果想要永久生效,请将export RZSZLINE=/dev/modem加入到/etc/profile里面。详情请详细阅读下面文章:
  =============================================================
  ((((((1、总结背景
  在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本案例基于RedHat AS4讲解环境变量定制的问题。
  2、变量简介
  Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
  3、定制环境变量
  环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell(使用chsh命令)。
  根据发行版本的情况,bash有两个基本的系统级配置文件:/etc/bashrc和/etc/profile。这些配置文件包含两组不同的变量:shell变量和环境变量。前者只是在特定的shell中固定(如bash),后者在不同shell中固定。很明显,shell变量是局部的,而环境变量是全局的。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。
  注:Linux的环境变量名称一般使用大写字母
  4、环境变量设置实例
  1.使用命令echo显示环境变量
  本例使用echo显示常见的变量HOME
  $ echo $HOME
  /home/kevin
  2.设置一个新的环境变量
  $ export MYNAME=”my name is kevin”
  $ echo $ MYNAME
  my name is Kevin
  3.修改已存在的环境变量
  接上个示例
  $ MYNAME=”change name to jack”
  $ echo $MYNAME
  change name to jack
  4.使用env命令显示所有的环境变量
  $ env
  HOSTNAME=localhost.localdomain
  SHELL=/bin/bash
  TERM=xterm
  HISTSIZE=1000
  SSH_CLIENT=192.168.136.151 1740 22
  QTDIR=/usr/lib/qt-3.1
  SSH_TTY=/dev/pts/0
  ……
  5.使用set命令显示所有本地定义的Shell变量
  $ set
  BASH=/bin/bash
  BASH_ENV=/root/.bashrc
  ……
  6.使用unset命令来清除环境变量
  $ export TEMP_KEVIN=”kevin”     #增加一个环境变量TEMP_KEVIN
  $ env | grep TEMP_KEVIN          #查看环境变量TEMP_KEVIN是否生效(存在即生效)
  TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在
  $ unset TEMP_KEVIN            #删除环境变量TEMP_KEVIN
  $ env | grep TEMP_KEVIN       #查看环境变量TEMP_KEVIN是否被删除,没有输出显示,证明TEMP_KEVIN被清除了。
  7.使用readonly命令设置只读变量
  注:如果使用了readonly命令的话,变量就不可以被修改或清除了。
  $ export TEMP_KEVIN =&quot;kevin&quot;      #增加一个环境变量TEMP_KEVIN
  $ readonly TEMP_KEVIN                  #将环境变量TEMP_KEVIN设为只读
  $ env | grep TEMP_KEVIN          #查看环境变量TEMP_KEVIN是否生效
  TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在
  $ unset TEMP_KEVIN   #会提示此变量只读不能被删除
  -bash: unset: TEMP_KEVIN: cannot unset: readonly variable
  $ TEMP_KEVIN =&quot;tom&quot;   #修改变量值为tom会提示此变量只读不能被修改
  -bash: TEMP_KEVIN: readonly variable
  8.通过修改环境变量定义文件来修改环境变量。
  需要注意的是,一般情况下,仅修改普通用户环境变量配置文件,避免修改根用户的环境定义文件,因为那样可能会造成潜在的危险。
  $ cd ~                                  #到用户根目录下
  $ ls -a                                 #查看所有文件,包含隐藏的文件
  $ vi .bash_profile                #修改用户环境变量文件
  例如:
  编辑你的PATH声明,其格式为:
  PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
  你可以自己加上指定的路径,中间用冒号隔开。
  环境变量更改后,在用户下次登陆时生效。
  如果想立刻生效,则可执行下面的语句:$source .bash_profile
  需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的***。
  完成后,可以通过$ echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。
  5、学习总结
  1.Linux的变量种类
  按变量的生存周期来划分,Linux变量可分为两类:
  1. 永久的:需要修改配置文件,变量永久生效。
  2. 临时的:使用export命令行声明即可,变量在关闭shell时失效。
  2.设置变量的三种方法
  1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
  用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
  例如:编辑/etc/profile文件,添加CLASSPATH变量
  # vi /etc/profile

  export>  注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
  2. 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
  用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
  例如:编辑guok用户目录(/home/guok)下的.bash_profile
  $ vi /home/guok/.bash.profile
  添加如下内容:

  export>  注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
  3. 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
  在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。)))))
  ==============================================================
  6、验证安装
  测试1:rz命令(将windows中的文件上传到Liunx服务器)
  使用SecureCRT连接到linux服务器,然后执行命令rz,会弹出选择本机(windows)文件的对话框。
  # rz
DSC0004.jpg

  选择需要上传的文件后,点击“确定”按钮就可把windows主机上的文件通过ssh协议上传到Linux服务器。
  上传文件所在位置:执行rz命令时所在的目录。
  例如:本案例是[root@localhost root]# rz //在/root目录下执行的rz命令
  则上传的jdk安装包会存储在/root目录下
  技巧:通过“Shifs”或“Ctrl”键可以实现多个文件的传输。
  测试2:sz命令(将Linux下的文件下载到windows
  # sz <file1name> <file2name> …
DSC0005.jpg

  下载成功!
  配置文件下载位置:
  文件是下载成功了,但是有一个问题:文件下载到windows的什么位置?
  很简单,文件下载位置的设置是通过SecureCRT设置的,见下图所示:
  点击【选项】-【会话选项】
DSC0006.jpg

  配置【X/Y/Zmodem】项
DSC0007.jpg

  进入如图所示的下载目录D:\Program Files\SecureCRT\download查看文件是否正确下载。
DSC0008.jpg

  OK,一切正常,rzsz软件包安装成功

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-524369-1-1.html 上篇帖子: Windows Server Core在2008和2008R2的对比 下篇帖子: windows OS 内存 资源--学习笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表