我正在尝试将文件从我的计算机复制到大学服务器上的个人空间。在我的计算机上,该文件位于/home/karnivaurus/file.pdf
。
如果我使用 连接到服务器,然后运行,它会打印。如果我运行,它只会显示一个目录。然后我想要做的是将此文件复制到目录。ssh [email protected]
pwd
/homes/karnivaurus
ls
foo
/homes/karnivaurus/foo
因此,退出 ssh 后,我进入本地主目录/home/karnivaurus
。然后我运行命令,但这会返回错误消息。我也尝试过运行,但这会给我相同的错误消息。cp paper.pdf [email protected]/foo/paper.pdf
cp: failed to access ‘[email protected]/homes/karnivaurus/paper.pdf’: Not a directory
cp paper.pdf [email protected]/homes/karnivaurus/foo/paper.pdf
我究竟做错了什么?
答案1
使用scp
DESCRIPTION
scp copies files between hosts on a network. It uses ssh(1) for data
transfer, and uses the same authentication and provides the same security
as ssh(1).
基本语法与cp
scp paper.pdf [email protected]:/homes/karnivaurus/foo/
或者
scp paper.pdf [email protected]:~/foo/
答案2
当您有访问权限时,传输文件的一些其他方法ssh
:
rsync
:rsync -av paper.pdf [email protected]:/where/to/put/
替换
/where/to/put/
为您想要的目录名,如果您想在中间目录存在的情况下重命名远程主机上的文件,它也可以是文件名。rsync
有一个很大的优势,scp
它使用增量传输算法,所以如果由于某种原因传输在中途停止,您可以使用从该位置再次恢复传输rsync
。直接的
ssh
:ssh [email protected] 'cat >/where/to/put/paper.pdf' <paper.pdf
这里直接使用 传输文件
ssh
,将输入文件发送到 的 STDINssh
,然后转发给远程命令并cat >/where/to/put/paper.pdf
在远程主机上运行该命令。操作后,文件将作为 可用/where/to/put/paper.pdf
,server.uni.ac.uk
请更改路径以满足您的需要。