Skip to content

Linux 账号间文件传输教程

在 Linux 系统中,不同账号(或不同机器之间)的文件传输通常使用 scprsync 命令。它们都基于 SSH 协议,安全可靠。


一、scp 命令

scp(secure copy)用于在本地和远程之间传输文件或目录。

基本语法

scp [参数] 源路径 目标路径

常用参数:

  • -r:递归复制整个目录
  • -P:指定端口(默认是 22)
  • -C:启用压缩,提高传输速度

常见用法

1.从本地上传文件到远程服务器(ip为176.0.250.88)

scp file.txt username@176.0.250.88:/home/user/

2.从远程服务器下载文件到本地

scp username@176.0.250.88:/home/user/file.txt /local/path/

3.上传整个目录

scp -r myfolder username@176.0.250.88:/home/user/

4.指定 SSH 端口

scp -P 2222 file.txt username@176.0.250.88:/home/user/

二、rsync 命令

rsync 更适合大文件或需要增量同步的场景。它只传输差异部分,比 scp 更高效。

基本语法

rsync [参数] 源路径 目标路径

常用参数:

  • -a:归档模式,保留权限、时间戳、符号链接等(常用)
  • -v:显示详细信息
  • -z:传输时压缩
  • -u:只更新比目标文件新的文件,避免覆盖较新的目标文件。
  • -t:保留文件的修改时间
  • --progress:显示传输进度

常见用法

1.从本地上传文件/目录到远程

rsync -avzut myfolder username@176.0.250.88:/home/user/myfolder/

2.从远程下载文件/目录到本地

rsync -avzut username@176.0.250.88:/home/user/myfolder/ /local/path/

3.显示进度

rsync -avzut --progress file.txt username@176.0.250.88:/home/user/

三、选择建议

  • 一次性文件传输:用 scp,命令简单。
  • 大文件/频繁同步:用 rsync,传输效率更高。