LIinux服务器之间如何传输文件

使用scp命令实现服务器间文件传输

文章目录


前言

Linux中scp 命令用于 Linux 之间复制文件和目录。

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

scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。


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

一、从本地服务器向另一个服务器传输文件

示例:在本地服务器上,将/home目录下mysql.sql文件传输到服务器42.196.8.160的/home目录下,

命令为:

bash 复制代码
scp /home/mysql.sql root@42.196.8.160:/home/

#若拷贝的是文件夹则添加-r参数表示递归复制整个目录。
#例如:将/home目录下所以文件传输到服务器42.196.8.160的/home目录下
scp -r /home root@42.196.8.160:/home  

如果两台服务器之间没有配置免密登录的话需要输入密码建立ssh连接

二、从远程服务器获取文件到本地服务器

示例:在本地服务器上,将服务器42.196.8.160上/home目录下的mysql.sql文件复制到本地的/home目录下,命令为:

bash 复制代码
scp root@42.196.8.160:/home/mysql.sql /home/

三、scp命令详解

1、命令格式

bash 复制代码
scp [参数] [原路径] [目标路径]

2、参数说明

bash 复制代码
-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)的选项。

该处使用的url网络请求的数据。


其他

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

bash 复制代码
#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
相关推荐
运维有小邓@3 小时前
Active Directory服务账户是什么?
运维·服务器·网络
百万蹄蹄向前冲3 小时前
2026云服务器从零 搭建与运维 指南
服务器·javascript·后端
HIT_Weston3 小时前
84、【Ubuntu】【Hugo】搭建私人博客:文章目录(三)
linux·运维·ubuntu
qq_5470261794 小时前
Linux 常用快捷键及文本编辑器
linux·运维·服务器
埃伊蟹黄面5 小时前
磁盘级文件系统核心原理解析
linux·文件
醇氧5 小时前
【Linux】 安装 Azul Zulu JDK
java·linux·运维
一直跑7 小时前
查看显卡驱动版本,查看哪个用户使用显卡(GPU)进程
linux·服务器
滴水之功7 小时前
Windows远程桌面(非图形化界面)连接Ubuntu22.04
linux
借你耳朵说爱你8 小时前
在Linux上挂载磁盘
linux
小成202303202658 小时前
Linux高级
linux·开发语言