【问题标题】:SCP gives "File or directory not found"SCP给出“找不到文件或目录”
【发布时间】:2015-01-25 02:04:00
【问题描述】:

我遇到了问题。我正在使用 SCP 命令从我的 mac osx 桌面和我的虚拟服务器传输文件。问题是我运行命令并成功地将一个文件从我的桌面传输到服务器,没问题。

所以我使用相同的命令: scp filename_I_want_to_transfer user@serverip:

所以基本上看起来像scp test user@10.0.0.0: (例如,我只是使用了随机 IP)

无论如何,在我尝试传输的第二个文件上,它也是我不断收到“没有这样的文件或目录”的文档格式。 关于为什么会发生这种情况的任何想法?

【问题讨论】:

  • 也许是因为“测试”不存在?
  • 这个文件就在我的桌面上,它实际上被命名为“dev”,我只是以测试为例。我确定该文件存在,因为它位于我的桌面上并且是 27.97 GB 文件。所以这绝对不是问题。路径是 /Users/nokeys/desktop 让你知道
  • 实际给出的示例命令只能得出test在当前目录中不存在的结论。您应该给出一个确切的示例失败的原因。

标签: linux macos command scp


【解决方案1】:

要将文件从本地主机发送到另一台服务器,请使用:

scp /path/to/file.doc user@<IP or hostname>:/path/to/where/it/should/go/

要将文件从另一台服务器获取到本地主机,请使用:

scp user@<IP or hostname>:/path/to/file.doc /path/to/where/it/should/go/

这是我可靠地用于从一个位置复制到另一个位置的格式。可以使用绝对路径,也可以使用相对/特殊字符路径,如

scp suiterdev@fakeserver:~/folder/file .

这将是“将$HOME/folder/中名为file的文件以用户suiterdev从主机fakeserver安全复制到当前目录(@987654331 @)。

但是您必须注意,用于远程路径的特殊字符(请参阅 shell 的文件名扩展机制)不会在本地扩展(因为这通常不是您想要的 )。

【讨论】:

  • 这仍然返回相同的错误,我确定我输入的每一个都正确。甚至尝试了3次。如果我试图复制的文件在技术上不是 .doc,即使它是,它会有所不同。该文件是 vagrant 的软件包基础框。这意味着它在技术上就像一个虚拟机,我正试图将它复制到一个基本的裸机虚拟服务器。
  • Linux 区分大小写,您确定输入的路径和文件名与您尝试从中获取的服务器上的完全相同吗?如果有任何不同之处,不同的大小写,名称的扩展名在一个地方而不是另一个地方,该实用程序将无法识别您的要求。
  • 是的,我确定所有内容都与拼写完全一致。请看下面这正是我输入它的方式。需要注意的一件事是我试图从我的 Mac 桌面转到虚拟服务器。我在我的 Mac 上的终端上输入这些命令。 scp steven@10.10.10.10:/Users/nokeys/Desktop/dev /home/steven 顺便说一句,我使用了假 IP 地址.. 所以 IP 地址不是问题。除此之外,这与我输入的内容完全相同。而且错误始终是:/Users/nokeys/Desktop/dev:没有这样的文件或目录。当我在桌面上的其他文件工作时,不确定是什么导致此文件失败
  • 啊,想通了.. 而不是像我一样做 scp (服务器凭据)... 你必须做 scp (桌面上的文件路径)空间 servercredentials 然后在服务器上放置路径它。所以 scp steven@10.10.10.10:/Users/nokeys/Desktop/dev /home/steven 应该看起来像 scp /Users/nokeys/Desktop/dev steven@10.10.10.10:/home/steven 这就是问题所在。跨度>
【解决方案2】:

对我来说,我使用的是 Ubuntu 15.10,这对我有用。

scp user@host.com:path/to/file.txt /home/to/local/folder/

而不是

scp user@host.com:/path/to/file.txt /home/to/local/folder/

注意,在 user@host.com 主机之后我不包含正斜杠,我会立即将文件夹附加到 ":"

之后

Scp 使用目标用户的主目录作为默认目录(作为相对路径),所以当您需要绝对路径时,请使用一个(以斜杠开头(/))。

【讨论】:

    【解决方案3】:

    我知道这对你来说太晚了,但它可能会帮助其他和我有同样问题的人 就我而言,我的电脑设置为使用反斜杠 "\" 而不是正斜杠 "/" 并更改为反斜杠消除了错误

    但我只需要在我的电脑目录上将斜杠更改为反斜杠,因为我的树莓派使用正斜杠。
    我知道这有点令人困惑,但它对我有用。

    【讨论】:

    • 传统的斜线 (/) 也可以在 MS-DOS 和 MS-Windows 系统调用中使用,而命令和 GUI 通常坚持使用反斜线 (``)。有时即使反斜杠用作转义字符,您也需要将反斜杠加倍(C 程序员知道这一点)。
    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 2020-02-25
    • 2018-11-03
    • 1970-01-01
    相关资源
    最近更新 更多