使用 qrcp 在你的手機和 Linux 之間傳輸文件
qrcp 項目提供了一種快速地從你的 iPhone 或 Android 設備中復制文件到你的 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 之外,它還有開發者社區的支持。社區歡迎你加入他們,該應用將改變你對移動設備之間文件傳輸的看法。試試吧!