导航:首页 > 程序命令 > scp命令拷贝文件

scp命令拷贝文件

发布时间:2023-01-01 16:38:21

1. scp命令及使用过程中常见问题的解决方案

scp命令用于操作系统之间(linux之间或者linux与windows之间)复制文件和目录。

scp是 secure 的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

1、从本地复制到远程 

A. 复制文件命令格式

(1)scp local_file remote_username@remote_ip:remote_folder 

(2)scp local_file remote_username@remote_ip:remote_file 

(3)scp local_file remote_ip:remote_folder 

(4)scp local_file remote_ip:remote_file 

说明:

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

B. 复制目录命令格式:

(1)scp -r local_folder remote_username@remote_ip:remote_folder

(2)scp -r local_folder remote_ip:remote_folder 

说明:

第1个指定了用户名,命令执行后需要再输入密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

2、从远程复制到本地

从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可。

应用实例:

scp [email protected]:/home/root/others/music /home/space/music/1.mp3

scp -r www.runoob.com:/home/root/others/ /home/space/music/

说明

(1)如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:

#scp 命令使用端口号 4588

scp -P 4588 [email protected]:/usr/local/sin.sh /home/administrator

(2)使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

scp命令运行过程中,涉及到SSH。SSH或Secure Shell是一种安全通信协议,用于远程连接两个操作系统,以便我们可以使用命令控制台从客户端计算机控制主机。关于SSH最重要的是它能够加密连接会话,这是FTP或Telnet无法实现的,更不安全的协议,并且已经很少使用。SSH还允许将数据安全地从主机复制到客户端,并且可以使用比普通用户的会话密钥更安全的RSA密钥,我们还可以通过隧道传输文件来获得更高的安全性。使用SSH,我们可以在内部网络和完全远程连接到配置为服务器的计算机。为此,我们必须打开TCP端口22,这是默认端口。

假设这里有两台机器A、B,B是安装在虚拟机里的debian系统,在B机器上可以使用ssh登录到A机器

但是在A上使用ssh命令登录B机器时提示错误:

ssh: connect to host 192.168.28.160 port 22: Connection refused

原来ssh分为ssh-client和ssh-server两部分,B设备只安装了ssh-client而没有安装ssh-server才导致上述问题。

解决方法:在B机器上安装ssh-server,apt-get install ssh-server

然后在A上执行ssh [email protected]却提示了另外一个waring:

  WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

在网上搜了一下发现出现这个warning是因为对端重新的ssh服务出现变动所致。

2. 树莓派里的文件复制到本地-scp命令

使用scp命令拷贝文件非常好用,我们可以通过scp命令把本地文件上传到树莓派,也可以把树莓派里的文件拷贝到本地。

本地系统: MacOS
树莓派的IP地址: 192.168.123.159
树莓派用户名: pi
本地文件夹位置: /Users/yushengtan/desktop/
树莓派文件夹位置: /home/pi/download/Desktop/

假如我们要把本地桌面上的文件1.txt拷贝到树莓派服务器桌面上,可以使用命令: scp <本地文件夹及文件> <远程用户名>@<远程ip>:<远程文件夹>

执行命令后按要求输入ssh登录密码即可;
支持文件夹拷贝,只需在scp 后添加一个 -r 参数即可。

加入我们要把树莓派桌面上的文件2.txt拷贝到本地,可以使用命令: scp <远程用户名>@<远程ip>:<远程文件夹> <本地文件夹及文件>

scp同样支持文件夹拷贝,只需在scp 后添加一个 -r 参数即可,
如把本地桌面目录拷贝到远程树莓派桌面:

3. scp从linux服务器拷贝文件到windows的机子上怎么写命令

scp从linux服务器拷贝文件到windows的机子上方法:

1.首先,下载putty软件,并可以在目录中,找到pscp.exe文件,我们可以通过这个软件实现Windows和linux之间拷贝文件。


4. linux 使用scp命令从一台机器复制文件到另一台linux机器上去

scp是 secure 的缩写, scp是 linux 系统下基于ssh登陆进行安全的远程文件拷贝命令。 linux 的scp命令可以在linux 服务器 之间复制文件和目录.
scp命令基本格式:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2

scp命令的参数说明:

-1
强制scp命令使用协议ssh1

-2
强制scp命令使用协议ssh2

-4
强制scp命令只使用IPv4寻址

-6
强制scp命令只使用IPv6寻址

-B
使用批处理模式(传输过程中不询问传输口令或短语)

-C
允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

-p 保留原文件的修改时间,访问时间和访问权限。

-q
不显示传输进度条。

-r
递归复制整个目录。

-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

-c cipher
以cipher将数据传输进行加密,这个选项将直接传递给ssh。

