我正在命令行上SSHing到一个远程服务器,并试图用scp命令将一个目录复制到我的本地机器上。然而,远程服务器返回这个“usage”消息:
[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/,这里是secure copy ./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。可以将scp看作是cp,只不过可以使用user@remote_host:file指定文件,也可以只指定本地文件。
编辑:如注释中所述,如果本地和远程主机上的用户名相同,则在指定远程文件时可以省略用户。
你需要在某个地方scp一些东西。这里是scp ./styles/,这里是secure copy ./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。可以将scp看作是cp,只不过可以使用user@remote_host:file指定文件,也可以只指定本地文件。
编辑:如注释中所述,如果本地和远程主机上的用户名相同,则在指定远程文件时可以省略用户。