在日常工作中,文件的传输是一个非常常见的需求。无论是将本地文件上传到远程服务器,还是将远程服务器上的文件下载到本地,都需要一定的技术手段来实现。对于Linux系统用户而言,SCP和RSync这两个命令无疑是最常用的工具之一。在本文中,我们将会介绍这两个命令的使用方法和区别,让你轻松搞定文件传输。
scp命令 – 远程拷贝文件
scp 拷贝本地文件filename 到远程机器 192.168.188.188 服务器的/data/tmp目录下
scp -P 61204 -l 40000 filename username@192.168.188.188:/data/tmp/
-P port
Specifies the port to connect to on the remote host. Note that this option is written with a capital ‘P’, because -p is already reserved for preserving the times and modes of the file in rcp(1).
#-P 指定远程服务器ssh服务的端口 如:ssh端口为61204
-l limit Limits the used bandwidth, specified in Kbit/s.
-l 指定拷贝的速度限制 单位是ct/s 如:-l 40000 表示40000Kbit/s=40000/8KB=5MB的速度
注:scp不支持断点续传
rsync + ssh 断点续传
#rsync同步本地文件 filename 到远程机器 192.168.188.188 服务器的/data/tmp目录下
rsync -avzP -e 'ssh -p 61204' --bwlimit=5000 filename username@10.20.90.101:/data/tmp/ >> scp_to_101.log
-a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。
-v:详细提示
-z:压缩
-P:是综合了–partial –progress两个参数
–partial
如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。
如果想在下次拷贝时续传文件,不需要重新拷贝所有文件的话,可以使用-partial选项阻止rsync在传输中断时删除已拷贝的部分
–progress 显示进度条
-e:参数的作用是可以使用户自由选择欲使用的shell程序来连接远端服务器
ssh -p 61204
指定ssh的端口(非默认22)61204
–bwlimit: –bwlimit=5000 限制带宽为5000k Bytes/s =5MB
上例:使用rsync传输本地文件filename到192.168.188.188的/data/tmp目录下 使用压缩归档传输、限速5MB、支持断点续传 使用ssh协议
详情 可以参考 man scp 和man rsync 手册
通过本文的介绍,相信大家对Linux下的SCP和RSync这两个命令有了更加深入的理解,可以灵活运用它们在本地与远程之间快速传输文件。SCP适用于小文件和简单场景,RSync则更适合大文件和复杂场景。总之,选择合适的工具和命令可以让我们更加高效地完成任务,为工作和学习提供便利。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !