linux 文件传输(lrzsz、scp、sftp)

linux 文件传输(lrzsz、scp、sftp)

因为最近一直在看mongodb,真没时间写些东西,今天补充下日常命令,每天进步一点点。

lrzsz

非集成工具,需yum -y insatll lrzsz

lrzsz是SecureCRT、putty时用的比较多的,到后期的xshell、finalshell、Mobaxterm等等终端一般都集成了ftp工具,所以用的就越来越少了。

lrzsz命令以服务器为主体,所以有相对性。

rz:服务器接受文件,也就是本地上传到服务器(用于服务器上传文件使用)

sz:服务器发送文件,也就是将服务器文件发送本地(用于服务器下载文件使用)

rz/sz【选项】
-+, --append:将文件内容追加到已存在的同名文件
-a,--ascii:以文本方式传输
-b, --binary:以二进制方式传输,推荐使用
--delay-startup N:等待N秒
-e, --escape:对所有控制字符转义,建议使用
-E, --rename:已存在同名文件则重命名新上传的文件,以点和数字作为后缀
-p, --protect:对ZMODEM协议有效,如果目标文件已存在则跳过 -
q, --quiet:安静执行,不输出提示信息
-v, --verbose:输出传输过程中的提示信息
-y, --overwrite:存在同名文件则替换
-X, --xmodem:使用XMODEM协议
--ymodem:使用YMODEM协议
-Z, --zmodem:使用ZMODEM协议
--version:显示版本信息
--h, --help:显示帮助信息

注:操作很简单,但客户端语言环境和服务器语言环境不一致时会出现中文乱码!

scp

系统集成工具,基于ssh协议,是ssh的一个子系统。

我前面文章页有讲过这个命令,多用于多台服务器直接进行文件传送,而且是输入密码后直接传送,多个是单文件或目录这一个命令搞得,一般配合脚本进行文件传输很方便(scp一般要配合秘钥免密,脚本才流畅,否则每次都要输入密码!)

scp语法:(复制目录时需加-r)

#本地传送远端
scp [文件路径] [远端地址:路径]
#远端下载到本地
scp [远端地址:路径] [本地路径]

#例:将本地test.txt上传到远端abc用户家目录

scp /tmp/test.txt abc@ffing.cn:

#例:将远端tpm.txt 下载到本地家目录

scp abc@ffing.cn:/tmp/tmp.txt ~/

注:远端路径必须有“:”,否则传输失败!若只跟“:”表示远端家目录

sftp

sftp同样是系统集成工具,走的也是ssh协议,我用的比较少,scp用的比较多,相对sftp就用的很少了。

sftp和scp的语法一样,区别2点:

1.sftp使用前必须先登录,登录后可执行远程操作,直至退出。

2.sftp比scp多了命令执行权限,可直接执行远端命令对远程服务器操作,如若加l(local)就可以对本地进行操作。

核心命令:

get:拉取(将远端数据下载到本地)

put:上传(将本地数据上传到远程服务器)

例:

#sftp登录远程服务器
sftp root@ffing.cn
****密码****
#将本地/tmp/tmp.txt上传到远端root家目录(登录的就是root,可置空)
put /tmp/tmp.txt
#将本地/test目录上传到远端/opt目录下
put -r /test /opt
#下载文件到家目录(默认可以置空,我加个~/方便讲解识别)
get /opt ~/

scp和sftp比较

#最大区别可操作性!
可操作性:scp传送文件或目录,每执行一次就是一次交互,就需要输入一次密码,所以如果是一次性操作,推荐scp。而sftp需先sftp到远端服务器,只需一次输入密码,可以进行多项操作,而直至退出。根据业务操作性进行选择!


速度:在传输文件时,scp通常比sftp快得多,尤其是在网络延迟很高的情况下。这是因为scp实现了更高效的传输算法,不需要等待数据包确认。此时应该使用哪种协议?

安全性:由于两种协议都都基于SSH,可以认为都是ssh的子系统,因此它们都提供相同的安全功能,包括密码和数据加密以及公钥验证。

功能/可用性:scp提供的功能不同于其名称所暗示的那样:安全地复制文件(Secure copy)。如果您或您的用户将管理文件(包括查看/搜索目录,创建文件夹和组织文件,删除或重命名文件等),sftp是优秀的协议。此外,sftp还支持断点续传,这在网络连接不佳的环境中将大有帮助。

传输文件大小:scp和sftp都没有文件大小限制。但是,根据文件的大小,scp的文件传输速度可能会有所帮助。
good good study, day day up!

发表评论

textsms
account_circle
email

linux 文件传输(lrzsz、scp、sftp)
因为最近一直在看mongodb,真没时间写些东西,今天补充下日常命令,每天进步一点点。 lrzsz 非集成工具,需yum -y insatll lrzsz lrzsz是SecureCRT、putty时用的比较多的,到后…
扫描二维码继续阅读
2022-01-19