在两台或多台计算机之间传输文件的方法有很多。你可以使用基于服务器的文件共享工具,点对点文件共享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 runcroc slow-tomato-almond

在这里,代码短语(暗号)是 slow-tomato-almond。该代码短语用于建立经过密码验证的密钥协议(PAKE),该协议会生成供发送方和接收方用于端到端加密的秘钥。

如果想要在另一台计算机上接收上述文件,那么收件人应输入上述输出的最后一行命令:

$ croc slow-tomato-almond

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

Accept 'file.txt' (116 B)? (y/n) yReceiving (<-192.168.225.37:9009)
file.txt 100% |████████████████████| (116/116 B, 32.966 kB/s) [0s:0s]

输出示例:

pic

设置自定义代码短语

每次发送文件或文件夹时, croc 都会生成一个随机代码短语,但因为每次都不一样,使用起来还是不太方便。所以我们可以自定义一个代码短语,提高效率。可以使用 --code 参数来设置自定义代码短语来发送文件/文件夹。

$ croc send --code download-this file.txt

这里的download-this 就是我们自定义的代码短语。

输出示例:

Sending 'file.txt' (116 B)
Code is: download-this
On the other computer runcroc download-this

收件人可以使用以下命令接收文件(使用自定义的代码短语):

$ croc download-this

使用Croc发送带有自定义代码的文件和文件夹

发送文本

就像文件和文件夹一样,我们也可以共享文本。当你要共享消息或者 URL 时可以用这种方式。

如果要使用 croc 发送文本,可以运行以下命令:

$ croc send --text "Hello!!"

输出示例:

Sending 'text'
Code is: natural-roof-clock
On the other computer runcroc natural-roof-clockSending (->[fe80::a00:27ff:fe10:7cc1%wlp9s0]:39916)

收件方需要使用以下命令获取文本:

$ croc natural-roof-clock
Accept 'text' ? (y/n) yReceiving (<-[fe80::d710:cf4:bb49:8b20%enp0s8]:9009)
Hello!!

使用croc发送文本

使用管道

你可以将文件的输出通过管道传输到 croc 作为它的输入,如下所示。

$ cat file.txt | croc send

输出示例:

Sending 'stdin' (116 B)
Code is: dexter-cowboy-soprano
On the other computer runcroc dexter-cowboy-soprano

croc 将自动使用 stdin 数据并发送文件,分配文件名,例如“ croc-stdin-728899651”。

在接收端,用户可以使用以下命令接收文件:

$ croc dexter-cowboy-soprano

或者,使用:

$ croc --yes dexter-cowboy-soprano > out

在这里,--yes 选项不会要求任何确认,并自动同意所有提示。

设置输出文件夹

默认情况下, croc 会将数据下载到当前工作目录中。您可以使用 --out 选项使其使用不同的下载位置。

$ croc send file.txt

输出示例:

Sending 'file.txt' (116 B)
Code is: program-public-mystery
On the other computer runcroc program-public-mystery

在接收端,运行:

$ croc --out ~/Downloads

出现提示时输入代码短语。

获得帮助

要获取帮助,请运行以下命令:

$ croc --help
NAME:croc - easily and securely transfer stuff from one computer to anotherUSAGE:Send a file:croc send file.txtSend a file with a custom code:croc send --code secret-passphrase file.txtVERSION:v8.3.2-7d155adCOMMANDS:send     send a file (see options with croc send -h)relay    start your own relay (optional)help, h  Shows a list of commands or help for one commandGLOBAL OPTIONS:--remember      save these settings to reuse next time (default: false)--debug         toggle debug mode (default: false)--yes           automatically agree to all prompts (default: false)--stdout        redirect file to stdout (default: false)--no-compress   disable compression (default: false)--ask           make sure sender and recipient are prompted (default: false)--relay value   address of the relay (default: "142.93.177.120:9009") [$CROC_RELAY]--relay6 value  ipv6 address of the relay (default: "[2604:a880:800:c1::14c:1]:9009") [$CROC_RELAY6]--out value     specify an output folder to receive the file (default: ".")--pass value    password for the relay (default: "pass123") [$CROC_PASS]--help, -h      show help (default: false)--version, -v   print the version (default: false)

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

  1. Synergy工具 共享Windows系统电脑Linux系统电脑 鼠标键盘

    Synergy工具 共享Windows系统电脑Linux系统电脑 鼠标键盘 相关软件相关文章发表评论 来源:西西整理时间:2014/11/6 15:03:11字体大小:A-A+ 作者:西西点击:24评 ...

  2. 软件测试学习之路-----DOS命令与Linux系统笔记

    前言:软件测试为什么要学习DOS命令与Linux系统呢?这个问题,咱们来这么想.软件测试,是不是只要有个软件就行?那肯定不是,没了计算机啥都白瞎.然后现在人用的计算机通常都是Windows系统.那有W ...

  3. Linux系统电脑非正常关机之后可能出现在登录界面循环的情况

    Linux系统电脑非正常关机之后可能出现在登录界面循环的情况 例如: Ubuntu 18.04 有时会出现在登录界面循环,你输入密码,回车后又回到输入密码界面 ,遇到这样的解决办法是直接进入命令行模式 ...

  4. Windows-Linux:Windows系统下的命令类似Linux系统下的所有命令集合

    Windows-Linux:Windows系统下的命令类似Linux系统下的所有命令集合 目录 Windows下的命令类似Linux系统下的所有命令集合 1.基础命令 2.进阶命令 3.高级命令 Wi ...

  5. 使用top命令监控linux系统cpu变化

    #!/bin/bash #使用top命令监控linux系统cpu变化#取系统当前时间(以追加的方式写入文件>>) date >> /home/monitor_script/cp ...

  6. linux重启网卡的命令行,linux系统重启网卡命令

    关于win10系统开机总是要禁用重启网卡才能联网如何解决就为大家介绍到这边了,有遇到同样情况的用户们可以采取上面的方法步骤来解决.问题2已知win7下不需要删除qos协议,在跑无盘模式下以前最好不要安 ...

  7. linux shell 退出_dialog命令在linux系统中使用方法

    CentOS7.3学习笔记总结(七十六)-dialog命令在linux系统中使用方法 前面我们介绍了dialog的基本功能(请查阅<CentOS7.3学习笔记总结(七十五)-Linux系统中的窗 ...

  8. 一行命令查看Linux系统重启时间和相关记录

    一行命令查看Linux系统重启时间和相关记录. 系统启动时间并转换为秒: date -d "$(who -b | awk -F' ' '{print $(NF-1),$NF}')" ...

  9. win10跨网段共享计算机,win10系统电脑之间实现跨网段共享打印机的操作办法

    有关win10系统电脑之间实现跨网段共享打印机的操作方法想必大家有所耳闻.但是能够对win10系统电脑之间实现跨网段共享打印机进行实际操作的人却不多.其实解决win10系统电脑之间实现跨网段共享打印机 ...

最新文章

  1. 颜水成发了个「简单到令人尴尬」的视觉模型,证明Transformer威力源自其整体架构...
  2. JS Array.reduce 实现 Array.map 和 Array.filter
  3. mac下查看tensorboard中的graph
  4. python找出录取率最高的年份_Python分析42年高考数据,告诉你高考为什么这么难?...
  5. Python作为人工智能的未来,已经超越Java高居首位
  6. python能够处理图像的第三方库_基于图像预处理的几个库
  7. java大数 bigin_Java大数操作
  8. Java中9大内置基本数据类型Class实例和数组的Class实例(转载)
  9. csp 201512-4 送货(hierholzer算法的递归和堆栈实现)
  10. IP地址作用与分类(A类 B类 C类 D类 E类)
  11. 使用YYLabel做文本竖向展示
  12. 2022年4月加拿大MogaFX外汇和衍生品市场活动三年期央行调查
  13. lis中hl7接口 java_hl7接口开发商中文使用手册
  14. 新浪cn邮箱服务器,新浪CN免费邮箱outlook 设置详解
  15. 用python提取发票扫描件常用的10多个发票信息保存到excel表
  16. [蓝桥杯][2019年第十届真题]-----外卖店优先级
  17. 视频教程-Python疫情监控完整项目实战-Python
  18. 全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码
  19. window关闭临时ipv6地址、开启临时ipv6地址
  20. Vue3.x 报 Uncaught TypeError:Object(...) is not a function( Vue3对象不是函数解决思路)

热门文章

  1. 关于四种语言中substring()方法参数值的解析
  2. Android App 优化之 ANR 详解
  3. RequestMapping
  4. 第 三 十 八 天:Linux 的 LVM 逻 辑 卷 管 理
  5. CentOS 6.3 下用ntfs-3g挂载Windows NTFS分区
  6. arrayPointer
  7. 在线检测PR值,外链,批量
  8. 真格量化-历史波动率
  9. openfire服务器
  10. 16 --删除排序数组中的重复项