Last Updated: 2023-04-09 08:17:58 Sunday
-- TOC --
scp和sftp命令都来自openSSH工具套件,用于安全地在主机之间拷贝文件。这两个命令底层的安全机制与ssh一样,很安全。
scp命令基本格式:
$ scp [options] source target # options are just after scp command
source和target都可以是remote host,此时虽然是两个remote直接传输(不要使用-3
参数),但测试还是发现登陆到某台remote host后执行scp会更快一些!也可以source或target其中之一是remote host!也可以都是local path,此时跟cp命令基本一样。另外,现在新版的scp命令的底层是sftp。
scp命令常用参数
-r
,recursive,copy整个目录
-P
,指定远端系统端口号(大写P,source前面)
-l
,限制带宽,以Kbit/s为单位(-l用于限速,而ssh的-l用于指定登录用户)
-p
,拷贝文件的时候,保留源文件的atime,mtime和modes
-q
,Quiet mode,执行文件拷贝时,不显示进度,warning或诊断信息
-c
,指定数据传输时的加密算法(同ssh)
-C
,在数据传输时,开启数据压缩(同ssh)
-i
,指定私钥,当远端host不允许使用password登录时(同ssh)
-F
,指定一个ssh config文件(同ssh)
scp命令举例
用12345端口和abc用户连接cs.pynote.net,copy路径~/web/htdocs的所有资料到本地路径~/backup/htdocs:
$ scp -P 12345 -r abc@cs.pynote.net:~/web/htdocs ~/backup/htdocs
将本地/home/music/1.mp3 copy到cs.pynote.net服务器,用abc登录,目的路径为/home/abc/other/music文件夹,使用默认22号端口:
$ scp /home/music/1.mp3 abc@cs.pynote.net:/home/abc/others/music
docean和aliyun都在指定的ssh_config配置文件中定义,启用压缩传输:
$ scp -CF ~/repos/mdsite/key/ssh_config docean:draw aliyun:draw
scp命令不支持断点续传,适合copy少量size小的文件,大量size大的文件的同步,建议使用rsyc命令。
sftp,Secure FTP!scp命令的常用参数,sftp都一样!
注意:sftp与ftps是不一样的东西。
sftp基本命令格式:
$ sftp [-P port] username@domain.com
登陆后用help
查看指令,既可以操作local host的文件夹,也可以操作remote host的文件并,并提供get和put命令进行下载或上传。
一些ssh client工具,比如著名的MobaXterm,在ssh登陆的同时,自动建立一个sftp连接,并提供一个sftp的文件操作窗口(sftp browser)。(此时有两条TCP连接)
本文链接:https://cs.pynote.net/net/202111233/
-- EOF --
-- MORE --