cd
命令进入了想要的目录。现在,在这个目录下,有一个名为table
的文件,我想将其复制到本地机器的/home/me/Desktop
目录下。请问如何操作?我尝试了
scp table /home/me/Desktop
,但出现了“没有这样的文件或目录”错误。请问有谁知道如何操作吗?谢谢。
scp user1@example.com:/path/to/file /path/to/store/file
scp /path/to/local/file user1@otherhost:/path/to/file
怎么样? - kkpoonscp
在表面下使用ssh
。因此,如果您在本地计算机上输入scp
命令,则scp
将通过ssh
登录到您的服务器以复制文件。如果您通常执行ssh my-user@my-server
,现在请执行scp my-user@my-server:/my/path/to/my.remote.file /my/path/to/my.local.file
。 - Stijn de Wittscp操作与ssh登录分开进行。假设您使用jdoe帐户登录远程系统,并且远程系统是example.com,则需要发出类似以下命令的ssh命令:
scp jdoe@example.com:/somedir/table /home/me/Desktop/.
从/home/me/Desktop所在的系统发出的scp命令后面跟着远程服务器上账户的用户ID。然后,您需要添加一个“:”,后面是远程服务器上的目录路径和文件名,例如/somedir/table。然后添加一个空格和要复制文件的位置。如果您希望在客户端系统上使用相同的名称来保存文件,则可以在目录路径的末尾使用“.”表示;如果您想使用不同的名称,则可以使用/home/me/Desktop/newname。如果您正在使用非标准SSH端口进行连接,则需要使用“-P n”(大写P)指定该端口,其中“n”是端口号。标准端口是22,如果您没有为SSH连接指定它,则不需要。
scp -P[portnumber] myfile_at_remote_host [user]@[your_ip_address]:/your/path/
例子:
scp -P22 table fake_user@111.111.111.11:/home/me/Desktop/
另一方面,如果你在你的机器上,你可以使用类似这样的命令:
scp -P[portnumber] [remote_login]@[remote's_ip_address]:/remote/path/myfile_at_remote_host /your/path/
示例:
将远程路径/remote/path/table
上的文件复制到本地/home/me/Desktop/
目录下,命令如下:
scp -P22 [fake_user]@222.222.222.222:/remote/path/table /home/me/Desktop/
我建议使用sftp,使用以下命令sftp -oPort=7777 user@host
其中-oPort是ssh的自定义端口号,如果您将其更改为7777,则可以使用-oPort,否则如果仅使用端口22,则使用普通的sftp user@host
,它会要求输入密码,然后您可以登录,并且您可以使用cd /home/user
导航到所需的位置,然后使用简单的命令get table
下载它。如果您想要下载一个目录/文件夹,则get -r someDirectory
将完成此操作。如果您希望文件权限也存在,则使用get -Pr someDirectory
。要上传到远程,请将上述命令中的get更改为put。