linux命令怎么从服务器下载文件夹?,scp命令怎么用。

从服务器下载文件夹,最直接、最稳妥的命令是scp -r,例如scp -r 用户名@服务器IP:/远程目录 /本地目录,它会递归复制整个文件夹。很多新手习惯用rz或sz,但面对文件夹时往往会卡住,因为sz只能传单个文件,今天这篇内容,咱们就把“从服务器下载文件夹”这件事聊透,从最常规的scp到断点续传的rsync,再到一些特殊场景的处理方案,帮你按需选择。

scp下载整个文件夹:基础但够用

scp(Secure Copy Protocol)基于SSH协议传输数据,安全且无需额外配置,是大多数服务器自带的功能。

2.12-scp通过命令上传下载文件、文件夹
加载中
2.12-scp通过命令上传下载文件、文件夹

scp下载文件夹的标准语法

命令格式如下:

scp -r [选项] 用户名@服务器地址:远程文件夹路径 本地保存路径

举例说明,假设服务器IP是168.1.100,用户名为root,想把服务器上/data/logs/这个目录下载到本地/home/user/backup/:

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

执行后会提示输入密码,输入正确密码即开始传输。-r参数是递归(recursive)的缩写,不加它就没法复制目录。

scp下载文件夹的常见选项

  • -P(大写):指定SSH端口,如果服务器SSH端口不是默认的22,比如是2222:

    scp -r -P 2222 root@192.168.1.100:/data/logs /home/user/backup/

    很多人会把-P写成小写-p,实际小写-p是保留文件修改时间,端口要用大写,这也是报错“连接失败”的常见原因之一。

  • -i:指定私钥文件,用密钥登录时使用:

    scp -r -i ~/.ssh/id_rsa root@192.168.1.100:/data/logs /home/user/backup/
  • -C:开启压缩传输,对文本类文件(如日志、代码)效果明显,能减少传输量,但对已压缩的文件(如zip、jpg)反而增加CPU开销。

scp下载文件夹的两个常见报错

  • 提示Permission denied (publickey,password)

    排查顺序:先确认用户名和密码是否正确,再确认SSH端口是否写错(用-P指定),最后看服务器端/etc/ssh/sshd_config里有没有禁用密码登录。

  • 提示No such file or directory

    先确认远程路径是否存在,部分服务器出于安全考虑会把用户限制在/home/用户名目录下,绝对路径要写对,不确定路径时,先通过SSH登录服务器,用ls或pwd确认实际路径再执行。

linux命令怎么从服务器下载文件夹?,scp命令怎么用。

linux从服务器下载文件夹到本地目录:rsync更适合大文件夹

如果你的需求是linux从服务器下载文件夹到本地目录,且文件夹体积大、文件数量多,或者传输过程中网络不稳定,rsync比scp更靠谱它支持断点续传,且能增量同步。

rsync复制文件夹的基础用法

rsync -avz 用户名@服务器地址:/远程文件夹路径/ 本地保存路径/

这里注意源路径末尾的斜杠:加斜杠表示复制目录内的内容,不加斜杠会把目录本身也复制过来。

rsync -avz root@192.168.1.100:/data/logs/ /home/user/backup/

这会把logs下的所有文件复制到backup/里面;如果想去掉末尾斜杠,则会得到一个backup/logs/的嵌套结构。

rsync断点续传与增量同步

大文件夹传输到一半断开,scp只能重头再来,rsync则支持断点续传,加--partial参数让已传完的部分保留,下次执行时继续:

rsync -avz --partial --progress root@192.168.1.100:/data/logs /home/user/backup/

--progress会显示实时传输速度和进度百分比,方便观察传输状态,对于定期备份的场景,利用rsync的增量特性,第二次同步只会传新增或修改的文件,速度明显更快。

rsync与scp的选择参考

对比维度 scp rsync
断点续传 不支持 支持
增量同步 不支持 支持
压缩传输 -C -z
适合场景 一次性小文件夹 大文件夹、多次备份
加密通道 SSH SSH(默认)

