使用 qrcp 在你的手機和 Linux 之間傳輸文件
qrcp 項目提供了一種快速地從你的 iPhone 或 Android 設(shè)備中復制文件到你的 Linux 電腦的方法,反之也可。
你是否在尋找一種快速復制文件的方法,從你的 iPhone 或 Android 移動設(shè)備到你的 Linux 電腦,或者從你的 Linux 電腦到你的設(shè)備?我最近發(fā)現(xiàn)了一個開源的應用,它很容易安裝,并且傳輸文件只需一個二維碼。
qrcp
項目提供了一個命令,可以在你的終端生成一個二維碼,讓你通過網(wǎng)絡(luò)向你的電腦發(fā)送或接收文件。
在 Linux、Windows 或 Mac 上安裝 qrcp
開發(fā)者 Claudio d'Angelis 以 MIT 許可證發(fā)布了 qrcp
應用。我發(fā)現(xiàn)它很容易安裝,也很容易使用。它適用于 Linux、Windows 和 macOS,可以作為 RPM、DEB 或 tarball 下載。它為幾乎所有的平臺做了構(gòu)建,包括樹莓派。
如果你想在 Linux 上安裝它,下載 RPM 或 DEB,并使用你的包管理器進行本地安裝。例如,在 Fedora、CentOS 或 Mageia,或類似的平臺上:
$ sudo dnf install ./qrcp*rpm
如果你只是想試試,你可以下載 tar.gz 壓縮包并在本地運行它:
$ tar --extract --file qrcp*tar.gz
$ ./qrcp version
qrcp 0.x.y
設(shè)置 qrcp
你可以通過使用 --help
選項查看所有可用的 qrcp
選項:
$ qrcp --help
$ ./qrcp --help
Usage:
qrcp [flags]
qrcp [command]
Available Commands:
completion Generate completion script
config Configure qrcp
help Help about any command
receive Receive one or more files
send Send a file(s) or directories from this host
version Print version number and build information.
[...]
默認配置文件位于 ~/.config/qrcp/config.json
,你可以使用你喜歡的編輯器編輯,或從命令行調(diào)用配置向?qū)砼渲脩谩?/p>
$ qrcp config
第一步是創(chuàng)建一個配置文件。qrcp config
命令將帶你完成這個過程,但會問你幾個問題。
第一個問題是要求你提供一個“完全限定域名”。如果你在一個不使用完全限定域名的本地網(wǎng)絡(luò)上使用 qrcp
(或者你不知道哪種方式),那么就把這個留空。qrcp
命令將使用你的本地 IP 地址代替。
下一個問題是提示你選擇端口。大多數(shù)防火墻會阻止非標準的端口,但會將 8080 端口作為互聯(lián)網(wǎng)流量的情況并不少見。如果你的防火墻屏蔽了 8080 端口,那么你還是要添加一個例外。假設(shè)你的系統(tǒng)使用 firewalld
,你可以用這個命令允許 8080 端口的流量:
$ sudo firewall-cmd --add-port 8080/tcp --permanent
拒絕在“傳輸完成后保持網(wǎng)絡(luò)連接”的選項,讓 qrcp
生成一個隨機路徑。
假設(shè)你在一個可信的網(wǎng)絡(luò)上,使用 HTTP(而不是 HTTPS)連接,那么你不必配置 TLS。
配置保存在 ~/.config/qrcp/config.json
中,并且之后可以編輯,所以如果你想改變設(shè)置,它很容易更新。
更新后的配置看起來像這樣:
{
"fqdn": "",
"interface": "wlp0s20f3",
"port": 8080,
"keepAlive": false,
"path": "",
"secure": false,
"tls-key": "",
"tls-cert": "",
"output": "/home/don"
}
用 qrcp 傳輸文件
現(xiàn)在你已經(jīng)準備好從你的 Linux 電腦向你的移動設(shè)備發(fā)送一個文件。在這個例子中,我使用了我的 iPhone,它完全不支持 Linux,這是臭名昭著的。這個過程在安卓設(shè)備上是完全一樣的。
我是這樣做的。首先,我在我的電腦上創(chuàng)建一個示例文件:
$ echo "Hello world"> ~/example.txt
接下來,我使用 send
子命令將文件從我的 Linux 電腦發(fā)送到我的手機:
Linux~$ qrcp send example.txt
使用 qrcp send example.txt
發(fā)送文件的例子(CC BY-SA 4.0)
我打開我的相機應用(在 Android 上,我使用一個保護隱私的專用二維碼掃描器),iPhone 掃描二維碼并在我的手機上啟動 Safari 瀏覽器。最后,我點擊“下載”按鈕。
下載示例 .txt 文件(CC BY-SA 4.0)
用 qrcp 接收文件
接收文件也一樣簡單,只是命令略有不同:
$ qrcp receive
使用 qrcp receive
命令接收一個文件(CC BY-SA 4.0)
我掃描了二維碼,它再次啟動了我手機上的 Safari 瀏覽器,但這次出現(xiàn)了一些不同,因為我正在將文件從我的 iPhone 發(fā)送到 Linux 電腦上。
選擇一個要傳輸?shù)奈募–C BY-SA 4.0)
我點擊“選擇文件”,它讓我選擇想發(fā)送的文件。
文件被下載到默認位置(CC BY-SA 4.0)
發(fā)送文件后,是在我的配置中指定的默認位置找到了文件。
嘗試 qrcp
項目文檔很簡短但已足夠,除了最初提出這個想法的 Claudio d'Angelis 之外,它還有開發(fā)者社區(qū)的支持。社區(qū)歡迎你加入他們,該應用將改變你對移動設(shè)備之間文件傳輸?shù)目捶?。試試吧?nbsp;