使用croc命令在Linux系统电脑之间传输文件和文件夹

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 使用croc命令在Linux系统电脑之间传输文件和文件夹

微信图片_20220419171106.jpg在两台或多台计算机之间传输文件的方法有很多。你可以使用基于服务器的文件共享工具,点对点文件共享app,U盘,外部硬盘驱动器,SCP,NFS,FTP,HTTP,云存储平台等等。本文将介绍一个名为 croc 的命令行工具,可以让你轻松、快速、安全地在计算机之间传输文件和文件夹。使用 croc 工具传输数据的速度很快,因为它充当系统之间的中继服务器。它在两台计算机之间创建了全双工实时通信层,因此「上传」和「下载」任务在两台计算机之间同时发生。croc 使用密码验证密钥交换(PAKE)库提供端到端加密。PAKE库允许两个人使用双方都知道的弱密钥来生成强密钥。然后将此密钥用于进一步加密。由于密钥仅由发送者和接收者知道,因此即使第三者知道原始密码,也没有办法知道秘钥。croc 能够一次在计算机之间传输多个文件。如果数据传输由于任何原因而中断,下次传输的时候它可以从上次中断的地方继续进行文件传输。由于 croc 使用中继,因此你不需要中央服务器或端口转发。它是一个跨平台的应用程序,因此你可以在 Linux,Mac 和 Windows 平台之间传输数据。简而言之, croc 执行以下操作:

  • 使用中继在两台计算机之间传输数据,
  • 使用 PAKE 库提供 端到端加密
  • 一次传输多个文件
  • 断点续传,
  • 不需要中央服务器端口转发,
  • ipv6-first 和 ipv4 后备,
  • 零依赖性,
  • 跨平台
  • 免费和开源。

croc 使用 Go 编程语言所编写,并遵从 MIT 许可免费提供。

在Linux上安装Croc工具

可以在 Bash 上使用以下命令将 croc 安装在所支持的任何 Linux 和 Unix 发行版上:

$ curl https://getcroc.schollz.com | bash

这个命令将把 croc 源码下载到本地并安装在 /usr/local/bin/ 目录下。如果你不想直接注入Shell,可以从**发行版页面**下载预编译的二进制文件,并使用发行版的软件包管理器进行安装。例如,在Ubuntu系统上可以使用以下命令安装 Croc deb 文件:

$ sudo apt install gdebi

$ sudo gdebi croc_8.3.2_Linux-64bit.deb

你可以使用 pacmancroc 安装在 Arch Linux 及其衍生版本中:

$ pacman -S croc

在 NixOS 上,执行以下命令进行安装:

$ nix-env -i croc

croc 也可用 snap 方式进行安装:

$ snap install croc

如果您已在 Linux 系统上安装了 Go 环境,也可以从源代码编译 croc  。

$ GO111MODULE=on go get -v github.com/schollz/croc/v8

使用Croc在计算机之间传输文件和文件夹

在使用之前,先确保在所有系统上都安装了 croc要使用 croc 传输文件/文件夹,只需运行:

$ croc send <文件或文件夹路径>

例:

$ croc send file.txt

croc 将生成如下的随机代码短语,相当于暗号。

Sending 'file.txt' (116 B)

Code is: slow-tomato-almond

On the other computer run


croc slow-tomato-almond

在这里,代码短语(暗号)是 slow-tomato-almond。该代码短语用于建立经过密码验证的密钥协议(PAKE),该协议会生成供发送方和接收方用于端到端加密的秘钥。如果想要在另一台计算机上接收上述文件,那么收件人应输入上述输出的最后一行命令:

$ croc slow-tomato-almond

y,然后按回车键来接收文件。

Accept 'file.txt' (116 B)? (y/n) y


Receiving (<-192.168.225.37:9009)

file.txt 100% |████████████████████| (116/116 B, 32.966 kB/s) [0s:0s]

输出示例:微信图片_20220419171109.jpgpic

目录
相关文章
|
4天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
20 11
|
1月前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
217 14
|
1月前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
95 6
|
1月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
97 8
|
1月前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
273 6
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
281 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1019 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
158 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
132 2
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
89 14
Linux 10 个“who”命令示例