Linux 远程传送或同步文件

本文介绍rsync命令的不同使用场景及参数配置,包括通过SSH协议进行本地与远程目录之间的同步操作,并展示了如何利用sshfs将远程目录挂载至本地以方便日常文件管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Use rsync to synchronization

一般我们使用 rsync 有两种认证方式,

rsync-daemon方式,需要配置本地文件,灵活性一般
ssh方式,直接远程连接传输,简单粗暴

记录一下相关命令参数,以防忘记。

同步需求

本机:本机用户 bear,/home/bear/mydir 目录

远程服务器:root@114.215.183.37 ,USE 用户 bear 下 /home/bear/workdir 目录

命令使用

从本地同步到远程

默认 SSH 端口

rsync -avz -e ssh /home/bear/mydir root@114.215.183.37:/home/bear/workdir

指定 SSH 端口

rsync -avz -e 'ssh -p 5555' /home/bear/mydir root@114.215.183.37:/home/bear/workdir

从远程同步到本地

默认 SSH 端口

rsync -avzP -e ssh root@114.215.183.37:/home/bear/workdir /home/bear/mydir

指定 SSH 端口

rsync -avzP -e 'ssh -p 5555' root@114.215.183.37:/home/bear/workdir /home/bear/mydir

Linux 使用 sshfs 挂载远程目录到本地

挂载远程目录的方式很多,这里把 sshfs 记录一下备忘。

安装 sshfs

在 Ubuntu 下,只需要使用

\$ sudo apt-get install sshfs

一共才 140kB

挂载远程目录到本地

\$ sshfs user@hostIP:path MountDir

例如

\$ sshfs Suzzz@192.168.103.111:/home/Suzzz ~/Tmp/

这样就把远程目录 /home/Suzzz 挂载到了本地的 ~/Tmp

这样的挂载,在文件管理器中也是可见的。

现在可以在终端或者图形界面来访问这个目录了

卸载

fusermount -u MountDir

rsync -avz --exclude-from=./exclude.txt -e ssh ~/Projects/marsai pi@192.168.10.147:~

### Linux远程传输文件的命令 #### SCP 命令详解 SCP(Secure Copy Protocol)是一种基于 SSH 协议的安全文件拷贝工具,主要用于在本地计算机和远程主机之间进行文件传输。SCP 支持两种主要操作模式: - 将本地文件复制到远程主机(上传) - 将远程文件复制到本地(下载) 由于 SCP 使用 SSH 协议作为底层通信机制,在执行任何文件传输之前,目标机器上的 SSH 服务必须处于活动状态[^1]。 为了提高安全性,SCP 在整个传输过程中会对所有交换的数据实施加密处理,从而保护敏感信息免受窃听攻击[^3]。 以下是使用 SCP 的基本语法示例: ```bash # 把本地文件复制到远程主机 (上传) scp /path/to/local/file username@remote:/path/to/destination/ # 把远程文件复制到本地 (下载) scp username@remote:/path/to/remotefile /path/to/local/ ``` 如果需要指定不同的端口,则可以添加 `-P` 参数来定义自定义端口号: ```bash scp -P port_number /path/to/localfile user@host:/path/to/remotefile ``` #### RSYNC 命令详解 RSYNC 是一种更高级别的同步工具,不仅能够完成类似于 SCP 的功能,还提供了额外的功能特性,比如增量备份和支持更多的选项配置。这意味着当源文件发生变化时,只需发送更改部分而不是重新传送整个文件,这大大提高了效率并减少了带宽消耗[^2]。 下面是一些常见的 RSYNC 应用场景及其对应的命令格式: ```bash # 同步本地文件夹至远程服务器 rsync -avz /local/directory/ user@remote:/remote/directory/ # 从远程服务器拉取文件夹到本地 rsync -avz user@remote:/remote/directory/ /local/directory/ # 如果要使用特定端口可以通过如下方式实现 rsync -e "ssh -p port_number" -avz /source/path/ destination_path/ ``` 其中 `-a` 表示存档模式,保持原有属性;`-v` 显示详细过程;而 `-z` 则启用压缩以加快速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值