下表是概览:小文件、一次性、临时用scp简单直接,不需要额外安装;大目录、反复传、断网频繁rsync更省心。

其他下载文件夹的方案:zip打包与lrzsz

除了scp和rsync,不同场景下还有其他解法。

先打包再下载:应对海量小文件

如果文件夹里有几十万个图片或日志文件,直接scp -r会为每个文件建立SSH通道,效率极低。行业共识是先在服务器上打成压缩包,再下载单个文件:

tar -zcvf logs.tar.gz /data/logs/
scp root@192.168.1.100:/data/logs.tar.gz /home/user/backup/

打完包之后文件体积大幅缩小,小文件的传输速度问题也得到了缓解,下载后本地解压:

tar -zxvf logs.tar.gz

对于超大目录,可以分卷压缩并配合上面的scp或rsync逐卷下载,避免单文件体积超出磁盘限制。

linux命令怎么从服务器下载文件夹?,scp命令怎么用。

lrzsz工具:适合内网小文件

lrzsz提供rz(上传)和sz(下载)两个命令,登录服务器后直接执行sz 文件名即可弹出本地保存窗口,但它不支持文件夹递归下载,如果是目录,需要先打包成tar.gz再执行sz,它依赖终端软件的交互支持(如Xshell、SecureCRT),不适合纯命令行环境或自动化脚本,场景上更多是内网临时传几个小配置文件,比如查看nginx配置时顺手下载一份。

linux命令从服务器下载文件夹遇到的权限与端口问题

日常运维中,下载文件夹失败多数集中在这几类问题,这里按出现频率依次排查。

权限不足导致下载失败

远程文件夹没有读权限,或本地目录没有写权限,都会报Permission denied。

远程端排查(SSH登录后执行):

  • 当前用户对该目录是否有r和x权限:ls -ld /data/logs
  • 目录内文件是否可读:ls -l /data/logs | head

本地端排查:

  • 本地目录是否有写权限,比如下载到/root/没问题,但下载到/etc/可能就不行了,优先选择一个业务权限范围内的路径,比如/home/用户名/或/tmp/。

SSH端口非默认导致连接不上

很多云服务器出于安全考虑把SSH端口从22改成了其他端口,执行scp时忘记带-P参数,就会连接超时或拒绝连接,用-P指定:

scp -r -P 2222 root@192.168.1.100:/data/logs /home/user/backup/

顺带提一句:rsync如果走SSH通道且端口非22,也需要指定-e参数:

rsync -avz -e "ssh -p 2222" root@192.168.1.100:/data/logs /home/user/backup/

大文件夹传输速度慢的优化思路

既然已经走到了“linux命令怎么从服务器下载文件夹”这一步,速度往往是绕不开的痛点。据统计,多数云服务器下行带宽在1Mbps到10Mbps之间,大文件夹传输慢很多时候是带宽瓶颈。

  • 提速首选rsync配合压缩:-avz开启压缩,高文本比例目录能明显减少传输体积。
  • 其次考虑压缩打包:先tar -zcvf再传,把大量小文件合并为一个流,降低SSH通道的建立开销。
  • 如果你的服务器带宽确实小,还可以尝试rsync --bwlimit限速,避免占满带宽导致其他业务受影响。

更多实用下载命令的补充

排除指定子目录进行下载

scp

linux命令怎么从服务器下载文件夹?,scp命令怎么用。

没设计排除功能,但rsync支持--exclude:

rsync -avz --exclude 'cache/' --exclude '.tmp' root@服务器:/data/ /本地目录/

这个命令跳过了名为cache的目录和所有.tmp后缀文件,对目录结构复杂的项目非常实用,避免了把垃圾文件一并拉回本地。

Windows环境下载服务器文件夹的命令

如果用的是Windows的PowerShell或CMD,系统不自带scp和rsync,但Windows 10 1803及以上版本内置OpenSSH客户端,直接打开PowerShell执行同样的scp命令即可,语法与Linux一致:

