<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深度VPS &#187; 目录传输</title>
	<atom:link href="http://www.deepvps.com/tag/%E7%9B%AE%E5%BD%95%E4%BC%A0%E8%BE%93/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux SSH远程文件/目录传输命令scp</title>
		<link>http://www.deepvps.com/linux-ssh-scp.html</link>
		<comments>http://www.deepvps.com/linux-ssh-scp.html#comments</comments>
		<pubDate>Wed, 28 Mar 2012 14:28:02 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[文件传输]]></category>
		<category><![CDATA[目录传输]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=1078</guid>
		<description><![CDATA[相信各位同学在使用VPS时会经常在不同VPS间互相备份数据或者转移数据，大部分情况下VPS上都已经安装了Nginx或者类似的web server，直接将要传输的文件放到web server的目录下，然后在目标机器上执行wget命令就好了。
但是当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦，那么用scp命令就会排上用场。
一、scp是什么？
scp是secure copy的简写，用于在Linux下进行远程拷贝文件的命令，和它类似的命令有cp，不过cp只是在本机进行拷贝不能跨服务器，而且scp传输是加密的。可能会稍微影响一下速度。
二、scp有什么用？
1、我们需要获得远程服务器上的某个文件，远程服务器既没有配置ftp服务器，没有开启web服务器，也没有做共享，无法通过常规途径获得文件时，只需要通过scp命令便可轻松的达到目的。
2、我们需要将本机上的文件上传到远程服务器上，远程服务器没有开启ftp服务器或共享，无法通过常规途径上传是，只需要通过scp命令便可以轻松的达到目的。
三、scp使用方法
1、获取远程服务器上的文件
scp -P 2222 root@www.abc.com:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz
上端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。 root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4.tar.gz 表示远程服务器上的文件，最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。
2、获取远程服务器上的目录
scp -P 2222 -r root@www.abc.com:/root/lnmp0.4/ /home/lnmp0.4/
上端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制（即复制该目录下面的文件和目录）；root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4/ 表示远程服务器上的目录，最后面的/home/lnmp0.4/表示保存在本地上的路径。
3、将本地文件上传到服务器上
scp -P 2222 /home/lnmp0.4.tar.gz root@www.abc.com:/root/lnmp0.4.tar.gz
上端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。
4、将本地目录上传到服务器上
scp -P 2222 -r /home/lnmp0.4/ root@www.abc.com:/root/lnmp0.4/
上 端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制（即复制该目录下面的文件和目录）；/home/lnmp0.4/表示准备要上传的目录，root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。
5、可能有用的几个参数 :
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 [...]]]></description>
			<content:encoded><![CDATA[<p>相信各位同学在使用VPS时会经常在不同VPS间互相备份数据或者转移数据，大部分情况下VPS上都已经安装了Nginx或者类似的web server，直接将要传输的文件放到web server的目录下，然后在目标机器上执行wget命令就好了。</p>
<p>但是当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦，那么用scp命令就会排上用场。</p>
<h2>一、scp是什么？</h2>
<p>scp是secure copy的简写，用于在Linux下进行远程拷贝文件的命令，和它类似的命令有cp，不过cp只是在本机进行拷贝不能跨服务器，而且scp传输是加密的。可能会稍微影响一下速度。<span id="more-1078"></span></p>
<h2>二、scp有什么用？</h2>
<p>1、我们需要获得远程服务器上的某个文件，远程服务器既没有配置ftp服务器，没有开启web服务器，也没有做共享，无法通过常规途径获得文件时，只需要通过scp命令便可轻松的达到目的。</p>
<p>2、我们需要将本机上的文件上传到远程服务器上，远程服务器没有开启ftp服务器或共享，无法通过常规途径上传是，只需要通过scp命令便可以轻松的达到目的。</p>
<h2>三、scp使用方法</h2>
<h3>1、获取远程服务器上的文件</h3>
<blockquote><p><em><em>scp -P 2222 root@www.abc.com:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz</em></em></p></blockquote>
<p>上端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。 root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4.tar.gz 表示远程服务器上的文件，最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。</p>
<h3>2、获取远程服务器上的目录</h3>
<blockquote><p><em>scp -P 2222 -r root@www.abc.com:/root/lnmp0.4/ /home/lnmp0.4/</em></p></blockquote>
<p>上端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制（即复制该目录下面的文件和目录）；root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4/ 表示远程服务器上的目录，最后面的/home/lnmp0.4/表示保存在本地上的路径。</p>
<h3>3、将本地文件上传到服务器上</h3>
<blockquote><p><em>scp -P 2222 /home/lnmp0.4.tar.gz </em><em>root@www.abc.com:/root/lnmp0.4.tar.gz</em></p></blockquote>
<p>上端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。</p>
<h3>4、将本地目录上传到服务器上</h3>
<blockquote><p><em>scp -P 2222 -r /home/lnmp0.4/</em><em> root@www.abc.com:/root/lnmp0.4/</em></p></blockquote>
<p>上 端口大写P 为参数，2222 表示更改SSH端口后的端口，如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制（即复制该目录下面的文件和目录）；/home/lnmp0.4/表示准备要上传的目录，root@www.abc.com 表示使用root用户登录远程服务器www.abc.com，:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。</p>
<h3>5、可能有用的几个参数 :</h3>
<p>-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .</p>
<p>-C 使能压缩选项 .</p>
<p>-4 强行使用 IPV4 地址 .</p>
<p>-6 强行使用 IPV6 地址 .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/linux-ssh-scp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
