将本地文件从 Mac 复制到终端中的 ssh 会话 [关闭]

Posted

技术标签:

【中文标题】将本地文件从 Mac 复制到终端中的 ssh 会话 [关闭]【英文标题】:Copying a local file from Mac to an ssh session in terminal [closed] 【发布时间】:2017-01-20 07:56:19 【问题描述】:

我是使用 bash 命令的新手,遇到了一些麻烦。我正在 ssh 进入一个包含我的一些工作文件的 linux 盒子。我的 Mac 上有一个本地文件,需要将其复制到服务器上。

以下是我到目前为止所经历的步骤: 1) ssh usrname@orgname.edu 2) 输入密码 3) 密码 4) 工作目录:home/usrname

在这之后我被困住了。我的 Mac 文档中有一个本地文件夹。我想将它复制到我通过 ssh 连接到的服务器上的工作目录中。

感谢您的帮助。谢谢

【问题讨论】:

改用scp 这不是编程问题。 SuperUser.com 是解决技术支持问题的更好地方。 【参考方案1】:

当您通过 ssh 连接到远程机器时,就好像您正坐在另一台机器前面并在其中执行命令。当您处于该状态时,您无法将文件复制到(或从)它。相反,您必须使用不同的工具scp,它也属于ssh 系列,实际上在幕后调用ssh。这是您将本地目录复制到远程计算机的方式:

scp -rp /path/to/local/dir usrname@orgname.edu:/path/to/remote/dir

我使用-r 模式(代表递归)递归地复制目录。另请参阅manual of scp 了解更多详情

【讨论】:

【参考方案2】:

为此,您需要使用 sftp 而不是 ssh。请尝试以下操作:

    sftp usrname@orgname.edu 输入密码 cd <directory where you want to transfer the file> put <name of file you want to transfer>

您还可以在某些命令前添加“l”以表明您希望在本地执行此操作。即ls 将显示远程服务器上的文件,lls 将显示本地计算机上的文件。

编辑:

你会想要确保你要么

一个。在开始 sftp 进程之前导航到包含您要传输的文件的文件夹。

b.在 sftp 会话中使用 lcdlls 导航到包含您要传输的文件的本地文件夹。

如 cmets 中所述,使用要传输的文件的完整路径是行不通的。

【讨论】:

当我将文件的完整路径放在要传输的本地计算机上时,我收到一条消息说没有这样的文件或目录 好点。我刚刚尝试过,似乎使用完整路径不起作用。你会想要使用'lcd'和'lls'来确保你在正确的文件夹中。我将更改我的答案以包括在内。谢谢ixbo45。【参考方案3】:

从您的 Linux 命令提示符:scp -C -r username@remote.host:/path/to/remote/directory/ target/directory

【讨论】:

scp pathToFileOnMBP 用户名@linuxHost:pathToFileOnLinux

以上是关于将本地文件从 Mac 复制到终端中的 ssh 会话 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

mac ssh会话复制

linux 如何从远程终端下载文件到本地磁盘? 我的系统也是linux的,想从远程终端(ssh.)上复制文件到本地

如何使用 SSH 和 MAC OS X 终端跨计算机复制文件 [关闭]

从 SSH 会话到远程机器,如何在本地机器上的 Vim 会话中打开文件

终端SSH工具SecureCRT 9

使用终端复制文件,Mac