远程文件传输命令•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:\Users\Raodi\Desktop\abc\c.txt root@192.168.1.250:/opt
2、下载。从Linux的/opt目录下载c.txt
scp –r root@192.168.1.250:/opt/c.txt C:\Users\Raodi\Desktop\abc\d.txt
sftp协议
1、下载。从Linux上获取某个文件,传输文件夹需要加“-r”操作
sftp raodi@192.168.1.250:/opt/a.txt C:\Users\Raodi\Desktop\abc\b.txt
注意:无论是文件或者文件夹的上传与下载,在不进行任何安装和配置的情况下,皆不能反过来使用。如“sftp C:\Users\Raodi\Desktop\abc\b.txt raodi@192.168.1.250:/opt/a.txt ”,否则会出现类似错误:
ssh: Could not resolve hostname C:\\Users\\Raodi\\Desktop\\abc\\e.txt: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243
Connection closed
2、上传与下载。
sftp root@192.168.1.250 #建立连接 -- 会停留sftp 操作 put C:\Users\Raodi\Desktop\abc\b.txt /opt/b.txt #从本地上传文件 get /opt/b.txt C:\Users\Raodi\Desktop\abc\c.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协议。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?