-F ssh_config
指定一个替代的ssh配置文件,此参数直接传递给ssh。

-i identity_file
从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

-l limit
限定用户所能使用的带宽,以Kbit/s为单位。

-o ssh_option
如果习惯于使用ssh_config(5)中的参数传递方式,

-P port 注意是大写的P, port是指定数据传输用到的端口号

-S program
指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项
scp命令的实际应用
本地复制远程文件:(把远程的文件复制到本地)
scp [email protected]:/val/test/test.tar.gz /val/test/test.tar.gz
远程复制本地文件:(把本地的文件复制到远程主机上)
scp /val/test.tar.gz [email protected]:/val/test.tar.gz
本地复制远程目录:(把远程的目录复制到本地)
scp -r [email protected]:/val/test/ /val/test/
远程复制本地目录:(把本地的目录复制到远程主机上)
scp -r /val/ [email protected]:/val/
注:复制的是目录的话就要加-r参数
当同时有多个服务器的文件要复制到本地目录:
scp [email protected]:/var/cp1.tar.gz [email protected]:/var/cp2.tar.gz /var/tmp/

注意:最后面的一个必需是目录,前面的必须是文件,才能成功批量复制,复制中会提示多次输入密码。

5. scp本地往远程服务器拷贝文件或文件夹

1.拷贝文件 

scp local_file remote_username@remote_ip:remote_file

2.拷贝文件夹  

scp -r local_folder remote_username@remote_ip:remote_folder

-r 是递归复制整个目录

6. scp文件用什编辑不会脚本报错

scp文件编辑不会脚本报错的方法:
1、scp命令用于操作系统之间(Linux之间或者linux与windows之间)复制文件和目录。scp是secure的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
2、从本地复制到远程A.复制文件命令格式(1)scplocal_fileremote_username@remote_ip:remote_folder(2)scplocal_fileremote_username@remote_ip:remote_file(3)scplocal_fileremote_ip:remote_folder(4)scplocal_fileremote_ip:remote_file说明:第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名。第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
3、复制目录命令格式:(1)scp-rlocal_folderremote_username@remote_ip:remote_folder(2)scp-rlocal_folderremote_ip:remote_folder说明:第1个指定了用户名,命令执行后需要再输入密码。第2个没有指定用户名,命令执行后需要输入用户名和密码。

7. scp如何一次拷贝多个文件或者文件夹

scp -r root@ip:/home/name/data/ 你自己的文件夹

8. scp命令详解

转自:https://www.cnblogs.com/likui360/p/6011769.html

先说下常用的情况:

两台机器IP分别为:A.104.238.161.75,B.43.224.34.73。

在A服务器上操作,将B服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下,命令为:scp -r [email protected]:/home/lk /root。

具体过程为:

[root@XX ~]#scp-r [email protected]:/home/lk /root

[email protected]'s password: k2.sql100%00.0KB/s00:00   

k.zip100%1760.2KB/s00:00   

.bash_history                                              100%320.0KB/s00:00   

.bash_logout                                              100%180.0KB/s00:00   

.bashrc                                                    100%2310.2KB/s00:00   

k3.sql                                                    100%00.0KB/s00:00   

.bash_profile                                              100%1930.2KB/s00:00   

[root@XX ~]#ls

在A服务器上将/root/lk目录下所有的文件传输到B的/home/lk/cpfile目录下,命令为:scp -r /root/lk [email protected]:/home/lk/cpfile。

具体过称为:

[root@XX lk]#scp-r /root/lk [email protected]:/home/lk/cpfile

[email protected]'s password: k2.sql100%00.0KB/s00:00   

k3.sql                                                    100%00.0KB/s00:00   

.bash_profile                                              100%1930.2KB/s00:00   

.bash_logout                                              100%180.0KB/s00:00   

.bash_history                                              100%320.0KB/s00:00   

k.zip100%1760.2KB/s00:00   

.bashrc                                                    100%2310.2KB/s00:00   

[root@XX lk]#

scp在夸机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了 ssh免密码登录 ,那在使用scp的时候密码都不用输入。

命令详解:

scp是secure 的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

1.命令格式:

scp [参数] [原路径] [目标路径]

2.命令功能:

scp是 secure 的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

3.命令参数:

-1  强制scp命令使用协议ssh1  

-2  强制scp命令使用协议ssh2  

-4  强制scp命令只使用IPv4寻址  

-6  强制scp命令只使用IPv6寻址  

-B  使用批处理模式(传输过程中不询问传输口令或短语)  

-C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  

-p 保留原文件的修改时间,访问时间和访问权限。  

-q  不显示传输进度条。  

-r  递归复制整个目录。  

-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   

-c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   

-F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  

-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。    

-l limit  限定用户所能使用的带宽,以Kbit/s为单位。     

