利用 scp 传输文件 ¶
语法格式
scp source_file_path destination_file_path
根据不同的主机,文件路径应该包扩:完整的主机地址,端口号,用户名,密码以及文件路径。
上传文件至服务器 ¶
scp ~/my_local_file.txt user@remote_host.com:/some/remote/directory
scp -P 222 -r /home/1.txt user@192.168.1.1:/home/data/code/
从服务器下载文件 ¶
scp user@remote_host.com:/some/remote/directory ~/my_local_file.txt
本地电脑上执行
- 例如
scp root@192.168.0.1:/home/test.txt
- 把
192.168.0.1 上的 /home/test.txt
的文件下载到 ~/Downloads/本地
案例 ¶
debug 专用(-v) ¶
会展示详细的输出,SCP的程序将输出大量关于它在后台做什么的信息。当程序失败或无法完成请求时这是非常有用的。详细的输出将正确的指明该程序哪里出了问题
递归拷贝 ¶
-r拷贝目录
-P服务器端口
scp -P 222 -r user@192.168.1.1:/usr/local/services/nginx/conf ~/Downloads/
多文件传输 ¶
多个文件可以用空格分隔开
# 上传文件至服务器
scp foo.txt bar.txt username@remotehost:/path/directory/
# 从服务器下载文件至本地
scp username@remotehost:/path/directory/\{foo.txt,bar.txt\} .
scp root@192.168.1.1:~/\{foo.txt,bar.txt\} .
在两个远程主机之间复制文件 ¶
把文件从一个远程主机复制到另一个远程主机
scp user@remotehost1:/some/remote/dir/foobar.txt user2@remotehost2:/some/remote/dir/
用压缩来加快传输 ¶
用于加快传输,节省时间和带宽的超酷的选项!你所需要做的就是用C选项来启用压缩功能。该文件在传输过程中被压缩,在目的主机上被解压缩
压缩传输
scp -vrC ~/Downloads root@192.168.1.1:/root/code
限制带宽的使用 ¶
scp 占用所有的带宽,某些条件下需要用选项“l”来限制最大传输速度,Kbit/s
限制带宽
scp -vrC -l 400 ~/Downloads root@192.168.1.1:/root/code
在远程主机上连接一个不同的端口 ¶
如果远程服务器有ssh守护进程运行在不同的端口上(默认是22),那么你需要告诉scp使用“-P”选项来使用指定的端口
指定端口
scp -vC -P 333 ~/test.txt root@192.168.1.1:/some/path/test.txt
保存文件属性 ¶
“-p” 选项(小写),将会保存源文件的修改时间,访问时间以及方式。
保存文件属性
scp -C -p ~/test.txt root@192.168.1.1:/root/code/test.txt
使用不同的ssh_config文件 ¶
-F
指定不同的认证文件
scp -vC -F /home/user/my_ssh_config ~/test.txt root@192.168.1.1:/root/code/test.txt
使用不同的加密 ¶
scp 默认使用 AES 加密, blowfish 和 arcfour 被认为比 AES 更快的存在,但是安全上不如 AES
使用不同的加密
scp -c blowfish -C ~/local_file.txt username@remotehost:/remote/path/file.txt