ssh使用scp或rsync上传下载文件
在Linux下一般用scp
或者rsync
个命令来通过ssh传输文件。
注意:用户要有目标的响应权限,下载需要有读权限,上传需要有写权限,否则会提示错误:Permission denied
1 下载文件
如下选择一种方式:
scp username@servername:/path/filename /var/www/local_dir # 用scp rsync -P -e 'ssh -p 12345' username@servername:/path/filename /var/www/local_dir # 或者rsync,以下同理,-P显示进度 # 自动重连 RC=1 while [[ $RC -ne 0 ]] do rsync -P -e 'ssh -p 12345' username@servername:/path/filename /var/www/local_dir RC=$? done
将远程文件下载到本地 local_dir
目录,例如:
scp [email protected]:/var/www/test.txt /var/www/local_dir
把192.168.0.101
上的 /var/www/test.txt 的文件下载到 /var/www/local_dir(本地目录)
2 上传文件
命令格式:
scp /path/filename username@servername:/path
例如:
scp /var/www/test.php [email protected]:/var/www/
把本机 /var/www/test.php 文件上传到 192.168.0.101
服务器上的 /var/www/ 目录中。
3 下载目录
命令格式:
scp -r username@servername:/var/www/remote_dir/ /var/www/local_dir
remote_dir
为远程目录,local_dir
为本地目录,例如:
scp -r [email protected]:/var/www/test /var/www/
4 上传目录
scp -r local_dir username@servername:remote_dir
例如:
scp -r test [email protected]:/var/www/
把当前目录下的 test
目录上传到服务器的 /var/www/ 目录
5 指定端口
指定端口用-P
参数,注意是大写的P
,例如:
scp -P 8000 -r test [email protected]:/var/www/
这里指定 8000
端口。
上一篇: PHP strpos中文查找问题
下一篇: 10分钟从PHP到Python