远程文件传输命令•RHEL8/CentOS8文件上传下载-用例

scp协议

scp [options] [本地用户名@IP地址:]file1 [远程用户名 @IP 地址 :] file2
  options:
      -v 用来显示进度,可以用来查看连接,认证,或是配置错误。
      -C 使能压缩选项。如果传输的文件没有压缩,可以使用-C参数
      -c 选择使用那个加密算法(具体对应到ssh的-c cipher-spec,这个参数值会被传给ssh,可选择值3des,blowfish,des)
      -P 选择端口
      -r 递归拷贝整个目录
      -l 限制使用带宽,Kbit/s
      -o 指定传给ssh的一些参数值,比如Compression=yes
      -p 保留文件的修改时间等信息。

  亲测可用实例:

    1、上传。向Linux的/opt目录上传c.txt,传输文件夹不需要带文件名,且不支持未创建的中文文件目录

scp –r C:UsersRaodiDesktopabcc.txt  root@192.168.1.250:/opt 

    2、下载。从Linux的/opt目录下载c.txt

scp –r root@192.168.1.250:/opt/c.txt  C:UsersRaodiDesktopabcd.txt

sftp协议

  1、下载。从Linux上获取某个文件,传输文件夹需要加“-r”操作

sftp   raodi@192.168.1.250:/opt/a.txt  C:UsersRaodiDesktopabc.txt   

    注意:无论是文件或者文件夹的上传与下载,在不进行任何安装和配置的情况下,皆不能反过来使用。如“sftp C:UsersRaodiDesktopabc.txt raodi@192.168.1.250:/opt/a.txt ”,否则会出现类似错误:

ssh: Could not resolve hostname C:\Users\Raodi\Desktop\abc\e.txt: 262273326252265300325342321371265304326367273372241243
Connection closed

  2、上传与下载。

sftp root@192.168.1.250                                         #建立连接  -- 会停留sftp 操作
put C:UsersRaodiDesktopabc.txt     /opt/b.txt        #从本地上传文件
get /opt/b.txt  C:UsersRaodiDesktopabcc.txt            #下载文件
sftp root@192.168.1.250:/opt                                   #直接连接到远程Linux的/opt目录下   

    与远程相对应的本地操作,只需要在命令前加上”l” 即可,方便好记。
        例如:lcd lpwd lmkdir lpwd本地 pwd远程Linux
           ls -r -l #查看远程详细文件属性

小结

  由于sftp协议进行客户端连接后,可直接进行Linux命令的操作,而scp协议不能。所以为了更加便捷地进行文件传输,提出优化组合方案:上传下载而无须查看文件是否存在时,可使用scp协议直接进行操作;上传下载过程中需要查看文件是否存在,建议使用sftp协议。

原文地址:https://www.cnblogs.com/Raodi/p/11625577.html