-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   

-P port  注意是大写的P, port是指定数据传输用到的端口号   

-S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

4.使用实例:

scp命令的实际应用概述:  

从本地服务器复制到远程服务器: 

(1) 复制文件:  

命令格式:  

scp local_file remote_username@remote_ip:remote_folder  

或者  

scp local_file remote_username@remote_ip:remote_file  

或者  

scp local_file remote_ip:remote_folder  

或者  

scp local_file remote_ip:remote_file  

第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名  

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名   

(2) 复制目录:  

命令格式:  

scp -r local_folder remote_username@remote_ip:remote_folder  

或者  

scp -r local_folder remote_ip:remote_folder  

第1个指定了用户名,命令执行后需要输入用户密码;  

第2个没有指定用户名,命令执行后需要输入用户名和密码;

9. SCP服务传输文件

scp 是用于远程拷贝文件,类似于本地拷贝文件命令cp,scp传输是加密传输,并且不占用系统资源。可能会稍微影响一下速度,但相比其他传输,在文件较小时几乎无明显差距。

scp src-dir-file des-dir-file

src-dir-file源文件:要复制的源文件,注意平台差异。

des-dir-file目标文件:目标文件,注意平台差异。

从远处复制文件或者文件夹到本地目录

linux:

scp [email protected]:/data/test.py /opt/soft/

scp -r [email protected]:/tool/romTest /opt/soft/

windows:

scp [email protected]:/log/log.txt  d:/

scp -r [email protected]:/tool/romTest  d:/

上传本地文件到远程机器指定目录

linux:

scp /opt/soft/test.py  [email protected]:/data

scp -r /opt/soft [email protected]:/tool/romTest

windows:

scp d:/log.txt [email protected]:/log

scp -r d:/romTest [email protected]:/tool

https://winscp.net/eng/download.php

10. 远程拷贝文件命令Scp的使用

scp通过网络在两台主机之间拷贝文件,数据在传输过程中是经过加密的,其底层使用ssh来进行数据传输,并且它和ssh有相同的验证机制和同样的安全级别。当使用scp拷贝一个文件到另一台主机上的时候,如果目标文件已经存在,那么默认会将目标文件的内容替换为拷贝来的文件的内容。如果目标文件不存在,系统会先创建一个空的目标文件,然后再将拷贝文件的内容填充到新创建的目标文件中。

scp命令基本格式:

# scp  [可选参数]    file_source     file_target

选项

scp选项:

# scp  --help

scp  [-1246BCpqrv]  [-c cipher]  [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port]  [-S program]  [[user@]host1:]file1 [...]  [[user@]host2:]file2

各选项的作用:

-1 强制scp使用ssh1 协议。

-2 强势scp使用ssh2 协议。

-4 强制scp使用 IPV4格式地址。

-6 强制scp使用IPV6格式地址。

-B 使用批处理模式(传输之前不再询问密码或者口令)。

-C 启用压缩模式,将-C传递给ssh协议,从而打开压缩功能。

-p 保留源文件的修改时间、访问时间还有访问权限。

-q 禁用传输进度条。

-r 递归拷贝指定的整个文件夹。

-c cipher    选择cipher方式来加密传输的数据,该选项将直接传递给ssh使用。

-F ssh_config   指定一个可用来替代ssh的配置文件,该选项直接传递给ssh使用。

-i identity_file   从指定的文件中读取用于RSA 验证的密钥,该选项直接传递给ssh使用。

-l limit   限定用户可以使用的宽带,以Kbit/s为速度单位。

-P port   这里的P是大写。指定连接远程主机用的端口。

-S program   指定加密传输连接时使用的加密程序。

scp使用示例:

例一:

格式:scp   local_file   remote_username@remote_ip:remote-directory

# scp /home/test.sh       [email protected]:/test.sh

这种方式因为指定了用户名root,所以仅需要输入密码。这是将本地/home/test.sh文件远程拷贝到主机192.168.18.130的根目录下。

例二:

# scp /home/test.sh      192.168.18.130:/test.sh

这种方式因为没有指定用户名,所以需要手动输入用户名和密码。注意,如果没有指定目的主机的用户名,默认会是root用户。

例三:

# scp –r /home/backup     [email protected]:/backup

递归拷贝整个文件夹的内容到目标文件夹内。如果目标文件夹/backup不存在,会先创建该文件夹。从 远程 复制到 本地

=====================================================

如果需要从远程复制文件到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可。

例如:

scp   -r  [email protected]:/root/music/      /home/music/

注意两点:

1.如果远程主机防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p  5469  [email protected]:/root/music/      /home/music/

2.使用scp要注意所使用的用户是否具有可读取远程主机相应文件的权限。

阅读全文

与scp命令拷贝文件相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163