游乐游手机版
首页/系统平台/文章详情

Linux SCP命令详解 远程文件传输与拷贝操作教程

时间:2026-05-10 14:41
在Linux系统管理与运维工作中,安全高效地传输文件是一项核心技能。SCP(Secure Copy Protocol)作为基于SSH协议的内置文件传输工具,以其加密传输、配置灵活的特性,成为系统管理员和开发者在服务器间同步数据的首选方案。它不仅支持端口自定义、密钥认证、目录递归复制,还能进行带宽限制

在Linux系统管理与运维工作中,安全高效地传输文件是一项核心技能。SCP(Secure Copy Protocol)作为基于SSH协议的内置文件传输工具,以其加密传输、配置灵活的特性,成为系统管理员和开发者在服务器间同步数据的首选方案。它不仅支持端口自定义、密钥认证、目录递归复制,还能进行带宽限制,功能全面且可靠。本文将深入解析SCP命令的详细使用方法,帮助你掌握远程文件拷贝的各类实战技巧。

Linux系统文件传输利器SCP用法 远程拷贝文件详细教程【教程】

一、SCP命令基本语法与传输方向

SCP命令的核心在于通过路径格式区分本地与远程位置,从而确定文件传输方向。本地路径为常规文件路径,远程路径则需遵循“用户名@主机地址:远程路径”的标准格式,末尾的冒号至关重要。文件是从本地推送到远程,还是从远程拉取到本地,完全由源路径和目标路径的写法决定。

1. 本地文件上传到远程服务器
将本地文件安全拷贝至远程主机指定目录:scp /path/to/local/file user@remote_host:/path/to/remote/directory/

2. 从远程服务器下载文件到本地
从远程主机获取文件并保存至本地目录:scp user@remote_host:/path/to/remote/file /path/to/local/directory/

3. 在远程服务器间中转传输文件
通过本地终端作为中转站,实现两台远程主机之间的文件拷贝:scp user1@host1:/file user2@host2:/destination/

二、指定SSH端口与使用密钥认证

为提高安全性,许多服务器会将SSH服务端口修改为非标准的22端口。此时,SCP命令需使用-P选项(大写P)明确指定端口号,且该选项需置于源路径之前。对于配置了密钥登录的服务器,则可结合-i选项指定私钥文件。

1. 向非标准端口服务器上传文件
假设目标服务器SSH端口为2222:scp -P 2222 file.txt user@192.168.1.100:/home/user/

2. 从特定端口下载文件并重命名
从指定端口拉取文件,并在本地保存时更改文件名:scp -P 2222 user@192.168.1.100:/var/log/syslog ./syslog_backup.log

3. 使用自定义密钥文件进行认证传输
通过指定密钥文件连接服务器并传输配置文件:scp -i ~/.ssh/id_rsa_custom -P 2222 config.conf user@192.168.1.100:/etc/

三、递归复制目录及子目录内容

SCP默认仅传输单个文件。如需完整拷贝整个目录及其内部所有子文件夹与文件,必须使用-r(递归)选项,否则会提示“not a regular file”错误。需注意目录路径末尾的斜杠会影响目标位置的存放结构。

1. 上传完整项目目录到服务器
递归上传本地项目文件夹至远程部署目录:scp -r ./my_project/ user@server.example.com:/opt/deploy/

2. 下载远程服务器配置目录进行备份
完整备份远程Nginx配置目录,保持原有层级结构:scp -r user@10.0.0.5:/etc/nginx/ ./backup_nginx/

3. 通过本地中转实现跨服务器目录迁移
将主机A的应用程序日志目录迁移至主机B的归档路径:scp -r user1@hostA:/var/log/app/ user2@hostB:/var/log/app_archive/

四、限制传输带宽与静默执行模式

传输大型文件时,为避免占满网络带宽影响其他服务,可使用-l选项(小写L)进行限速,单位为Kbit/s。此外,通过-q(安静)选项可关闭进度显示与提示信息,适用于自动化脚本中的静默传输场景。

1. 限速上传大型镜像文件
以不超过500 Kbit/s的速度上传系统ISO镜像:scp -l 500 ubuntu-22.04.iso user@192.168.1.200:/tmp/

2. 静默模式限速下载备份文件
无提示地以1 Mbit/s速度从备份服务器下载压缩包:scp -q -l 1000 user@backup.internal:/backup/data.tar.gz ./