scp -r root@192.168.1.100:/data/logs D:backup

Windows 7或老版本系统,可以安装Git for Windows(自带OpenSSH)或PuTTY的pscp工具,后者语法稍有不同(用小写-r保持一致,但端口参数为-P),不过核心逻辑相同。

常见问题解答

scp下载文件夹和rz下载文件夹有什么区别?

sz是ZMODEM协议,依赖于终端软件的交互窗口,不能直接指定远程路径,也无法递归下载文件夹;scp基于SSH协议,可以在命令行中指定完整路径、支持递归下载,适合自动化脚本和远程批量操作,如果你的目标是Linux服务器之间传输文件夹,scp是标准做法;如果是Windows本机用Xshell连服务器,偶尔拉取一两个文件,sz更顺手。

下载文件夹时终端出现假死或长时间无响应,如何处理?

先按Ctrl+C中断当前任务,如果网络本身没问题,先确认文件夹大小,比如先du -sh /data/logs查看体积;再改用rsync加--partial --progress参数重新下载,利用断点续传跳过已传输的部分,如果是服务器文件数过多(超过几万个小文件),建议先在服务器端打tar包再传输。

如何在本地用一条命令从多个服务器下载文件夹?

写一个简单的循环脚本,把服务器列表和路径按行组织:

for server in user@192.168.1.101 user@192.168.1.102; do
  scp -r $server:/data/app/config ./configs/$(basename $server)/
done

也可以把所有命令写入一个.sh文件,逐行执行,适合多节点配置备份。权且先记下来,真正需要时直接改IP和路径就能跑。


无论用scp -r还是rsync,核心都是基于SSH的加密传输,选哪一个取决于文件大小、断网风险和增量备份需求,日常小文件夹用scp最省事,大场景优先考虑rsync,如果传输总是不成功,按顺序检查端口、权限、路径这三个变量,大部分问题都能解决。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e5%91%bd%e4%bb%a4%e6%80%8e%e4%b9%88%e4%bb%8e%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8b%e8%bd%bd%e6%96%87%e4%bb%b6%e5%a4%b9%ef%bc%9f%ef%bc%8cscp%e5%91%bd%e4%bb%a4%e6%80%8e%e4%b9%88%e7%94%a8%e3%80%82/

赞 (0)
如何检查Windows服务器是否被登录过,远程登录记录在哪看
上一篇 2026年9月23日 16:32
联想SR588服务器多少钱一台,配置参数怎么样?
下一篇 2026年9月23日 16:35

