xshell上传文件的方法教程及具体操作步骤
遇到Xshell无法直接拖拽上传文件的困扰?本文详解如何通过安装lrzsz使用rz命令快速上传小文件,以及利用内置SFTP功能稳定传输大文件的具体操作步骤。
明明只是想把一个配置文件或安装包传到Linux服务器上,却发现在Xshell的黑色窗口里怎么复制粘贴都不对劲,或者拖拽文件后毫无反应。这种“有劲使不出”的感觉,大概是每个刚接触Linux运维的朋友都经历过的尴尬时刻。
其实,Xshell本身是一个终端仿真器,主要负责发送指令,并不像图形化文件管理器那样天生支持拖拽上传。要解决这个问题,我们通常有两条路:一条是轻量级的“命令行快传”,另一条是更稳健的“SFTP文件管理”。
1. 使用 rz 命令快速上传小文件
如果你需要上传的文件不大(比如几MB的配置文件、脚本或小压缩包),最快捷的方式是使用 lrzsz 工具包中的 rz 命令。这种方式不需要离开当前的SSH会话窗口,操作非常连贯。
首先,你需要确认服务器上是否已经安装了该工具。在终端输入 which rz,如果没有任何返回,说明还没安装。对于CentOS系统,执行 yum install -y lrzsz;对于Ubuntu或Debian系统,则执行 apt-get install -y lrzsz。安装过程通常只需几秒。

在终端输入rz后弹出的Windows文件选择对话框
安装完成后,在你想存放文件的目录下,直接输入 rz 并回车。此时,Xshell会自动弹出一个标准的Windows文件选择窗口。你只需要像在本地电脑一样,选中你要上传的文件,点击“打开”,文件就会开始传输。
注意观察终端窗口的输出,你会看到类似 Receiving Zmodem file... 的进度提示。传输结束后,使用 ls -l 命令检查一下,文件应该已经安静地躺在当前目录中了。这种方法最适合临时传个小补丁或日志分析脚本,胜在随用随走。
2. 利用 Xshell 内置 SFTP 功能传输大文件
当文件体积变大,或者你需要批量上传整个项目文件夹时,rz 命令可能会因为超时或稳定性问题而中断。这时候,Xshell内置的SFTP功能就是更靠谱的选择。它基于SSH协议,安全性高且支持断点续传。
在Xshell中,你不需要额外安装第三方FTP软件。只需在当前会话连接成功的情况下,点击工具栏上的“新建文件传输”按钮(图标通常是一个绿色的小箭头或者文件夹形状),或者直接按下快捷键 Ctrl + Alt + F。

Xshell的SFTP双窗口文件管理界面
系统会自动打开一个新的标签页,左侧是你本地电脑的文件目录,右侧是服务器的文件目录。界面布局非常直观,类似于常见的双 pane 文件管理器。你可以直接在左侧选中文件,拖拽到右侧窗口,或者右键点击选择“上传”。
在传输过程中,底部会有详细的进度条显示速度和剩余时间。如果遇到网络波动导致中断,重新拖拽文件时,SFTP通常会询问是否续传,这比重新从头上传几百兆的安装包要友好得多。传输完成后,记得在右侧窗口刷新一下,确保文件完整写入。
3. 常见上传失败的原因排查
有时候即便操作正确,文件还是传不上去,这时候不要急着怀疑软件,先检查几个关键点。
首先是权限问题。如果你尝试上传到 /etc 或 /var/www 等系统目录,而当前登录的是普通用户,肯定会报 “Permission denied”。解决方法是先上传到用户的家目录(如 /home/username),然后通过 sudo mv 命令移动文件,或者直接使用 root 账号登录(生产环境需谨慎)。

上传到系统目录时出现的Permission denied错误
其次是路径中包含中文或特殊字符。虽然现代Linux发行版对UTF-8支持很好,但在某些老旧系统或特定编码环境下,文件名里的空格、括号或中文可能导致 rz 命令识别错误。建议将文件重命名为纯英文和数字组合后再上传,这是最稳妥的避坑方式。
最后,检查防火墙和安全组。虽然SFTP复用SSH的22端口,通常不会受阻,但如果你使用的是自定义端口的SFTP服务,或者有严格的入站规则,可能需要联系管理员放行相应端口。
4. 如何选择适合的上传方式
简单来说,看文件大小和操作频率。如果是改个Nginx配置、传个Python脚本,rz 命令几秒钟就能搞定,无需切换界面,保持工作流不断档。如果是部署大型应用、上传数据库备份或媒体资源,SFTP的双窗口模式能让你清晰地管理本地和服务器的文件结构,更加从容。

SFTP传输过程中的速度和时间显示
掌握这两种方法,基本能覆盖90%以上的Linux文件上传场景。下次再遇到需要传文件的情况,根据文件大小挑一个顺手的工具,就能避免在命令行里手足无措了。


































