計算機和手機之間的文件傳輸可以使用不同的方法和不同的協議進行。今天,我們將研究一種全新的、不同的方法。本指南介紹如何掃描 QR 碼以在您的計算機和移動設備之間傳輸文件。是的,你沒看錯!問候 資源管理器原名 Qr-文件傳輸一個簡單的命令行文件傳輸應用程序,用於在 Linux 系統和手機之間通過 WiFi 發送和接收文件,無需離開設備即可掃描 QR 碼。
發送文件時,Qrcp 將 web 服務器綁定到隨機端口上 WiFi 網絡接口卡的地址,並創建其處理程序。傳輸完成後,默認處理程序將處理內容並退出程序。同樣,在接收文件時, qrcp
提供上傳頁面並處理傳輸。
Qrcp 是一個免費的開源程序 去 編程語言,和 什麼時候 執照。
內容
在 Linux 上安裝 Qrcp
Qrcp 可以通過多種方式安裝。使用以下方法之一在 Linux 上安裝 Qrcp:
使用 Golang 安裝 Qrcp
首先,按照以下鏈接中的步驟在您的 Linux 系統上安裝 Go 編程語言。
- 如何在 Linux 上安裝 Go 語言
安裝 Golang 後,運行以下命令在您的 Linux 系統上安裝 Qrcp。
$ go get github.com/claudiodangelis/qrcp
從二進製文件安裝 Qrcp
從以下位置下載最新的 Qrcp 存檔 發布頁面..在編寫本指南時,最新版本是 0.7.0..
$ wget https://github.com/claudiodangelis/qrcp/releases/download/0.7.0/qrcp_0.7.0_linux_x86_64.tar.gz
使用以下命令提取下載的存檔:
$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz
二進制 $PATH
:
$ sudo mv qrcp /usr/local/bin
最後,設置執行權限。
$ sudo chmod +x /usr/local/bin/qrcp
請注意,最後一步是可選的。它不必是可執行的。在這種情況下,將文件移動到該路徑,該文件將是可執行的。
使用包管理器安裝 Qrcp
Qrcp 在 AUR 中可用。
- qrcp-bin
- qrcp
例如,您可以使用任何 AUR 助手進行安裝 是的..
$ yay -S qrcp
再次,
$ yay -S qrcp-bin
qrcp也可以如下使用 .deb
什麼時候 .rpm
文檔。轉到發布頁面並下載適合您的發行版的版本。
如果您使用的是基於 Debian 的系統,請下載 .deb
從發布頁面下載安裝文件並安裝如下。
$ sudo apt install gdebi
$ sudo gdebi qrcp_0.7.0_linux_x86_64.deb
下載基於 RPM 的系統,例如 CentOS 和 RHEL .rpm
從發布頁面下載文件並安裝如下:
$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm
再次,
$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm
安裝後,運行以下命令驗證 Qrcp 是否正常工作。
$ qrcp version
qrcp 0.7.0 [date: 2020-10-08T13:30:56Z]
掃描二維碼並使用Qrcp在您的計算機和移動設備之間傳輸文件
使用 Qrcp 在您的計算機和移動設備之間傳輸文件非常簡單。
本指南使用 Ubuntu 20.04LTS 桌面和 Android 平板電腦。
確保您的智能手機上安裝了二維碼閱讀器應用程序。 有許多適用於 Android 的 QR 碼閱讀器。執行簡單的網絡搜索並在手機上安裝任何二維碼閱讀器。
使用 Qrcp 將文件從您的計算機發送到您的手機
首先,讓我們看看如何將文件從 Linux 系統發送到移動設備。
使用以下命令將圖像文件從 Ubuntu 桌面發送到平板電腦:
$ qrcp ostechnix.png
當您第一次啟動 Qrcp 時,它會掃描您的系統以查看您的系統上有多少 WiFi 網絡接口可用。如果有多個合適的 WiFi 卡可用,Qrcp 會要求您選擇一個來傳輸文件。就我而言,我選擇了無線接口。 wlp9s0
按 .ENTER 接受無線接口。 Qrcp 記住了這個選擇,下次不會再問了。
Use the arrow keys to navigate: ↓ ↑ → ←
? Choose interface:
▸ wlp9s0 (192.168.225.37)
virbr0 (192.168.122.1)
mpqemubr0 (10.39.86.1)
any (0.0.0.0)
二維碼將顯示在終端上,如下所示。
✔ wlp9s0 (192.168.225.37)
Scan the following URL with a QR reader to start the file transfer:
https://192.168.225.37:41377/send/7jwi
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██▄ ▄███▄▄█▀▄▄█ ▄▄▄▄▄ ████
████ █ █ █ ▀▀ ██▄█▄▀██▄█ █ █ ████
████ █▄▄▄█ █ ██▄█ █▀▄█ █ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀▄█▄▀▄▀▄█ █ █▄▄▄▄▄▄▄████
████ ▀ ▄▄▄█▀▀▀███▄ ▄█▀ █▀ ▄▄█▀████
████▀█▄ ▀▄▄ ██ ▀█▀█▀▀ ▀▀▄▀ ▀██▀█████
████▀▀▄▄▄▀▄▄▀█▄▀█▀▀▄ █▄▄▀ ▀▄▄▄ █▀████
████ █▀ █▄▀▀ █ █ ▄▄ ▄█ █ ▀█ █▄▀█████
████ █▀ ██▄▄▄▄█ ▀█▄▄█▄▄█ █▄█▀▀ █▀████
████ █▄█▀▄▄▄█ █ ▄█▀█▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄▄▄▄▄▄ ▄▄▀▀▀▀▄ ██▀ ▄▄▄ ▀ ████
████ ▄▄▄▄▄ █▀▄█▀█ ▄▄▄ ▀ █▄█ ▄▄█▀████
████ █ █ █ ▀▀▄█▄▄ ▄▀ ▄ ▄█▀█████
████ █▄▄▄█ █▄▄█▀ ▄██▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄█▄█▄▄▄▄█████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
然後打開手機上的二維碼閱讀器應用,掃描Linux電腦終端上顯示的二維碼。 掃描二維碼,下載地址將顯示在您的手機上。您只需單擊即可下載文件。
該文件將被下載到您手機的默認下載文件夾中。

