尝试从本地Mac到Amazon AWS Linux机器上的SCP

我正在尝试将文件从本地Mac复制到在Amazon EC2 / AWS Cloud上运行的Linux实例。

我能够通过terminal连接到服务器,但无法将我的文件提交到服务器。

这是我试过的:(是的,我用实际的服务器信息取代了[email protected]

scp /Users/me/Desktop/file.txt [email protected]:file.txt

结果:Sink:scp:/Users/me/Desktop/file.txt:没有这样的文件或目录

scp〜/ Users / me / Desktop / file.txt [email protected]:file.txt

结果:scp:/home/myuser/Users/me/Desktop/file.txt:没有这样的文件或目录

所以看来,当我使用〜/用户/ …它认为我试图从服务器复制文件? 但是,当我只使用/用户/ …,它仍然表示无法find该文件。

任何帮助将不胜感激。

更多信息 …

这里有一些额外的尝试,所有的结果都一样:

scp localhost:/Users/me/Desktop/file.txt [email protected]:/home/myuser/file.txt

scp /Users/me/Desktop/file.txt [email protected]:/home/myuser/file.txt

还有什么我需要做的,以告诉它从我的桌面机抓取文件?

弄清楚了 …

好的,所以我试图在我已经连接到服务器的时候这么做。 现在对我来说是有道理的,但我连接到服务器,然后尝试移动文件。

感谢您的帮助,并为此感到抱歉!

通常你必须在远程机器上指定path。

所以…

scp /path/to/textfile.txt [email protected]:/path/to/where/you/want/it/ 

看起来像在远程服务器上的默认目录是/ Users / me / Desktop,您应该在远程服务器上创build目录,如下所示:

 mkdir /Users/me/Desktop 

或者把file.txt放到一个退出的path中。

 ssh /path/to/file.txt [email protected]:/path/to/target/file.ext 

我认为你给命令有缺陷的path…

大多数绝对path以斜杠"/"开始,这意味着根目录。 这也适用于远程系统。 看一下这个:

 scp /path/to/read/file.txt [email protected]:/file.txt 

要么

 scp /path/to/read/file.txt [email protected]:/path/to/write/file.txt 

而且在你的情况下,你必须检查path,如果你有错误。 你可以通过在你的文件夹中的file.txt所在的位置input命令来检查path。

 pwd 

…无论如何,如果你认为你的文件是在正确的地方,你可以改变目录到它的位置,并检查pwd结果

如果你可以通过下面的命令改变你的path:

 cd /Users/me/Desktop/ 

并且您可以列出您要发送的文件:

 ls -la | grep file.txt -rw-r--r-- 1 me me 14320 2011-11-15 09:50 file.txt 

可能有用户权限问题。 检查是否可以通过cat file.txt在文件内部显示如果对文件没有读取权限,则无法将文件发送到任何地方。 首先,您必须授予该文件一些权限。