Decentralization? We're still early!

如何批量下载Linux服务器远程文件夹中的文件

  • 如何批量下载Linux服务器远程文件夹中的文件

    發布人 Brave 2025-07-16 12:15

    方案一:使用 scp 命令

    scp (secure copy) 是一个基于 SSH 协议在网络主机之间安全传输文件的命令行工具。要通过一个非标准端口下载整个文件夹,你需要结合 -P-r 选项。

    命令格式:

    scp -P [端口号] -r [远程用户名]@[远程服务器IP或域名]:/path/to/remote/folder /path/to/local/directory

    参数详解:

    • -P [端口号](大写的P) 这是关键。它告诉 scp 连接到远程服务器的哪个SSH端口。 
    • -r:代表 "recursive"(递归),用于复制整个目录及其中的所有内容。
    • [远程用户名]@[远程服务器IP或域名]:你用于登录远程服务器的凭据和地址。
    • :/path/to/remote/folder:远程服务器上你想要下载的文件夹的绝对或相对路径。
    • /path/to/local/directory:你希望将文件夹下载到本地机器的哪个位置。你也可以使用 . 来代表当前所在的目录。

    具体示例:

    假设您的情况如下:

    • 远程服务器IP: 192.168.1.100
    • 特殊SSH端口: 2222
    • 远程服务器用户名: ubuntu
    • 要下载的远程文件夹路径: /home/ubuntu/project_files
    • 要保存到的本地路径: /home/myuser/downloads

    那么,你需要在你的本地计算机上打开终端,并执行以下命令:

    scp -P 2222 -r ubuntu@192.168.1.100:/home/ubuntu/project_files /home/myuser/downloads

    执行过程:

    1. 系统会提示你输入 ubuntu 用户在远程服务器 192.168.1.100 上的密码(除非你已经配置了SSH密钥免密登录)。
    2. 验证通过后,scp 将开始递归地将远程的 project_files 文件夹复制到你本地的 /home/myuser/downloads 目录下。

    方案二:使用 rsync 命令(更强大,功能更丰富)

    虽然你指定了想用 scp,但在批量传输文件,尤其是大文件或数量多的文件时,rsync 是一个更优越的工具。

    rsync 的优势:

    • 增量同步: 只传输源和目标之间有差异的文件部分,这使得第二次及以后的同步速度极快。
    • 断点续传: 如果传输过程中断,下次可以从中断处继续传输,而 scp 需要从头开始。 
    • 更丰富的选项: 可以更好地控制文件权限、所有权、排除特定文件等。

    rsync 命令格式:

    rsync 通过 -e 选项来指定用于连接的 shell 命令,我们可以在这里传入带特殊端口的 ssh 命令。

    rsync -avz -e 'ssh -p [端口号]' [远程用户名]@[远程服务器IP或域名]:/path/to/remote/folder /path/to/local/directory

    参数详解:

    • -a:归档模式,相当于 -rlptgoD 的集合,能保留大部分文件属性。
    • -v:详细模式,显示传输过程。
    • -z:传输时进行压缩,提高效率。
    • -e 'ssh -p [端口号]':这是指定特殊端口的关键。它告诉 rsync 使用 ssh 作为传输协议,并连接到特定端口(注意,ssh 的端口参数是小写的p)。

    同样使用上面的示例,rsync 命令如下:

    rsync -avz -e 'ssh -p 2222' ubuntu@192.168.1.100:/home/ubuntu/project_files /home/myuser/downloads

    总结

    特性scprsync
    易用性非常简单,适合一次性传输稍微复杂,但功能更强大
    指定端口-P (大写)-e 'ssh -p [端口号]' (ssh用小写p)
    文件夹传输-r-a (归档模式,更常用)
    断点续传不支持支持
    效率每次都完整传输增量传输,更高效
    适用场景简单的、一次性的文件或小文件夹传输大批量文件、文件夹同步、备份、可能中断的传输

    对于你的下载需求,使用 scp 完全足够且直接。如果你未来需要频繁同步该文件夹或传输非常大的数据,建议花时间学习并使用 rsync

    Brave 回复 1 minute ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在