两台linux主机之间传送文件

本文介绍了两种在Linux主机间传输文件的方法:一是通过FTP工具先下载到本地再上传;二是直接使用scp命令进行远程拷贝,并详细解释了scp命令的具体用法。

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

在实际操作中,我们经常遇到要把一台linux主机上的文件拷贝到另一台linux主机上的事情。根据网络情况我们有两种方法。


方法一: 使用ftp工具先从一台linux主机上把要拷贝的文件拷到本地,然后再上传到目的linux主机上去。


方法二:使用scp命令

               具体操作:scp -P 9022 uPortal.tar.gz test@gztata.eicp.net:/home/tata/webapps_uportal

               说明:

                       -P表示目的主机的端口,默认的时候是22,不用写这个参数,不是默认的时候必须写-P加后来的端口

                       uPortal.tar.gz 为待传文件

                       test为目的主机的用户名

                       gztata.eicp.net 为目的主机的URL

                       /home/tata/webapps_uportal   是存放的路径




两台 Linux 系统之间实现文件互相访问,有多种方法可以实现,具体选择取决于使用场景、网络环境以及对性能和安全性的要求。以下是几种常见且实用的方案: ### 1. 使用 `scp` 命令进行安全复制 `scp`(secure copy)命令可以在本地与远程主机之间安全地复制文件,基于 SSH 协议加密传输,适用于一次性或脚本中调用的文件传输需求。 ```bash # 将本地文件复制到远程Linux系统 scp /path/to/local/file user@remote_host:/path/to/remote/directory # 从远程Linux系统复制文件到本地 scp user@remote_host:/path/to/remote/file /path/to/local/directory ``` 此方式适合小规模文件传输,并确保数据在传输过程中的安全性[^2]。 --- ### 2. 配置 `rsync` 实现高效同步 `rsync` 是一个快速、多功能的文件同步工具,支持增量备份和远程同步,非常适合定期同步两个 Linux 系统之间文件。 ```bash # 从本地同步到远程系统 rsync -avz /path/to/local/dir user@remote_host:/path/to/remote/dir # 从远程系统同步到本地 rsync -avz user@remote_host:/path/to/remote/dir /path/to/local/dir ``` 参数说明: - `-a`:归档模式,保留权限、时间戳等属性; - `-v`:显示详细信息; - `-z`:压缩传输数据以提高效率。 该方式适合需要频繁更新或大量数据同步的场景。 --- ### 3. 搭建 NFS(Network File System)共享目录 NFS 是一种分布式文件系统协议,允许一台 Linux 系统将某个目录挂载为远程系统的本地目录,实现透明访问。 #### 在服务端配置 NFS 共享: 编辑 `/etc/exports` 文件,添加如下内容: ``` /path/to/shared_directory client_ip(rw,sync,no_subtree_check) ``` 然后重启 NFS 服务: ```bash sudo systemctl restart nfs-kernel-server ``` #### 在客户端挂载 NFS 共享: ```bash sudo mount remote_host:/path/to/shared_directory /mnt/local_mount_point ``` 这种方式适合局域网内长期稳定的文件共享需求,具有高性能和低延迟的特点。 --- ### 4. 使用 Samba 实现跨 Linux 系统访问 虽然 Samba 主要用于 Linux 与 Windows 之间文件共享,但也可以用于 LinuxLinux 系统之间文件访问。Samba 提供了 CIFS/SMB 协议的支持,用户可以通过图形界面或命令行访问共享资源。 #### 安装并配置 Samba: 在服务端安装 Samba 并配置共享目录: ```bash sudo apt install samba sudo nano /etc/samba/smb.conf ``` 添加如下配置段落: ``` [shared] path = /path/to/shared_directory available = yes valid users = user read only = no browsable = yes ``` 重启 Samba 服务后,在客户端使用以下命令挂载: ```bash sudo mount -t cifs //remote_host/shared /mnt/local_mount_point -o user=username,password=password ``` 该方式适合希望通过标准网络协议实现共享的场景,尤其适用于混合操作系统环境[^3]。 --- ### 5. 利用 SSHFS 挂载远程文件系统 SSHFS(SSH Filesystem)是一个基于 FUSE 的文件系统模块,它允许将远程 Linux 系统的目录挂载为本地文件系统的一部分,所有操作均通过 SSH 加密通道完成。 #### 安装并使用 SSHFS: ```bash sudo apt install sshfs sshfs user@remote_host:/remote/path /local/mount/point ``` 卸载时使用: ```bash fusermount -u /local/mount/point ``` 该方式适合需要实时访问远程文件系统并且注重安全性的场景,特别适合开发调试和临时性任务。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值