Linux使用SCP进行文件传输

本章内容基于CentOS6.5(32位)

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。

scp不需要安装额外的软件,使用起来简单方便,安全可靠且支持限速参数但是它不支持排除目录

为了学习SCP命令我创建了3个Linux虚拟机,其ip地址分别位192.168.132.130、192.168.132.132、192.168.132.133

scp命令格式

scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 

这里的参数有

-r  传输文件夹

-v 展示传输详情

在源服务器传输文件夹 (包括文件夹本身)

在130服务器上将文件夹dai传输到132服务器的根目录

这里的 -r 代表传输文件夹 (包括文件夹本身),命令输入后需要输入132服务器的密码

scp -r /dai root@192.168.132.132:/

在源服务器传输文件

将130服务器上的jdk-7u55-linux-i586.tar.gz传到132服务器的根目录

这里我们如果把/dai/soft/jdk-7u55-linux-i586.tar.gz替换成/dai/soft/*,就代表传输路径/dai/soft下的所有文件

scp /dai/soft/jdk-7u55-linux-i586.tar.gz root@192.168.132.132:/

可以看到132服务器根目录成功接受到 jdk-7u55-linux-i586.tar.gz文件

在源服务器传输文件并重命名

还是刚才的文件,在130服务器上再传一次,不过这次要给它重命名为changename.tar.gz

scp /dai/soft/jdk-7u55-linux-i586.tar.gz root@192.168.132.132:/changename.tar.gz

这时的132服务器上可以看到传过去的changename.tar.gz

在目标服务器下载文件夹及文件

和在源服务器传输文件的命令类似,将130服务器上的/dai/soft文件夹下载到本地132服务器根目录,这里要输入130服务器的密码,下载文件的话就去除参数-r

scp -r root@192.168.132.130:/dai/soft  /

使用第三台服务器进行两台服务器之间文件的传输

登陆到第三台服务器133执行命令,这里执行传输命令后要同时输入两台服务器的密码

scp -r root@192.168.132.130:/dai/soft root@192.168.132.132:/

参考文章

https://blog.csdn.net/qw_xingzhe/article/details/80167888

https://www.cnblogs.com/gudongcheng/p/8064808.html

  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: SCP是一种在Linux系统中用于安全传输文件的命令。它可以通过SSH协议在本地和远程主机之间传输文件使用SCP传输文件需要指定源文件和目标文件的路径,以及远程主机的IP地址和登录用户名。例如,将本地文件test.txt传输到远程主机192.168.1.100的/home/user目录下,命令如下: scp test.txt [email protected]:/home/user ### 回答2: Linux系统中,scp是一种用于在不同的计算机之间传输文件的命令。它可以在不同的计算机之间或同一台计算机的不同目录之间传输文件使用scp传输文件需要明确两个参数:源文件和目标位置。目标位置可为本地文件夹或远程主机的文件路径,具体取决于当前的工作状态。 scp可以通过密码验证或密钥验证进行传输,其中密钥验证的方式更为简单和安全,因此推荐使用使用scp命令的基本语法如下: ``` scp [参数] [源文件] [目标位置] ``` 以下是scp命令的一些常用参数: - -P:指定远程主机的端口号 - -r:递归传输目录及目录下的所有文件 - -v:显示传输进度和详情 例如,将本地文件/home/user/test.txt传输至远程主机的/home/remote_user目录下,命令如下: ``` scp /home/user/test.txt [email protected]:/home/remote_user/ ``` 如果需要传输整个目录,则使用-r参数。如下所示: ``` scp -r /home/user/test [email protected]:/home/remote_user/ ``` 使用scp命令进行传输时,还可以加入其他的参数进行高级设置。例如,使用-q参数禁用输出,并加入-p参数来打开文件权限保留。 总之,scp是一种非常方便的文件传输命令,它可以快速、安全地在不同的计算机和目录之间传输文件,而且使用方式也很简单,对于Linux系统的用户来说,是一种必不可少的命令。 ### 回答3: Linux中的scp是一种非常方便的文件传输工具,它允许用户在不同的计算机之间快速地复制文件和目录。scp是ssh协议的一部分,因此它的传输过程是经过加密的,安全性更高。 scp命令的基本格式为: ``` scp [参数] [原文件] [目标地址] ``` 其中,[参数]是一些可选的参数,可以根据需要选择使用。[原文件]指要传输的源文件或目录,可以使用绝对或相对路径。[目标地址]指文件传输的目标地址,可以是远程主机的IP地址或域名加上文件目录的完整路径。如果没有指定用户名,则默认使用当前登录用户。 下面是一些常用的scp命令参数: - -r:递归复制整个目录树。 - -P:指定远程主机的端口号,默认为22。 - -v:显示详细的传输信息。 - -C:开启压缩模式。 - -p:保留文件的原来权限和时间属性。 - -q:以安静模式传输,不显示传输进度信息。 - -i:指定使用的密钥文件。 例如,将本地文件/backup/data.txt传输到远程主机192.168.0.1的/tmp目录下,可以使用以下命令: ``` scp /backup/data.txt [email protected]:/tmp ``` 这个命令将/data.txt复制到远程主机的/tmp目录下,并将它的权限和时间属性保留不变。 如果要递归地复制整个目录mydir到远程主机的/home/user目录下,可以使用以下命令: ``` scp -r mydir [email protected]:/home/user/ ``` 当然,如果你使用scp经常与同一个远程主机进行文件传输,为了方便起见,可以将scp的远程主机地址和端口号设置为默认值。在~/.ssh目录下创建一个config文件,写入以下内容: ``` Host remote_host User myuser Hostname remote_host.com Port 2222 ``` 其中,remote_host、myuser、remote_host.com和2222分别代表远程主机的别名、登录用户名、主机名和端口号。这样,以后使用scp命令传输文件时,可以直接使用别名remote_host,而不必再输入完整的登录信息。例如: ``` scp file remote_host:/path/to/target ``` 综上所述,scp命令是Linux系统中非常实用的文件传输工具,它让文件传输变得更加方便和快捷。无论是用于备份数据、同步文件还是其他用途,都可以让我们的工作更加高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值