前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Linux和Unix中通过网络快速传输大文件

如何在Linux和Unix中通过网络快速传输大文件

作者头像
入门笔记
发布2022-06-02 18:45:54
1.6K0
发布2022-06-02 18:45:54
举报
文章被收录于专栏:入门小站入门小站

在 GNU/Linux 中的两个系统之间通过网络快速传输大文件

确保你在系统上安装了netcat和pv应用程序。如果尚未安装它们,你可以如下所示安装它们。大多数 Linux 系统默认提供tar包,不必额外安装。

在 Arch Linux 及其衍生产品上:

代码语言:javascript
复制
$ sudo pacman -S netcat pv

在 RHEL、CentOS、Fedora 上:

代码语言:javascript
复制
$ sudo yum install epel-release
代码语言:javascript
复制
$ sudo yum install nc pv

代码语言:javascript
复制
$ sudo dnf install nc pv

在 Debian、Ubuntu、Linux Mint 上:

代码语言:javascript
复制
$ sudo apt-get install netcat pv

现在让我们看看如何在两个系统之间快速复制大文件。为此,请在接收节点(目标系统)上以root用户身份运行以下命令:

代码语言:javascript
复制
# netcat -l -p 7000 | pv | tar x

在源服务器上,以root用户身份运行此命令:

代码语言:javascript
复制
# tar cf - * | pv | netcat 192.168.1.105 7000

在这里,192.168.1.105是我的目标系统。 tar cf - *会将当前工作目录中的所有内容复制到目标系统,并在另一端提取文件。

注意:在 RHEL、CentOS 系统上,使用nc而不是netcat,如下所示。并且,你需要将端口7000添加到目标系统上的 iptables/firewall-cmd。

在目标系统上添加端口后,你可以传输较大的文件,如下所示。

在目标系统上:

代码语言:javascript
复制
# nc -l -p 7000 | pv | tar x

在源系统上:

代码语言:javascript
复制
# tar cf - * | pv | nc 192.168.1.105 7000

此外,你可以指定一个特定的文件,如下所示。

代码语言:javascript
复制
# tar cf - /home/sk/test.file | pv | netcat 11105 7000

请注意,两个系统都应该安装了netcat

此外,你不会在双方看到任何文件传输完成的迹象。这些命令将一直运行,直到你手动停止它们。你需要使用du -h <filename>命令手动检查两个系统上的文件大小。如果目标系统中的文件大小与源系统中的相同,则可以假设文件传输过程已完成并按CTRL+C退出命令。

在 Unix 中的两个系统之间快速传输大文件

在 Unix 操作系统上,netcat被称为 nc。因此,要通过网络在系统之间复制大文件,命令将是:

在目标系统上:

代码语言:javascript
复制
# nc -l 7000 | pv | tar -xpf -

在源系统上:

代码语言:javascript
复制
# tar -cf - * | pv | nc 192.168.1.105 7000

同样,这些命令应该以 root用户身份运行。而且,源系统和目标系统都应该安装了 netcat 和 pv。使用 netcat 和 tar 通过 LAN 传输大文件确实可以为你节省大量时间。

请注意:此方法没有安全性。因为,正如你在上面的示例中看到的那样,任何一方都没有身份验证。你只需要知道目标系统的 IP 地址。建议仅在受保护的网络内使用 netcat 传输文件。如果你对安全性有顾虑,我强烈建议你使用scp命令。

如果你的安全性对你如此重要,你可以使用Rsync安全地传输文件。

代码语言:javascript
复制
$ rsync -ravz /path/to/source/rumenz/ destination-ip:/path/on/rumenz
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在 GNU/Linux 中的两个系统之间通过网络快速传输大文件
  • 在 Unix 中的两个系统之间快速传输大文件
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档