我在这里浏览了其他问题以及Internet上的各种“ scp用法”教程,但是我无法弄清问题所在。
我正在使用Linux Mint,并且试图弄清楚scp的工作原理。
我在计算机上的目录/ home / name / dir /中有一个文件file.ext(在我的计算机上)
我使用ssh连接到远程计算机,例如:
ssh -p 2222 username@domain
它询问我密码,外壳显示:
username@domain ~ $
现在,如果我发出命令(在运行ssh之前,我在本地目录 / home / name / dir中):
scp -r -P 2222 file.ext username@domain
输出为:
cp: cannot stat ‘file.ext’: No such file or directory
如果我写完整路径而不是file.ext,则结果相同
scp -r -P 2222 /home/name/dir/file.ext username@domain
另外,服务器管理员告诉我,我将文件上传到远程主目录(而不是root),例如:
scp -r -P 2222 file.ext username@domain:~/
但是当我这样做并按“ Enter”时,什么也没有发生,就像外壳正在等待进一步的输入一样。
我的问题摘要:
- cp:没有这样的文件或目录
- 壳“卡在”〜/
有什么建议么?
scp
,将遥控身边总是必须包含冒号(例如remotehost:/tmp
),否则将只是做一个普通的副本(scp /tmp/foo.txt example.com
将复制/tmp/foo.txt
到本地文件example.com
)
-r
标志,因为这是不需要拷贝单个文件(它是用来递归地复制目录)
localuser@machineA: ssh -p 2222 username@domain
(以表明您正在运行的SSH命令,如第machineA的localuser)