您還可以發送多個文件。
$ qrcp file1 file2
您可以按如下方式發送整個文件夾:
$ qrcp ~/Documents/
如果文件很大,只需將其壓縮並發送。 --zip
橫幅:
$ qrcp --zip movie.mp4
使用 Qrcp 從手機接收文件到計算機
要將文件從移動設備發送到計算機,請在 Linux 系統的終端中運行以下命令:
$ qrcp receive
二維碼將顯示在終端上。
Scan the following URL with a QR reader to start the file transfer:
https://192.168.225.37:35221/receive/3xiz
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██ █ ▀ ▄██ ▄█ ▄▄▄▄▄ ████
████ █ █ █ ▀█▄▀ ▄▀▄█▄▄██ █ █ ████
████ █▄▄▄█ █ ▄█ ██▄▀▄▀█▀█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ ▀▄█▄█ █ ▀▄█▄▄▄▄▄▄▄████
████ ▀▄▄▄ ▄▀█▄ █ ▀█▄▄█▀▀█▀ ▄▄█▀████
████ ▄▄▀▀█▄ █▄▀▄▄ ▄▄▄▀ ▀▀▄▀ ▀██▀█████
██████▀█▄▄▄▀█ ▄█ █▄▄ █▀▄▀ ▀▄▄▄ █▀████
████▄ █ █▄▄█ █▀██▄█ █ ▀█ █▄▀█████
████ ▀▀▀█▀▄▀▀▀▀█▄▀▀ ▄ █ █▄█▀▀ █▀████
████ █ ▀▀█▄ █ █▀ ▄▄▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄██▄▄█ ▄ ▄▀█▄▄▀██▀ ▄▄▄ ▀ ████
████ ▄▄▄▄▄ █▀█▄█▄█▀▄ ▄▀ █▄█ ▄▄█▀████
████ █ █ █ █▀▀▀ ▄▄▄ ▄ ▄█▀█████
████ █▄▄▄█ █▄██▄█▄██▀▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄▄▄▄███▄▄████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