3. 多参数组合实战:端口、密钥、限速与静默
综合使用多个选项完成安全、可控的文件传输:scp -q -P 2222 -i /keys/admin.key -l 2000 archive.zip user@172.16.0.10:/mnt/external/

五、文件过滤与避免覆盖的实用技巧

SCP命令本身未内置文件排除功能,但可借助Shell通配符实现基础过滤。默认情况下,SCP会直接覆盖目标路径同名文件。若需避免意外覆盖,可先通过SSH命令检测远程文件是否存在。对于更复杂的排除需求,推荐使用rsync工具,它兼容SCP语法且提供强大的过滤规则。

1. 仅传输特定扩展名的文件
使用通配符只上传当前目录下所有JPG图片文件:scp *.jpg user@192.168.1.100:/var/www/images/

2. 安全传输:避免覆盖远程已有文件
通过条件判断,仅在远程文件不存在时才执行拷贝操作:ssh user@192.168.1.100 'test ! -f /home/user/file.dat' && scp file.dat user@192.168.1.100:/home/user/

3. 使用rsync实现高级排除与同步
利用rsync排除所有临时文件,并通过指定端口进行同步备份:rsync -a vz --exclude='*.tmp' --rsh='ssh -p 2222' ./data/ user@192.168.1.100:/backup/

来源:https://www.php.cn/faq/2450885.html
上一篇Linux查看进程运行用户UID的ps命令详解与操作指南 下一篇Windows 11 语音转文字功能开启指南 提升文字录入效率
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Windows系统关闭完成设备设置提示禁用开机引导方法
系统平台 · 2026-06-03

Windows系统关闭完成设备设置提示禁用开机引导方法

Windows开机时“完成设备设置”提示常因OOBE流程未完成、账户同步残留或系统推荐服务引起。本文提供五种解决方法:关闭登录选项中的自动设置复原;禁用系统通知中的引导提示;清除本地OOBE缓存;修改注册表标记OOBE已完成;关闭账户同步的设置推荐服务。用户可按需选择处理。

Win10更新后变卡,关闭更新恢复系统流畅度
系统平台 · 2026-06-03

Win10更新后变卡,关闭更新恢复系统流畅度

电脑刚刚完成Windows 10更新,却感觉运行变得迟钝?鼠标拖拽不顺畅,程序启动缓慢,风扇持续高速运转——这是不少用户都曾遇到的困扰。别急着认定是硬件老化,问题很可能就出在本次更新上。新补丁有时会引发驱动兼容性问题,或意外激活某些非必要的后台服务,导致系统资源被悄悄消耗。 不必担心,以下方法能帮你

Win11更新导致音频服务消失 修复声卡服务教程
系统平台 · 2026-06-03

Win11更新导致音频服务消失 修复声卡服务教程

Win11系统更新后,任务栏音量图标突然失效,设备管理器中声卡驱动显示正常却没有任何声音输出——如果你正被这个问题困扰,那很可能是系统更新误删了音频服务的核心注册表配置。别担心,这通常不是硬件故障,只需按照以下系统化修复步骤操作,大概率能恢复音频功能。 一、强制重建音频服务注册表与可执行路径 声音消

统信UOS系统管理启动内核并切换旧版本的方法
系统平台 · 2026-06-03

统信UOS系统管理启动内核并切换旧版本的方法

在使用统信UOS系统时,系统更新后新内核与硬件出现兼容性问题并不罕见——例如网卡突然无法连接、显卡渲染出现异常,或是触摸板完全失灵。遇到这种情况不必急着重装系统,多数时候只需手动切换回一个经过验证的旧版内核,问题就能顺利解决。下面这份操作指南将带你一步步完成从排查到永久切换的完整流程。 一、查看当前

Win11系统托盘永久显示关闭自动隐藏技巧
系统平台 · 2026-06-03

Win11系统托盘永久显示关闭自动隐藏技巧

你是否也曾为Windows 11任务栏右下角的系统托盘图标自动隐藏而感到困扰?常用的网络、音量或第三方应用图标总是悄悄“折叠”起来,必须点击那个小箭头才能展开查看。这其实是系统默认的“动态隐藏”策略在起作用,旨在保持任务栏简洁。但如果你和我一样,更希望所有图标一目了然、随时可用,那么彻底关闭这个自动