使用 qrcp 在你的手機和 Linux 之間傳輸文件
你是否在尋找一種快速複製文件的方法,從你的 iPhone 或 Android 移動設備到你的 Linux 電腦,或者從你的 Linux 電腦到你的設備?我最近發現了一個開源的應用,它很容易安裝,並且傳輸文件只需一個二維碼。
qrcp
項目提供了一個命令,可以在你的終端生成一個二維碼,讓你通過網路向你的電腦發送或接收文件。
在 Linux、Windows 或 Mac 上安裝 qrcp
開發者 Claudio d'Angelis 以 MIT 許可證發布了 qrcp
應用。我發現它很容易安裝,也很容易使用。它適用於 Linux、Windows 和 macOS,可以作為 RPM、DEB 或 tarball 下載。它為幾乎所有的平台做了構建,包括樹莓派。
如果你想在 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
設置 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
,你可以使用你喜歡的編輯器編輯,或從命令行調用配置嚮導來配置應用。
$ qrcp config
第一步是創建一個配置文件。qrcp config
命令將帶你完成這個過程,但會問你幾個問題。
第一個問題是要求你提供一個「完全限定域名」。如果你在一個不使用完全限定域名的本地網路上使用 qrcp
(或者你不知道哪種方式),那麼就把這個留空。qrcp
命令將使用你的本地 IP 地址代替。
下一個問題是提示你選擇埠。大多數防火牆會阻止非標準的埠,但會將 8080 埠作為互聯網流量的情況並不少見。如果你的防火牆屏蔽了 8080 埠,那麼你還是要添加一個例外。假設你的系統使用 firewalld
,你可以用這個命令允許 8080 埠的流量:
$ sudo firewall-cmd --add-port 8080/tcp --permanent
拒絕在「傳輸完成後保持網路連接」的選項,讓 qrcp
生成一個隨機路徑。
假設你在一個可信的網路上,使用 HTTP(而不是 HTTPS)連接,那麼你不必配置 TLS。
配置保存在 ~/.config/qrcp/config.json
中,並且之後可以編輯,所以如果你想改變設置,它很容易更新。
更新後的配置看起來像這樣:
{
"fqdn": "",
"interface": "wlp0s20f3",
"port": 8080,
"keepAlive": false,
"path": "",
"secure": false,
"tls-key": "",
"tls-cert": "",
"output": "/home/don"
}
用 qrcp 傳輸文件
現在你已經準備好從你的 Linux 電腦向你的移動設備發送一個文件。在這個例子中,我使用了我的 iPhone,它完全不支持 Linux,這是臭名昭著的。這個過程在安卓設備上是完全一樣的。
我是這樣做的。首先,我在我的電腦上創建一個示例文件:
$ echo "Hello world"> ~/example.txt
接下來,我使用 send
子命令將文件從我的 Linux 電腦發送到我的手機:
Linux~$ qrcp send example.txt
使用 qrcp send example.txt
發送文件的例子(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 瀏覽器,但這次出現了一些不同,因為我正在將文件從我的 iPhone 發送到 Linux 電腦上。
選擇一個要傳輸的文件(CC BY-SA 4.0)
我點擊「選擇文件」,它讓我選擇想發送的文件。
文件被下載到默認位置(CC BY-SA 4.0)
發送文件後,是在我的配置中指定的默認位置找到了文件。
嘗試 qrcp
項目文檔很簡短但已足夠,除了最初提出這個想法的 Claudio d'Angelis 之外,它還有開發者社區的支持。社區歡迎你加入他們,該應用將改變你對移動設備之間文件傳輸的看法。試試吧!
via: https://opensource.com/article/21/11/transfer-files-phone-linux
作者:Don Watkins 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive