一直使用 git bash 命令行的 ssh 工具连接服务器,部署或是配置一些文件,但要上传项目的时候还是要开一个ftp,再打开ftp工具经行上传,很是麻烦。
后来发现命令行下也提供了上传和下载文件的工具,这就是 SCP。

输入 scp 会显示帮助信息,证明是这个命令是可用的。我是在 windows 下使用的 git bash 命令行。

1
2
3
4
$ scp
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2

上传文件到服务器

1
scp localPath/filename username@servername:remotePath

我一般是在要上传的文件所在的目录里右键 Git Bash Here 打开命令行后,本地就直接输入文件名好了,省去了输入本地路径。当然远程的路径是省不了的。
比如我要上传 /d/phpStudy/WWW/wx 下的 test.txt 文件到服务器的 /data/wwwroot/ 目录

1
$ scp test.txt username@servername:/data/wwwroot/

回车之后提示输入服务器密码,输入回车,就上传上去了。

1
test.txt                                      100%    0     0.0KB/s   00:00

上传目录到服务器

1
scp -r localDir username@servername:remotePath

从服务器下载文件

1
scp username@servername:/remotePath/filename localPath

从服务器上下载目录

1
scp -r username@servername:/remotePath/remoteDir localPath/localDir