Mac/Linux/Centos终端中上传文件到Linux云服务器

Posted 吻上明天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac/Linux/Centos终端中上传文件到Linux云服务器相关的知识,希望对你有一定的参考价值。

1、mac上传文件到Linux服务器

scp 文件名 用户名@服务器ip:目标路径
如:scp /Users/test/testFile [email protected]:/test/

2、mac上传文件夹到Linux服务器,与上传文件相比多加了-r

scp -r 文件夹目录 用户名@服务器ip:目标路径
如:scp -r /Users/test/testFolder [email protected]:/test/

3、Linux服务器下载文件到mac

scp 用户名@服务器ip:文件路径 目标路径
如:scp [email protected]:/test/testFile /Users/test/

4、Linux服务器下载文件夹到mac,与下载文件相比多加了-r

scp -r 用户名@服务器ip:文件路径 目标路径
如:scp -r [email protected]:/test/testFolder /Users/test/

 

CentOS 不能使用scp命令 解决方法

在测试中需要在两台虚拟机之间传递文件,首先想到的是scp命令,结果提示:

-bash: scp: command not found

想当然用yum install scp命令安装,结果提示:

No package scp available.

后来发现scp这东西应该属于openssh-clients这个包,运行:

yum install openssh-clients

再运行scp就可以了,再次运行:

scp 1.so [email protected]:/root/

输入密码后又再次提示:

bash: scp: command not found

在目标主机也同样安装一下openssh-clients,再次尝试,问题解决。


 

Mac将本地文件上传到服务器上

scp -P 22 /Java/program.war [email protected]:/usr/server/tomcat7/webapps/

上端口大写P 为参数,22 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 /Java/program.war表示本地上准备上传文件的路径和文件名。[email protected] 表示使用root用户登录远程服务器www.vpser.NET,:/usr/server/tomcat7/webapps/ 表示保存在远程服务器上目录和文件名。

以上是本人实践,以下是教程指令

Linux(MAC) SSH远程文件/目录传输命令scp 
相 信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget http://www.vpser.net/testfile.zip 就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用scp命令就会排上用场。

 

三、scp使用方法

1、获取远程服务器上的文件

scp -P 2222 [email protected].Net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 [email protected] 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。

2、获取远程服务器上的目录

scp -P 2222 -r [email protected]:/root/lnmp0.4/ /home/lnmp0.4/

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);[email protected] 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示远程服务器上的目录,最后面的/home/lnmp0.4/表示保存在本地上的路径。

3、将本地文件上传到服务器上

scp -P 2222 /home/lnmp0.4.tar.gz [email protected]:/root/lnmp0.4.tar.gz

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。[email protected] 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。

4、将本地目录上传到服务器上

scp -P 2222 -r /home/lnmp0.4/ [email protected]:/root/lnmp0.4/

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);/home/lnmp0.4/表示准备要上传的目录,[email protected] 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。

5、可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .

附上将DiaHosting VPS 上的文件 scp传输Linode上的截图,速度在10MB/s:

Linux(MAC) SSH远程文件/索引传输命令scp

以上是关于Mac/Linux/Centos终端中上传文件到Linux云服务器的主要内容,如果未能解决你的问题,请参考以下文章

Centos 与本地终端 上传下载 文件

Centos 与本地终端 上传下载 文件

怎么上传文件到linux服务器

web操作文件的上传到服务器 并且读取出来

如何将本地文件上传到centos linux 下面

linux 如何从远程终端下载文件到本地磁盘? 我的系统也是linux的,想从远程终端(ssh.)上复制文件到本地