通过SSH传输文件

我在命令行上SSH进入远程服务器,并尝试使用scp命令将目录复制到本地计算机上。 但是,远程服务器返回此“使用情况”消息:

[Stewart:console/ebooks/discostat] jmm% scp -p ./styles/
usage: scp [-1246BCEpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 [...] [[user@]host2:]file2
[Stewart:console/ebooks/discostat] jmm%

我希望能够在两个方向上传输文件。 从我读的内容来看,我认为上述命令可用于下载,而scp -p [localpath] [remotepath]用于上传?


你需要scp地方的东西。 你有scp ./styles/ ,所以你说的是安全的复制./styles/ ,但是没有把它复制到哪里。

一般来说,如果你想下载,它会去:

# download: remote -> local
scp user@remote_host:remote_file local_file 

其中local_file实际上可能是一个目录,用于放置要复制的文件。要上传,则是相反的:

# upload: local -> remote
scp local_file user@remote_host:remote_file

如果你想复制整个目录,你需要-r 。 想象scpcp ,除了你可以指定一个文件, user@remote_host:file以及刚刚本地文件。

编辑:如注释中所述,如果本地和远程主机上的用户名相同,则在指定远程文件时可以省略该用户。


如果复制到/从您的台式机,使用WinSCP,或者如果在Linux上,Nautilus通过连接到服务器选项支持SCP。

scp只能将文件复制到运行sshd的机器上,因此您需要在运行scp的远程机器上运行客户机软件。

如果在命令行上复制,请使用:

# copy from local machine to remote machine
scp localfile user@host:/path/to/whereyouwant/thefile

要么

# copy from remote machine to local machine
scp user@host:/path/to/remotefile localfile

你需要指定源和目的地,如果你想复制目录,你应该看看-r选项。

因此,要递归复制/ home / user /从远程服务器复制到当前目录:

scp -pr user@remoteserver:whatever .
链接地址: http://www.djcxy.com/p/16409.html

上一篇: Transferring files over SSH

下一篇: difference between linkedhashmap, hashmap, map, hashtable