使用croc命令在Linux系统电脑之间传输文件和文件夹
?在兩臺(tái)或多臺(tái)計(jì)算機(jī)之間傳輸文件的方法有很多。?你可以使用基于服務(wù)器的文件共享工具,點(diǎn)對(duì)點(diǎn)文件共享app,U盤,外部硬盤驅(qū)動(dòng)器,SCP,NFS,FTP,HTTP,云存儲(chǔ)平臺(tái)等等。
本文將介紹一個(gè)名為 croc 的命令行工具,可以讓你輕松、快速、安全地在計(jì)算機(jī)之間傳輸文件和文件夾。
使用 croc 工具傳輸數(shù)據(jù)的速度很快,因?yàn)樗洚?dāng)系統(tǒng)之間的中繼服務(wù)器。它在兩臺(tái)計(jì)算機(jī)之間創(chuàng)建了全雙工實(shí)時(shí)通信層,因此「上傳」和「下載」任務(wù)在兩臺(tái)計(jì)算機(jī)之間同時(shí)發(fā)生。
croc 使用密碼驗(yàn)證密鑰交換(PAKE)庫(kù)提供端到端加密。PAKE庫(kù)允許兩個(gè)人使用雙方都知道的弱密鑰來(lái)生成強(qiáng)密鑰。然后將此密鑰用于進(jìn)一步加密。由于密鑰僅由發(fā)送者和接收者知道,因此即使第三者知道原始密碼,也沒有辦法知道秘鑰。
croc 能夠一次在計(jì)算機(jī)之間傳輸多個(gè)文件。如果數(shù)據(jù)傳輸由于任何原因而中斷,下次傳輸?shù)臅r(shí)候它可以從上次中斷的地方繼續(xù)進(jìn)行文件傳輸。
由于 croc 使用中繼,因此你不需要中央服務(wù)器或端口轉(zhuǎn)發(fā)。它是一個(gè)跨平臺(tái)的應(yīng)用程序,因此你可以在 Linux,Mac 和 Windows 平臺(tái)之間傳輸數(shù)據(jù)。
簡(jiǎn)而言之, croc 執(zhí)行以下操作:
使用中繼在兩臺(tái)計(jì)算機(jī)之間傳輸數(shù)據(jù),
使用 PAKE 庫(kù)提供 端到端加密,
一次傳輸多個(gè)文件 ,
斷點(diǎn)續(xù)傳,
不需要中央服務(wù)器端口轉(zhuǎn)發(fā),
ipv6-first 和 ipv4 后備,
零依賴性,
跨平臺(tái)
免費(fèi)和開源。
croc 使用 Go 編程語(yǔ)言所編寫,并遵從 MIT 許可免費(fèi)提供。
在Linux上安裝Croc工具
可以在 Bash 上使用以下命令將 croc 安裝在所支持的任何 Linux 和 Unix 發(fā)行版上:
$?curl?https://getcroc.schollz.com?|?bash這個(gè)命令將把 croc 源碼下載到本地并安裝在 /usr/local/bin/ 目錄下。
如果你不想直接注入Shell,可以從**發(fā)行版頁(yè)面**下載預(yù)編譯的二進(jìn)制文件,并使用發(fā)行版的軟件包管理器進(jìn)行安裝。
例如,在Ubuntu系統(tǒng)上可以使用以下命令安裝 Croc deb 文件:
$?sudo?apt?install?gdebi $?sudo?gdebi?croc_8.3.2_Linux-64bit.deb你可以使用 pacman 將 croc 安裝在 Arch Linux 及其衍生版本中:
$?pacman?-S?croc在 NixOS 上,執(zhí)行以下命令進(jìn)行安裝:
$?nix-env?-i?croccroc 也可用 snap 方式進(jìn)行安裝:
$?snap?install?croc如果您已在 Linux 系統(tǒng)上安裝了 Go 環(huán)境,也可以從源代碼編譯 croc ?。
$?GO111MODULE=on?go?get?-v?github.com/schollz/croc/v8使用Croc在計(jì)算機(jī)之間傳輸文件和文件夾
在使用之前,先確保在所有系統(tǒng)上都安裝了 croc 。
要使用 croc 傳輸文件/文件夾,只需運(yùn)行:
$?croc?send?<文件或文件夾路徑>例:
$?croc?send?file.txtcroc 將生成如下的隨機(jī)代碼短語(yǔ),相當(dāng)于暗號(hào)。
Sending?'file.txt'?(116?B) Code?is:?slow-tomato-almond On?the?other?computer?runcroc?slow-tomato-almond在這里,代碼短語(yǔ)(暗號(hào))是 slow-tomato-almond。該代碼短語(yǔ)用于建立經(jīng)過密碼驗(yàn)證的密鑰協(xié)議(PAKE),該協(xié)議會(huì)生成供發(fā)送方和接收方用于端到端加密的秘鑰。
如果想要在另一臺(tái)計(jì)算機(jī)上接收上述文件,那么收件人應(yīng)輸入上述輸出的最后一行命令:
$?croc?slow-tomato-almond按 y,然后按回車鍵來(lái)接收文件。
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設(shè)置自定義代碼短語(yǔ)
每次發(fā)送文件或文件夾時(shí), croc 都會(huì)生成一個(gè)隨機(jī)代碼短語(yǔ),但因?yàn)槊看味疾灰粯?#xff0c;使用起來(lái)還是不太方便。所以我們可以自定義一個(gè)代碼短語(yǔ),提高效率。可以使用 --code 參數(shù)來(lái)設(shè)置自定義代碼短語(yǔ)來(lái)發(fā)送文件/文件夾。
$?croc?send?--code?download-this?file.txt這里的download-this 就是我們自定義的代碼短語(yǔ)。
輸出示例:
Sending?'file.txt'?(116?B) Code?is:?download-this On?the?other?computer?runcroc?download-this收件人可以使用以下命令接收文件(使用自定義的代碼短語(yǔ)):
$?croc?download-this使用Croc發(fā)送帶有自定義代碼的文件和文件夾發(fā)送文本
就像文件和文件夾一樣,我們也可以共享文本。當(dāng)你要共享消息或者 URL 時(shí)可以用這種方式。
如果要使用 croc 發(fā)送文本,可以運(yùn)行以下命令:
$?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發(fā)送文本使用管道
你可以將文件的輸出通過管道傳輸?shù)?croc 作為它的輸入,如下所示。
$?cat?file.txt?|?croc?send輸出示例:
Sending?'stdin'?(116?B) Code?is:?dexter-cowboy-soprano On?the?other?computer?runcroc?dexter-cowboy-sopranocroc 將自動(dòng)使用 stdin 數(shù)據(jù)并發(fā)送文件,分配文件名,例如“ croc-stdin-728899651”。
在接收端,用戶可以使用以下命令接收文件:
$?croc?dexter-cowboy-soprano或者,使用:
$?croc?--yes?dexter-cowboy-soprano?>?out在這里,--yes 選項(xiàng)不會(huì)要求任何確認(rèn),并自動(dòng)同意所有提示。
設(shè)置輸出文件夾
默認(rèn)情況下, croc 會(huì)將數(shù)據(jù)下載到當(dāng)前工作目錄中。您可以使用 --out 選項(xiàng)使其使用不同的下載位置。
$?croc?send?file.txt輸出示例:
Sending?'file.txt'?(116?B) Code?is:?program-public-mystery On?the?other?computer?runcroc?program-public-mystery在接收端,運(yùn)行:
$?croc?--out?~/Downloads出現(xiàn)提示時(shí)輸入代碼短語(yǔ)。
獲得幫助
要獲取幫助,請(qǐng)運(yùn)行以下命令:
$?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)總結(jié)
以上是生活随笔為你收集整理的使用croc命令在Linux系统电脑之间传输文件和文件夹的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .EXE病毒解决(U盘中文件夹不见,显示
- 下一篇: 一文读懂 Linux 内存分配全过程