跨服务器拷贝文件(SCP命令的使用)

本文详细介绍了如何使用SCP命令在本地服务器与远程服务器之间进行文件传输。包括从本地到远程及从远程到本地的文件和目录传输操作,以及所需的操作前提。

操作前提:

①你已经登录了本地服务器;

②你知道远程服务器IP地址(假定为192.168.0.2);

③你在远程服务器有Linux用户(假设为root)

1. 本地文件 -------> 远程服务器
假定想把本地计算机/home下的一个名为a.tar.tz的文件拷贝到远程服务器的/home/tmp。可以用这个命令:

scp /home/a.tar.tz root@192.168.0.2:/home/tmp/ (会提示输入root密码)

2. 远程服务器文件 -------> 本地
假定想把远程服务器上的/home/a.tar.tz 文件拷贝到本机当前目录用这个命令:


scp root@192.168.0.2:/home/a.tar.tz
拷贝远程机器的整个目录下的文件:


scp -r root@192.168.0.2:/home/* ./

使用 `scp` 命令将远程服务器上的文件拷贝到本地 Mac 主机,可以按照以下方式操作。 ### 从远程服务器拷贝单个文件到本地 Mac 命令的基本格式如下: ```bash scp username@remote_host:/remote/file/path /local/directory/path ``` 例如,如果远程服务器的 IP 地址是 `192.168.1.102`,用户名为 `yaopan`,需要拷贝文件路径为 `/opt/example.txt`,并且希望将文件保存到本地 Mac 的当前目录下,则命令如下: ```bash scp yaopan@192.168.1.102:/opt/example.txt . ``` 系统会提示输入密码,输入正确的密码后即可完成文件拷贝 [^2]。 ### 拷贝整个目录(包括子目录和文件) 如果需要拷贝的是一个目录,需要添加 `-r` 参数以启用递归拷贝功能。命令格式如下: ```bash scp -r username@remote_host:/remote/directory/path /local/directory/path ``` 例如,拷贝远程服务器上的 `/opt/ELK` 目录到本地当前目录: ```bash scp -r yaopan@192.168.1.102:/opt/ELK . ``` 同样地,执行命令后需要输入密码进行身份验证 [^1]。 ### 免密登录设置 为了提升效率,可以配置 SSH 免密码登录,这样在使用 `scp` 时无需每次输入密码。具体方法是生成 SSH 密钥对,并将公钥上传至远程服务器的 `~/.ssh/authorized_keys` 文件中 [^2]。 ### 使用示例 假设用户已配置好免密登录,以下是完整的命令示例: ```bash # 拷贝单个文件 scp yaopan@192.168.1.102:/opt/example.txt ~/Downloads/ # 拷贝目录 scp -r yaopan@192.168.1.102:/opt/ELK ~/Documents/ ``` 上述命令分别将远程文件 `example.txt` 和目录 `ELK` 拷贝到本地 Mac 的 `Downloads` 和 `Documents` 文件夹中。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值