导航:首页 > 程序命令 > scp命令用法

scp命令用法

发布时间:2022-12-20 21:30:11

A. 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个没有指定用户名,命令执行后需要输入用户名和密码;

B. linux下怎么使用scp命令

scp命令 如下:
scp /etc/cluster.conf 192.168.1.10:/etc/cluster.conf
192.168.1.10为目标主机。

C. 怎么使用scp 命令在两台电脑上传输文件

写一个exe程序实现远程传输功能,然后把这个程序的执行文件名命名为scp,接着把该文件的路径添加到系统路径下面,然后在cmd里面输入scp +传送文件路径变量就行了。

D. Linux下cp和scp的详细说明及其他们的区别

一、说明

cp:是在同一个linux系统上,在不同的目录之间复制文件;

scp:是在不同linux系统之间来回复制文件;

二、cp 用法

单个文件复制:

cp 源文件 目标路径 ~~从原路径复制源文件到目标路径下;如果在目标路劲之后加文件名称和格式意思就是复制过去之后将该文件重命名。

多个文件复制:

cp 源文件1 源文件2 源文件3 ... 目标路径 ~~从原路径复制源文件到目标路径下;

三、cp 的参数详解

-a 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归;

-r 表示递归,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地;

-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制;

四、scp 的用法

基本语法:scp [参数] 文件 @IP:/目标路径;如下图

五、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 -r 文件夹 @IP:目标路径;

E. 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/

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

F. 远程拷贝文件命令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要注意所使用的用户是否具有可读取远程主机相应文件的权限。

G. linux下scp远程拷贝问题

linux scp远程复制命令使用详解一般情况,本地网络跟远程网络进行数据交抱,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync 大型数据迁移用rysync,其次用fetch/wget ,最次是ftp,最慢是ftp.这几天,在忙数据迁移时,用到ssh的scp方法来迁移数据。速度与效果都很好。特别是现在许多服务器为了安全,都会改ssh默认的22端口,改成一个特殊的端口。所以。在scp或者sftp时,就要指定通过什么端口来迁移。现在,特记下这个特殊端口来scp的命令。scp -p port user@serverip:/home/user/filename /home/user/filename以上端口p 为参数,port 端口 user 为ssh user serverip 为远程服务器ip或者域名 ,/home/user/filename 为远程服务器的文件名 /home/user/filename 为本地服务服务器的文件名。该命令的作用就是将远程的filename复制到本地对应的目录下面。scp 的作用真的很巨大,详细用法,可以man scp 或者 scp –help ,下面为附上一篇 scp 使用详解。。。linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;==================scp 命令==================scp 可以在 2个 linux 主机间复制文件;命令基本格式:scp [可选参数] file_source file_target======从 本地 复制到 远程======* 复制文件:* 命令格式: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个指定了文件名;* 例程:scp /home/space/music/1.mp3 root@:/home/root/others/musicscp /home/space/music/1.mp3 root@:/home/root/others/music/002.mp3scp /home/space/music/1.mp3 :/home/root/others/musicscp /home/space/music/1.mp3 :/home/root/others/music/002.mp3* 复制目录:* 命令格式:scp -r local_folder remote_username@remote_ip:remote_folder或者scp -r local_folder remote_ip:remote_folder第1个指定了用户名,命令执行后需要再输入密码;第2个没有指定用户名,命令执行后需要输入用户名和密码;* 例程:scp -r /home/space/music/ root@:/home/root/others/scp -r /home/space/music/ :/home/root/others/上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录======从 远程 复制到 本地======从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;例如:scp root@:/home/root/others/music /home/space/music/i.mp3scp -r :/home/root/others/ /home/space/music/

H. 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服务出现变动所致。

I. Linux下数据备份命令scp、rsync和后台运行

scp和rsync 均可实现文件的复制,但相比较,scp占用系统资源较小,rsync速度较快。当小文件众多时,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。可根据需要这俩选其一实现文件复制。

scp 是secure 的缩写,scp是Linux系统下基于ssh登录进行安全的远程文件拷贝命令。
可以实现本地文件复制到远程服务器,也可以将远程文件复制到本地。

rsync 是remote sync的缩写。使用rsync备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已存在的数据和新数据的差异(默认规则是文件大小或修改时间有差异),只有数据不相同时才会把不相同的部分覆盖。在仅作增量数据的时比scp灵活。

一般CentOS默认安装rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安装。

单个冒号和双冒号的区别 :使用rsync在远程传输数据前,是需要进行登陆认证的,这个过程可使用ssh协议也可以使用rsync协议完成。单冒号(:)使用的是ssh协议;双冒号(::)使用的是rsync协议。

默认情况下,rsync只确保源文件的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持不同,并且不会删除文件。如果要使目标目录成为源目录的镜像副本,则使用--delete选项。可删除只存在目标目录,不存在于源目录的文件。

增量备份算是一个经常使用的场景了。两台服务器之间进行文件定期备份,无需所有文件都一遍,仅复制有变动的文件。

具体做法是,第一次同步是全量备份,所有文件在基准目录里面同步一份。以后每一次同步都是增量备份,只同步源目录与基准目录之间有变动的部分,将这部分保存在一个新的目标目录。这个新的目标目录之中,也是包含所有文件,但实际上,只有那些变动过的文件是存在于该目录,其他没有变动的文件都是指向基准目录文件的硬链接。

--link-dest 参数用来指定同步时的基准目录。

上面命令中, --link-dest 参数指定基准目录 /compare/path ,然后源目录 /source/path 跟基准目录进行比较,找出变动的文件,将它们拷贝到目标目录 /target/path 。那些没变动的文件则会生成硬链接。这个命令的第一次备份时是全量备份,后面就都是增量备份了。

一般服务器之间复制文件都比较大,为防止误操作,最好在后台运行。但因为需要和远程服务器之间的ssh通讯多是需要密码的,所以不能直接使用nohup 放置于后台。无论是scp还是rsync都可操作如下:

后台和前台任务的切换

scp不支持断点续传,挂起scp进程可能导致数据缺失。倾向于使用rsync。

如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可参照此方法进行设置。

参考:1. Linux之scp命令及后台运行scp

阅读全文

与scp命令用法相关的资料

热点内容
汇编程序员待遇 浏览:357
怎么批量有顺序的命名文件夹 浏览:209
杭州程序员健身 浏览:17
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362