[远程文件拷贝 | qxdn 的乐园](https://qianxu.run/2021/11/02/remote-copy/)
实验室分配了服务器,有必要了解以下远程数据的拷贝
封面《月に寄りそう乙女の作法》
前言
向实验室申请了一个服务器准备炼丹,第一步暂时打算先上传数据集。对服务器上文件的远程拷贝只用过 VNC 和 vscode。vscode 在打开服务器中含有较多文件的目录容易卡死,且拷贝文件的进度也不容易观察,只能通过当前的网速进行判断。VNC 只拷贝过一些小型文件,但是个人猜测对大文件的传输也不太行。因此有必要了解一下 linux 自带的 scp 命令。
scp
scp 命令是 secure copy 的缩写,是一个远程文件拷贝命令。
语法
对于这种命令通过 man
命令可以查看其详细的文档。man scp
|
|
参数说明
- -1: 强制使用 ssh1
- -2: 强制使用 ssh2
- -3: 通过本地 host 传输两个远程服务器直接的拷贝。如果没有该选项,将会直接在两个远程服务器之间拷贝。
- -4: 强制 scp 只使用 ipv4
- -6: 强制 scp 只是用 ipv6
- -B: 选择批次模式(不使用密码或者密钥)
- -C: 开启压缩模式
- -c cipher: 以 cipher 将数据传输进行加密,这个选项将直接传递给 ssh
- -F ssh_config: 指定一个替代的 ssh 配置文件,此参数直接传递给 ssh
- -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给 ssh
- -l limit: 带宽限制,单位 Kbit/s
- -o ssh_option: 传输可选项到 ssh 中,并没有 scp flag
- -P: 指定远程服务器的端口,注意大写 P,因为小写已经被使用了
- -p: 保留原始文件的修改时间,访问时间和访问权限
- -q: 安静模式,不显示进度条
- -r: 递归拷贝整个文件夹
- -S program: 指定加密传输时所使用的程序。此程序必须能够理解 ssh (1) 的选项
- -v: 详细模式
实例
废话说了一堆不如直接上手写测试
本地复制文件到远程
|
|
本地目录复制到远程
|
|
远程文件复制到本地
|
|
远程目录复制到本地
|
|
sftp
在看 scp 命令文档的适合发现了里面有写 sftp (secure file transfer program)。出于好奇,便查询一下 sftp 的使用方法。
语法
|
|
许多参数与 scp 类似这里不再多说
实例
连接
|
|
获取远程文件
|
|
上传本地文件
|
|
参考资料
Linux scp 命令
How To Use SFTP to Securely Transfer Files with a Remote Server