打開移動設備上的二維碼閱讀器,掃描上面的二維碼。 單擊 URL 以從您的手機上傳文件。

一個新的瀏覽器窗口將在您的手機上打開。選擇要從手機發送到計算機的文件,然後單擊傳輸按鈕。

如果文件傳輸成功,您將在移動設備上看到以下消息:

在 Linux 終端上,當文件傳輸完成時,您將看到以下消息:
Transferring file: /home/sk/IMG-20201017-WA0002.jpg
/home/sk/IMG-20201017-WA0002.jpg[===============================================] 99.74% 0s
File transfer completed

如您所見,文件已下載到當前目錄。如果要接收特定目錄中的文件 --output
橫幅:
$ qrcp receive --output=~/Downloads
在這種情況下,所有文件都將下載到 ~/Downloads
目錄。
Qrcp 選項
Qrcp 需要零配置。默認情況下,Qrcp 開箱即用。但是,您可以使用 Qrcp 參數以多種方式調整 Qrcp 的功能。例如,使用特定端口而不是隨機端口,指定配置文件的位置,使用特定網絡接口卡進行文件傳輸,使用自定義 URL 發送或接收文件,或 IP。您可以使用 FQDN 代替.指定地址、打印二維碼瀏覽器、保持服務器活躍、通過 HTTPS 安全傳輸文件等。
配置 Qrcp
默認配置文件保存在 $HOME/.qrcp.json
.. Qrcp 在傳輸文件時讀取並使用該文件中定義的參數。
可以使用以下命令顯示當前設置的參數。 cat
命令:
$ cat $HOME/.qrcp.json
{
"fqdn": "",
"interface": "wlp9s0",
"port": 0,
"keepAlive": false,
"path": "~/Desktop",
"secure": false,
"tls-key": "",
"tls-cert": ""
}
您可以通過運行以下命令來根據自己的喜好設置 Qrcp 的默認參數:
$ qrcp config
選擇適當的無線網絡接口進行文件傳輸。
? Choose interface:
mpqemubr0 (10.39.86.1)
▸ wlp9s0 (192.168.225.37)
virbr0 (192.168.122.1)
any (0.0.0.0)
如果由於某種原因看不到網絡接口,請改用以下命令。
$ qrcp --list-all-interfaces config
請輸入完全限定名稱 (FQDN):
✔ Choose fully-qualified domain name: sk.ostechnix.example
選擇一個隨機端口。
✔ Choose port, 0 means random port: 8080
如果要使用隨機端口,只需按 0
(零)。
要保存文件/文件夾的目標路徑,請鍵入:
✔ Choose path, empty means random: ~/Downloads
默認情況下,Qrcp 將接收到的文件/文件夾保存在當前目錄中。
選擇文件傳輸後是否保持服務器活動。
? Should the server keep alive after transferring?:
▸ No
Yes
如果您想安全地傳輸文件,請選擇適當的選項。
? Should files be securely transferred with HTTPS?:
▸ No
Yes
[はい]如果選擇,則需要輸入 TLS 證書路徑和 TLS 證書密鑰。
更新配置文件會使用新值更新默認配置。
Configuration updated:
{
"fqdn": "sk.ostechnix.example",
"interface": "wlp9s0",
"port": 8080,
"keepAlive": false,
"path": "~/Downloads",
"secure": false,
"tls-key": "",
"tls-cert": ""
}
Qrcp 在傳輸文件時會使用這些新值。
您也可以手動使用自定義參數,而不是配置文件中定義的現有參數。
使用自定義端口
Qrcp 在您的計算機和移動設備之間發送和接收文件時使用任何可用的隨機端口。例如,使用特定端口時 8080
傳輸文件時, --port
還 -p
橫幅:
$ qrcp --port 8080 file.txt
指定配置文件的位置
如上所述,默認配置文件保存在 $HOME/.qrcp.json
..如果要使用存儲在其他位置的配置文件 --config
橫幅:
$ qrcp --config ~/Downloads/qrcp.json file.txt
使用特定 WiFi 接口傳輸文件
如果您的系統有多個合適的 WiFi 接口可用,您可以使用特定的 WiFi 接口。 --interface
(還 -i
) 國旗:
$ qrcp -i wlp9s0 file.txt
為 URL 分配特定路徑
默認情況下,Qrcp 使用以下 URL 格式發送和接收文件:
- 發送-
https://{ip address}:{port}/send/{random path}
- 收到-
https://{ip address}:{port}/receive/{random path}
如果要對 URL 使用特定路徑而不是隨機路徑,請使用: --path
橫幅:
$ qrcp --path=abcd file.txt
現在生成的 URL 如下所示:
$ https://{ip address}:{port}/send/abcd
使用 FQDN 而不是 IP 地址
默認情況下,Qrcp 在 URL 中使用 Linux 系統的 IP 地址。 如果您希望 URL 使用完全限定名稱而不是 IP 地址, --fqdn
(還 -d
) 國旗:
$ qrcp --fqdn ostechnix.example -i wlp9s0 -p 8080 file.txt
在瀏覽器中打印二維碼
Qrcp 會在終端生成一個二維碼。如果要在終端窗口外打印二維碼, --browser
橫幅。
$ qrcp --browser file.txt
此命令將繼續在終端中打印二維碼,但它也會在默認 Web 瀏覽器的新窗口中顯示二維碼。
保持服務器活躍
文件傳輸完成後,連接將自動關閉。因此,其他設備將無法訪問文件/文件夾。如果您想將同一個文件/文件夾傳輸到多個設備 --keep-alive
橫幅:
$ qrcp --keep-alive file.txt
得到幫助
要查看可用子命令和標誌的列表,請運行以下命令:
$ 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.
Flags:
-b, --browser display the QR code in a browser window
-c, --config string path to the config file, defaults to $HOME/.qrcp
-d, --fqdn string fully-qualified domain name to use for the resulting URLs
-h, --help help for qrcp
-i, --interface string network interface to use for the server
-k, --keep-alive keep server alive after transferring
-l, --list-all-interfaces list all available interfaces when choosing the one to use
--path string path to use. Defaults to a random string
-p, --port int port to use for the server
-q, --quiet only print errors
-s, --secure use https connection
--tls-cert string path to TLS certificate to use with HTTPS
--tls-key string path to TLS private key to use with HTTPS
-z, --zip zip content before transferring
Use "qrcp [command] --help" for more information about a command.
資源:
- QrcpGitHub 存儲庫
相關閱讀:
- 使用 Croc 在計算機之間傳輸文件和文件夾
- 使用 Warpinator 在 Linux 桌面之間共享文件
- 如何使用 Firefox Send 在 Internet 上安全地共享文件
- 如何在 Linux 上使用 ffsend 從命令行安全地共享文件
- PSiTransfer – 一個簡單的開源自託管文件共享解決方案
- 如何使用 simpleHTTPserver 設置基本文件服務器
- 從命令行通過 Internet 共享文件的簡單快捷方式
- OnionShare – 安全匿名地共享各種大小的文件
Gerd Altmann 的 AIXabay 特色圖片。
Android文件共享文件傳輸GoGoLangLinuxMobile開源二維碼qr-filetransferQrcp