利用scp命令跨linux服务器传输文件
利用 scp 命令在服务器与本地双向传输文件
什么是 scp? 有什么用?
scp
是 Secure Copy 的简写,用于在 Linux 下进行远程拷贝文件的命令,和它类似的命令有 cp
,不过 cp
只是在本机进行拷贝不能跨服务器,而且 scp
传输是加密的。可能会稍微影响一下速度。
我们需要获得远程服务器上的某个文件,远程服务器既没有配置 ftp 服务器,没有开启 web 服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过 scp
命令便可轻松的达到目的。
我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启 ftp 服务器或共享,无法通过常规途径上传是,只需要通过 scp
命令便可以轻松的达到目的。
前提
本机的 ssh
命令能够正确连接到远程服务器
可选的常用参数
-P
P 为大写 指定传输端口(默认不修改为 22 端口, 修改后需用这个参数来指定端口)-r
递归式复制(可用于传输整个文件夹的内容, 较常用)-v
和大多数 Linux 命令中的-v
意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误-C
C 为大写 使能压缩选项-4
强行使用 IPV4 地址-6
强行使用 IPV6 地址
将本地文件上传到服务器上
1 | scp D:\Desktop\demo.html [email protected]:/home |
他表示用 root 用户将本机
D:\desktop
目录下的demo.html
文件传输到 ip 地址为 47.93.187.210 的服务器的/home
目录下
将本地文件夹上传到服务器上
1 | scp -r D:\Desktop\project [email protected]:/home |
-r
参数表示将本机D:\desktop
目录下的project
文件夹递归式的( recursive )传输到相应的服务器/home
目录下, 与rm
命令用-r
参数来递归删除非空目录作用类似
获取服务器上的文件(文件夹)
1 | scp [email protected]:/home D:\Desktop\project |
加上
-r
参数的作用与上同 命令的意义与上述类似 容易明白