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

系统 Linux
在两台或多台计算机之间传输文件的方法有很多。你可以使用基于服务器的文件共享工具,点对点文件共享app,U盘,外部硬盘驱动器,SCP,NFS,FTP,HTTP,云存储平台等等。

[[440900]]

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

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

这个命令将把 croc 源码下载到本地并安装在 /usr/local/bin/ 目录下。

如果你不想直接注入Shell,可以从**发行版页面**下载预编译的二进制文件,并使用发行版的软件包管理器进行安装。

例如,在Ubuntu系统上可以使用以下命令安装 Croc deb 文件:

  1. $ sudo apt install gdebi 
  2. $ sudo gdebi croc_8.3.2_Linux-64bit.deb 

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

  1. $ pacman -S croc 

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

  1. $ nix-env -i croc 

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

  1. $ snap install croc 

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

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

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

在使用之前,先确保在所有系统上都安装了 croc 。

要使用 croc 传输文件/文件夹,只需运行:

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

例:

  1. $ croc send file.txt 

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

  1. Sending 'file.txt' (116 B) 
  2. Code is: slow-tomato-almond 
  3. On the other computer run 
  4.  
  5. croc slow-tomato-almond 

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

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

  1. $ croc slow-tomato-almond 

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

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

输出示例:

pic

设置自定义代码短语

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

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

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

输出示例:

  1. Sending 'file.txt' (116 B) 
  2. Code is: download-this 
  3. On the other computer run 
  4.  
  5. croc download-this 

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

  1. $ croc download-this 

发送文本

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

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

  1. $ croc send --text "Hello!!" 

输出示例:

  1. Sending 'text'  
  2. Code is: natural-roof-clock 
  3. On the other computer run 
  4.  
  5. croc natural-roof-clock 
  6.  
  7. Sending (->[fe80::a00:27ff:fe10:7cc1%wlp9s0]:39916) 

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

  1. $ croc natural-roof-clock 
  2. Accept 'text' ? (y/n) y 
  3.  
  4. Receiving (<-[fe80::d710:cf4:bb49:8b20%enp0s8]:9009) 
  5. Hello!! 

使用管道

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

  1. $ cat file.txt | croc send 

输出示例:

  1. Sending 'stdin' (116 B) 
  2. Code is: dexter-cowboy-soprano 
  3. On the other computer run 
  4.  
  5. croc dexter-cowboy-soprano 

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

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

  1. $ croc dexter-cowboy-soprano 

或者,使用:

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

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

设置输出文件夹

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

  1. $ croc send file.txt 

输出示例:

  1. Sending 'file.txt' (116 B) 
  2. Code is: program-public-mystery 
  3. On the other computer run 
  4.  
  5. croc program-public-mystery 

在接收端,运行:

  1. $ croc --out ~/Downloads 

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

获得帮助

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

  1. $ croc --help 
  2. NAME
  3.    croc - easily and securely transfer stuff from one computer to another 
  4.  
  5. USAGE: 
  6.    Send a file: 
  7.       croc send file.txt 
  8.  
  9.    Send a file with a custom code: 
  10.       croc send --code secret-passphrase file.txt 
  11.  
  12. VERSION: 
  13.    v8.3.2-7d155ad 
  14.  
  15. COMMANDS: 
  16.    send     send a file (see options with croc send -h) 
  17.    relay    start your own relay (optional) 
  18.    help, h  Shows a list of commands or help for one command 
  19.  
  20. GLOBAL OPTIONS: 
  21.    --remember      save these settings to reuse next time (default: false) 
  22.    --debug         toggle debug mode (default: false) 
  23.    --yes           automatically agree to all prompts (default: false) 
  24.    --stdout        redirect file to stdout (default: false) 
  25.    --no-compress   disable compression (default: false) 
  26.    --ask           make sure sender and recipient are prompted (default: false) 
  27.    --relay value   address of the relay (default: "142.93.177.120:9009") [$CROC_RELAY] 
  28.    --relay6 value  ipv6 address of the relay (default: "[2604:a880:800:c1::14c:1]:9009") [$CROC_RELAY6] 
  29.    --out value     specify an output folder to receive the file (default: ".") 
  30.    --pass value    password for the relay (default: "pass123") [$CROC_PASS] 
  31.    --help, -h      show help (default: false) 
  32.    --version, -v   print the version (default: false) 

 

责任编辑:武晓燕 来源: 良许Linux
相关推荐

2021-12-17 08:30:15

croc命令Linux文件夹

2022-11-10 08:15:55

PSCPWindowsLinux

2022-11-28 11:37:55

2020-05-09 16:25:31

Ubuntu文件夹桌面

2021-08-16 13:34:07

Linux终端删除文件

2023-05-13 17:43:17

Linux文件文件夹

2020-11-28 19:37:03

MeldLinuxdiff命令

2022-07-08 15:09:26

Linux

2021-05-28 09:55:02

命令行加密文件Linux

2018-02-05 09:15:17

Linux命令文件数量

2018-01-24 15:35:22

Linux隐藏文件管理器

2014-02-12 10:58:05

Linux文件夹文件权限

2015-08-05 09:40:26

2015-08-04 15:09:31

2019-04-26 09:50:21

Linux压缩文件文件夹

2017-11-02 14:19:32

卷影拷贝VSS恢复文件

2021-03-03 10:06:36

Windows 10Windows微软

2011-08-22 11:29:21

Linuxchmod

2021-07-27 05:56:53

CrocFTPSFTP

2021-04-06 11:33:25

Windows 10Windows微软
点赞
收藏

51CTO技术栈公众号