Linux scp 命令 | 本地与服务器间复制文件
• 最后修改:2025-05-20 • 阅读量:29
scp ( secure copy ) 用于使用 SSH 两个位置之间(本地与服务器之间)安全地复制文件和目录、传输文件和目录。
Linux scp 命令主要用于在本地与服务器之间在命令行中使用 SSH 传输文件和目录。
scp 的定义解释
在 Linux 或 FreeBSD 系统中,scp 主要用于使用命令行在本地与服务器之间传输文件,scp 命令基于 SSH(Secure Shell)协议,确保数据传输的安全性。
scp 命令简易语法
scp [参数] [[user@]host1:]file1 [[user@]host2:]file2
[[user@]host1:]file1
:用于指定源文件,user
为系统用户,host1
为源 IP 地址,file1
为文件或目录,可以是相对地址或绝对地址。[[user@]host2:]file2
:用于指定源文件,user
为系统用户,host2
为目标 IP 地址,file2
为文件或目录,可以是相对地址或绝对地址。
一般情况下使用简易语法足够,可以查看下面的使用示例。
scp 简易语法使用示例
复制文件到服务器
把本地文件复制到服务器 10.10.0.1
的 /home/user1
目录,使用用户 user1
:
scp sample.txt user1@10.10.0.1:/home/user1
复制文件到本地
把本地文件复制到服务器 10.10.0.1
的 /home/user1
目录,使用用户 user1
:
scp user1@10.10.0.1:/home/user1/sample.txt ./
复制目录到服务器
把本地目录复制到服务器 10.10.0.1
的 /home/user2
目录,使用用户 user2
,需要使用 -r
参数:
scp -r /home/user1/mydic user2@10.10.0.1:/home/user2
复制目录到本地
把本地目录复制到服务器 10.10.0.1
的 /home/user1
目录,使用用户 user1
,需要使用 -r
参数:
scp -r user1@10.10.0.1:/home/user1/mydic /home/user2/
scp 命令详细语法
scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file] [-l limit] [-o ssh_option] [[user@]host1:]file1 [...] [[user@]host2:]file2
scp 命令参数的解释请看下面的详细内容。
scp 命令使用示例
指定服务器 SSH 端口号
如果远程服务器的 SSH 服务运行在非默认端口(21,22),可以使用 -P 选项指定 SSH 端口号:
scp -P 2233 sample.txt user1@10.10.0.1:/home/user1/
保留文件属性
如果要保留复制文件的修改时间、访问时间和权限等属性,可以使用 -p 选项:
scp -p sample.txt user1@10.10.0.1:/home/user1/
启用压缩
对于大文件或者文件数量很多时,可以使用 -C 选项,启用压缩功能,加快传输速度:
scp -C sample.txt user1@10.10.0.1:/home/user1/
scp 命令中可用参数的解释
scp 命令常用参数解释
如下给出了 Linux scp 命令中常用参数的解释说明:
参数 | 解释说明 |
---|---|
-P port | 指定远程主机 SSH 端口号 |
-p | 保留文件修改和访问时间等属性 |
-q | 不显示进度表和非错误信息 |
-C | 在数据发送到目标机器时压缩数据 |
-r | 递归复制整个目录的内容 |
scp 命令其他参数解释
如下给出了 Linux scp 命令中其他参数的解释说明:
参数 | 解释说明 |
---|---|
-c cipher | 指定用于加密传输数据的密码,直接传递给 ssh |
-i dentity_file | 指定用于读取 RSA 身份验证(密钥)的文件,直接传递给 ssh |
-l limit | 限制使用的带宽,单位为Kbit/s |
-v | 输出详细信息,在进行调试连接、验证和配置问题时,非常有用 |
-B | 批量传输模式,避免重复询问口令 |
-q | 禁用进度表 |
- f ssh_config | 为 ssh 指定另一个用户配置文件,直接传递给 ssh |
-S program | 指定加密连接的程序名 |
-o ssh_option | 使用 ssh_config 中指定的格式向 ssh 传递选项,这对于没有指定独立 scp 命令行标志的选项时非常有用 |
-1 | 强制 scp 使用协议1 |
-2 | 强制 scp 使用协议2 |
-4 | 强制 scp 只使用IPv4地址 |
-6 | 强制 scp 只使用IPv6地址 |
结语
在本教程中我们介绍了如何使用 scp ( secure copy ) 命令使用 SSH 在两个位置之间(本地与服务器之间)安全地复制文件和目录、传输文件和目录。scp 命令基于 SSH(Secure Shell)协议,确保数据传输的安全性。
该 scp 命令可以在 Linux 系统中使用,也可以在 FreeBSD 系统中使用。