相关推荐

  • AI智能客服机器人有哪些常见问题?智能客服系统故障解决方法

    AI智能客服机器人的核心痛点在于语义理解偏差、复杂场景下的流程断裂以及数据隐私合规风险,解决之道在于构建“大模型+知识库+人工兜底”的混合架构,而非单纯依赖单一算法,许多企业在引入AI客服时,往往陷入“技术万能”的误区,认为只要部署了机器人就能彻底替代人工,现实情况是,如果产品底层逻辑存在缺陷,AI不仅无法降本……

    2026年6月7日
    4800
  • ZoroCloud四月香港美国VPS三网CN2GIA好用吗?VPS推荐性价比高

    ZoroCloud四月限时优惠提供香港与美国节点,强制标配CN2 GIA/9929三网加速线路,配合Cera高防IP免费接入,可稳定解锁ChatGPT及TikTok,全场75折仅需输入优惠码,在跨境网络服务领域,稳定性与速度始终是用户最核心的痛点,ZoroCloud此次推出的四月限定方案,直击国内用户访问海外服……

    2026年6月26日
    2400
  • SQL数据库服务器端口号怎么查,sql默认端口是多少?

    查看SQL数据库服务器端口号,最直接的方法是打开SQL Server配置管理器,进入TCP/IP协议的“IP地址”选项卡查看IPAll中的TCP端口;命令行场景用 netstat -ano | findstr “1433” 也能快速定位监听端口,为什么先要搞清楚SQL数据库服务器端口号端口号可以理解成数据库对外……

    2026年9月20日
    000
  • 友用t3产品服务器视频怎么打开,打不开原因有哪些?

    友用t3产品服务器打开视频的核心操作是:通过管理后台或SSH工具登录服务器,确认视频文件路径与格式,再借助自带的播放器或第三方串流服务完成访问,整个过程并不复杂,但不少用户卡在“找不到入口”这一步,下面把从登录到播放的完整链路拆开讲透,登录服务器:先拿到那把钥匙视频打不开,八成不是服务器坏了,而是你还没进对门……

    2026年10月15日
    100
  • 端游cf一直连接服务器怎么办,连接超时解决方法

    端游cf正在连接服务器卡住,最直接的操作是彻底退出游戏进程后重启客户端,同时检查本地网络到官方服务器的连通性,一般能解决掉线提示,很多老玩家都遇到过这个情况,游戏打开后一直停在“正在连接服务器”这个界面,转圈转了十几秒甚至一分多钟,最后弹出一个连接失败的提示,这里不是说你的号有问题,也不是电脑配置不行,绝大多数……

    2026年10月5日
    000
  • 联想SR550服务器如何U盘启动?,设置步骤是什么?

    联想SR550服务器设置U盘启动,最快的方式是先插U盘开机狂按F12,在弹出的引导菜单里直接选U盘回车;想永久生效则开机按F1进BIOS,在Boot Manager里把U盘调到第一位,这个操作本身不难,但很多朋友卡在认不出U盘或者改了设置不生效,本文把两种方式和踩坑点一次性说透,联想sr550 u盘启动按什么键……

    2026年10月3日
    000
  • MT4服务器连接速度慢怎么办,MT4连接速度慢是什么原因?

    MT4服务器连接速度慢,核心解决方法只有三类:换服务器节点、优化本地网络、改用VPS托管,其中90%的情况下优化本地网络就能明显改善,mt4服务器连接速度慢怎么解决:先分清问题出在哪一环连接速度慢是个宽泛感受,实际操作中你要先定位卡在哪个环节,打开MT4右下角的连接状态,观察数字跳动,同时按Ctrl+M打开市场……

    2026年10月8日
    200
  • 为什么构建ftp服务器无法访问?ftp服务启动失败怎么解决

    构建FTP服务器无法访问的核心原因通常集中在防火墙端口未放行、被动模式(PASV)配置错误或本地网络NAT映射失败,优先检查防火墙规则与PASV端口范围设置即可解决绝大多数连接问题,FTP协议不同于HTTP,它使用两个独立的通道:控制通道(默认端口21)用于发送指令,数据通道(默认端口20及动态端口)用于传输文……

    2026年5月25日
    5700
  • 如何查看服务器的ftp账号密码?,ftp密码怎么查?

    FTP账号密码是连接服务器进行文件传输的核心凭证,通常由服务器服务商在开通时提供,或由管理员在服务器面板中自行创建,查看方法完全取决于你使用的服务器类型和面板环境,ftp账号密码是什么意思?核心概念解析FTP账号密码的基本作用FTP(File Transfer Protocol)是文件传输协议,用来在服务器和本……

    程序编程 2026年8月10日
    1100
  • 深圳LOL服务器最近延迟高怎么办,LOL延迟高怎么解决?

    深圳玩家近期遭遇《英雄联盟》高延迟,核心原因大概率不在腾讯服务器本身,而是跨网路由拥堵与本地网络出口负载,物理距离并非主要矛盾,作为常年驻扎在深圳的召唤师,我太懂那种看着延迟从23ms瞬间跳到90ms,甚至团战时刻飙到150ms的无力感了,很多人第一反应是“腾讯是不是把服务器搬走了”,其实不然,深圳地理位置特殊……

    2026年9月27日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注