cd
到所需的目录。 现在该目录中有一个名为
table
的文件,我想将其复制到本地计算机/home/me/Desktop
中。 我该怎么做?
我尝试了
scp table /home/me/Desktop
,但它给出了关于没有此类文件或目录的错误。 有人知道怎么做吗?
#1 楼
scp
的语法是:如果您要从中将文件发送到远程计算机的计算机:
scp /file/to/send username@remote:/where/to/put
此处
remote
可以是FQDN或IP地址。另一方面,如果您要在计算机上从远程计算机接收文件:scp username@remote:/file/to/send /where/to/put
scp
也可以在两个远程主机之间发送文件:scp username@remote_1:/file/to/send username@remote_2:/where/to/put
所以基本语法是:
scp username@source:/location/to/file username@destination:/where/to/put
您可以阅读
man scp
以获得更多关于此的想法。评论
如果我要复制多个文件怎么办?我添加了一个空格,只是使用了另一个/ file / to / send谢谢您的出色回答!
– camdixon
16年7月12日在18:30
scp -r将递归复制。
–亨利
16年8月10日在21:10
我想将文件从网络复制到我的VM ...如何使用scp来实现相同目的
– Sushivam
16-11-16在12:48
@heemayl +1是一个很好的答案。考虑补充一下,在安全连接(需要身份验证)的情况下,可以使用以下命令(用于将文件从本地复制到远程):scp -i mykey.pem somefile.txt root@remotehost.ip.address :/一些/文件夹/在/远程
–Guy Avraham
17-10-19在10:48
使用scp -P 123指定自定义端口
– aexl
17/12/28在12:52
#2 楼
您可以使用rsync
作为替代。它主要用于同步文件..,但您也可以将其用于此目的。rsync -avzh --stats --progress remoteuser@remoteip:/path/ localpath
添加ssh选项:
--progress
和--stats
可用于实时显示传输。正在复制大量文件。#3 楼
scp root@10.240.179.4:/root/Jmeter/reports.jtl Downloads/
#4 楼
scp username@ipaddress:pathtofile localsystempath
scp sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
如果与端口一起使用:
scp -Pportnumber username@ipaddress:pathtofile localsystempath
scp -P2233 sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
评论
这会将文件复制到相同的远程目录。
– Max Yudin
18-10-12在11:02
#5 楼
如果您完全信任网络中的每个人,并且可以直接连接目标计算机的端口,则可以使用netcat:nc
。假设目标计算机的IP地址为192.168.1.123
在目标位置运行:
nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir
您可以选择其他端口,也可以绑定到接口的另一个IP,0.0.0.0只是捕获在所有接口上。
在源代码上运行:
tar zcvf - filename | nc 192.168.1.123 7777
恕我直言,这是最快的方式将文件从一台计算机发送到
在不同版本的
nc
和tar
之间,参数和命令行选项可能会略有变化,但是肯定可以在最新的Linux发行版中使用。评论
我认为您的tar参数有误,源不应该带有“ x”,并且也可以使用“ v”来实现奇偶校验。
–哑光D
2月21日9:11
@MattesD:谢谢,您说对了,已修复。
–onurgüngör
2月22日上午10:45
#6 楼
在Linux上,要将文件夹及其内容从用户(在此示例中为root)目录复制到本地用户目录中的文件夹,请在本地计算机上运行以下命令:scp -r root@178.62.54.83:〜/ folderinremoteuserdir〜/ folderinlocaluserdir
请注意〜/我经常会忘记的...
评论
如果发现自己经常使用scp复制,则可以在文件浏览器中挂载远程目录并拖放。在我的Ubuntu 15主机上,它在菜单栏“转到”>“输入位置”> debian@10.42.4.66:/ home / debian下。或者,可以使用sshfs在主机上挂载远程计算机的文件系统。但是该设置要复杂一些。尝试一下rsync。这对于本地和远程副本都非常有用,可以为您提供复制进度等。示例