【服务器与本地互传文件】远端服务器的Linux系统 和 本地Windows系统 互传文件

news/2025/2/23 9:57:23




在这里插入图片描述



rz 命令:本地上传到远端


rz 命令:用于从本地主机上传文件到远程服务器

rz 是一个用于在 Linux 系统中通过 串口SSH 上传文件的命令,它实际上是 lrzsz 工具包中的一个命令。rz 命令可以调用一个图形化的上传窗口,方便用户从本地主机(如 Windows)向远程 Linux 服务器上传文件,即用于从本地主机上传文件到远程服务器

这些命令通常与终端工具(如 SecureCRTXshellPuTTY + plink 或其他支持 Zmodem 协议的工具)配合使用。

我就是使用的 Xshell



1、如何使用 rz 命令

前提条件

(1)确保远程 Linux 系统已安装 lrzsz 工具包。

  • 检查是否已安装:

    rz --version
    
  • 如果未安装,可以通过以下命令安装:

    • 在基于 Debian 的系统(如 Ubuntu)上:

      sudo apt-get update
      sudo apt-get install lrzsz
      
    • 在基于 Red Hat 的系统(如 CentOS)上:

      sudo yum install lrzsz
      

(2)使用支持 Zmodem 协议的终端工具(如 SecureCRT、Xshell 或 PuTTY + plink)。




操作步骤

  1. 在终端中输入 rz 并按回车键:

    这将触发终端工具启动文件上传窗口。

  2. 在弹出的文件选择窗口中,选择要上传的本地文件并确认。

  3. 文件上传完成后,终端会显示上传成功的提示信息。

下图就是 rz 命令打开的文件选择窗口,图形化窗口还是比较方便的


在这里插入图片描述




2、注意事项

  1. 终端工具支持:并非所有终端工具都支持 Zmodem 协议。如果使用的是不支持 Zmodem 的工具(如默认的 PuTTY),则需要额外配置或使用其他工具(如 pscpscp)。

  2. 文件路径:上传的文件会保存到当前工作目录下。可以通过 pwd 命令查看当前目录位置。

  3. 替代方案:如果无法使用 rz,可以考虑使用 scpsftp 等更通用的文件传输方式。




scp 命令:远端下载到本地


scp 命令:从远程 Linux 服务器上传文件到本地主机(如 Windows 或其他操作系统)

scp 是基于 SSH 的安全文件传输工具,可以从远程服务器拉取文件到本地。


1、操作步骤

  1. 在本地主机(如Windows)上打开命令提示符(CMD)、PowerShell 或安装了 Cygwin/Git Bash 的终端。

  2. 使用以下命令将文件从远程服务器下载到本地:

    scp username@remote_server_ip:/path/to/remote/file /path/to/local/directory
    
    • username: 远程服务器的用户名。
    • remote_server_ip: 远程服务器的 IP 地址。
    • /path/to/remote/file: 远程服务器上文件的路径。
    • /path/to/local/directory: 本地保存文件的目标路径。

    示例(假设要从远程服务器下载 /home/user/example.txt 文件到本地 C:\Users\YourName\Downloads 目录):

    scp user@192.168.1.100:/home/user/example.txt C:\Users\YourName\Downloads\
    

  1. 输入远程服务器密码后,文件会自动传输到本地指定目录。


2、注意事项

问题:远程服务器的 IP 地址是用公网IP还是私有IP?

使用的 远程服务器的 IP 地址 是需要使用 公网 IP私有 IP 取决于你的网络环境和目标服务器的可达性。


1. 公网 IP 的情况

  • 如果你的本地主机(如 Windows 或其他设备)与远程 Linux 服务器不在同一个局域网内,或者远程服务器位于互联网上的某个位置(例如云服务器),你需要使用 公网 IP
  • 公网 IP 是指可以通过互联网直接访问的 IP 地址。


