Administrator
Administrator
Published on 2025-03-05 / 46 Visits
0
0

scp的各使用方法和说明

scp(Secure Copy)是 Linux/Unix 系统中用于安全复制文件的命令,基于 SSH 协议加密传输数据。它可以在本地和远程主机之间传输文件或目录。

## scp 语法

scp [选项] <源路径> <目标路径>

- <源路径><目标路径> 可以是本地路径或远程路径。

- 远程路径格式user@host:/path/to/file

## scp 常见用法

### 1. 从本地复制到远程

scp localfile user@remote:/remote/path/

示例:

scp /home/user/file.txt root@192.168.1.100:/root/

将本地 /home/user/file.txt 复制到远程 192.168.1.100/root/ 目录下。

### 2. 从远程复制到本地

scp user@remote:/remote/file /local/path/

示例:

scp root@192.168.1.100:/root/file.txt /home/user/

将远程服务器 192.168.1.100 上的 /root/file.txt 复制到本地 /home/user/ 目录。

### 3. 递归复制整个目录-r

scp -r localdir user@remote:/remote/path/

示例:

scp -r /home/user/data root@192.168.1.100:/root/

递归复制 /home/user/data 目录到远程 /root/ 目录。

### 4. 指定 SSH 端口-P

scp -P 2222 file.txt user@remote:/remote/path/

示例:

scp -P 2222 /home/user/file.txt root@192.168.1.100:/root/

指定 SSH 端口 2222 连接远程服务器。

### 5. 限制带宽-l

scp -l 1000 file.txt user@remote:/remote/path/

限制传输速率为 1000 Kbit/s

### 6. 指定 SSH 私钥-i

scp -i ~/.ssh/id_rsa file.txt user@remote:/remote/path/

使用指定的 SSH 私钥进行身份验证。

### 7. 多个文件或目录复制

scp file1 file2 user@remote:/remote/path/
scp -r dir1 dir2 user@remote:/remote/path/

示例:

scp file1.txt file2.txt root@192.168.1.100:/root/

同时传输多个文件。

## scp 相关注意事项

1. scp 需要 SSH 服务器在远程主机上运行,并具备访问权限。

2. scp 适用于简单文件传输,若需要更强大的功能(如断点续传),建议使用 rsync

3. scp 可能被 sftprsync 替代,部分新系统可能默认不再包含 scp(可以使用 sftp 替代)。

如果你有具体的使用需求,可以告诉我,我可以给你更详细的示例!


Comment