2. 私有 IP 的情况

  • 如果你的本地主机和远程 Linux 服务器位于同一个局域网(LAN)中,可以直接使用 私有 IP
  • 私有 IP 是指仅在局域网内有效的 IP 地址,例如 192.168.x.x10.x.x.x


问题:出现了下面这个报错怎么解决?

C:\Windows\System32\OpenSSH\scp.exe: download /home/mine/linux-
learning/_2025_02_15_MyThreadPool/: not a regular file

这个错误信息表明,你尝试通过 scp 命令下载的内容不是一个普通的文件(regular file),而可能是一个目录或其他类型的文件(如符号链接、设备文件等)。scp 默认情况下只能直接传输普通文件或递归传输目录。


scp 的行为:

  • 如果目标路径是一个普通文件,scp 会直接传输该文件。
  • 如果目标路径是一个目录,则需要显式使用 -r 参数来递归传输整个目录。

递归传输目录

如果目标路径是一个目录,你需要使用 -r 参数来递归传输整个目录。例如:

scp -r user@remote_server_ip:/home/mine/linux-learning/_2025_02_15_MyThreadPool/ C:\local\destination\
  • -r: 表示递归传输目录及其内容。
  • C:\local\destination\: 是本地保存目录的路径。


http://www.niftyadmin.cn/n/5863288.html

相关文章

HBase与传统数据库的区别:为什么选择它来处理大数据?

HBase与传统数据库的区别:为什么选择它来处理大数据? 数据太多,传统数据库扛不住了? 你有没有遇到过这样的情况:你的公司业务发展迅速,数据量呈指数级增长,传统的数据库系统(如MyS…

从零开始搭建你的第一个HBase项目:实战经验分享

从零开始搭建你的第一个HBase项目:实战经验分享 数据洪流中的你,准备好了吗? 在大数据时代,数据量的增长速度令人咋舌。面对海量的数据,如何高效地存储、管理和分析成为了一个亟待解决的问题。今天,我们将…

游戏客户端架构设计与实战:从模块化到性能优化

一、架构设计原则 模块化分层 采用「MVC事件总线」架构,将客户端划分为: Model层:管理游戏数据(如角色属性、配置表)View层:UI界面与交互组件(推荐NGUIMVC模式)Controller层&#xf…

Jenkins 构建 Unity 打包 .apk 同时生成 .aab

Jenkins 构建 Unity 打包 .apk 同时生成 .aab Android App Bundle简称 AAB,想了解更多关于 AAB 的知识,请看官网 https://developer.android.google.cn/guide/app-bundle/faq?hlzh-cn APK 打包部分在复用上一篇 Jenkins 构建 Unity打包APK 一、新建一…

C++17中std::chrono::duration和std::chrono::time_point的舍入函数

文章目录 1. std::chrono::duration的舍入函数1.1 floor1.2 ceil1.3 round 2. std::chrono::time_point的舍入函数2.1 示例 3. 舍入函数的应用场景3.1 时间测量3.2 数据记录3.3 时间同步 4. 总结 在C17中, std::chrono库提供了一组强大的时间处理工具,包…

androidnetflix手机版遥控器操作

Application.java // 记录Activity的生命周期 /*** hide*//* package */ final void attach(Context context) {attachBaseContext(context);JoyarHelper.getInstance().attachBaseContext(context);mLoadedApk ContextImpl.getImpl(context).mPackageInfo;}/* package */ vo…

【IO】java IO流的类型及IO模型

文章目录 分类字节流输入流输出流 字符流输入流输出流 字节缓冲流字符缓冲流4中常见的IO模型BIO(同步阻塞模型)同步非阻塞模型NIO(多路复用模型)AIO异步 分类 根据数据流向分为:输入流、输出流(以内存为中…

Spring MVC中环境配置的实战应用

在现代的Spring MVC应用中,环境配置是一个非常重要的环节。通过合理配置环境,我们可以轻松地在开发环境、测试环境和生产环境之间切换,而无需修改代码。本文将通过一个具体的实例,展示如何在Spring MVC中设置环境配置,…