如何从 Linux 命令行创建二维码如何从 Linux 命令行创建二维码如何从 Linux 命令行创建二维码如何从 Linux 命令行创建二维码
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何从 Linux 命令行创建二维码

QR 码不仅可以将您带到一个网站,还可以做更多的事情。而且它们也很容易在 Linux 命令行上创建。我们告诉你如何。

二维码

由于在许多国家/地区的 COVID-19 跟踪和追踪应用程序中使用了快速响应 (QR) 码,因此它们正在复苏。它们是共享信息和引起人们回应的便捷方式。每个人都有手机,所以我们都随身携带一个合适的扫描仪。有许多免费的 QR 和条码扫描软件应用程序,因此不需要额外的硬件,也没有软件费用。

自 1994 年由丰田子公司 Denso Wave 的一个备受赞誉的团队发明以来,QR 码已发现许多新用途。

QR 码比条形码能够容纳更多的信息,并且由于其设计,扫描仪可以计算出 QR 码的向上方向,并在读取和解码时自动定位图像。

这些特性使其在跟踪工厂生产设施中的库存、装配和组件的最初角色中取得如此成功。当 QR 码或它所附的物品在传送带上滚动时是否没有完全对齐并不重要。 QR 扫描器可以检测和读取代码,无论其方向如何。

为什么不使用在线二维码生成器?那里有很多,但其中许多规定允许他们保留和存储您提供给他们的信息,并且他们可以对数据做他们想做的事。如果您要创建包含个人信息或敏感信息(例如联系方式或 Wi-Fi 连接详细信息)的二维码,这会带来重大的安全风险。

如果您使用像 qrencode 这样的命令行工具,您的所有数据都在您的控制之下。它还允许您创建脚本和别名,以编程方式创建 QR 码。

二维码的用途

在工厂和生产环境之外,二维码可能最常用于宣传材料,例如传单、小册子和海报。它们也经常出现在产品包装上。在这些情况下,二维码通常包含统一资源定位器 (URL) 或网址。扫描应用程序为用户打开网站。

当您用手机扫描二维码时,它会检测已编码的数据类型,并提出执行适当的操作。例如,如果数据是日历事件,系统会询问您是否要将事件添加到日历中。

二维码可以触发的动作包括:

  • 显示文本。
  • 导航到地图上的某个点。
  • 打电话。
  • 发送短信。
  • 发送电子邮件。
  • 打开 URL,以显示网页或下载文件。
  • 将联系人添加到您的地址簿。
  • 将活动添加到您的日历。
  • 连接到 Wi-Fi 网络。

安装二维码

qrencode 是一款多功能、快速且功能丰富的二维码生成器。它提供了一个可以链接到您自己的程序中的库,以将 QR 生成技术封装到您自己的应用程序中。它还提供了一个我们将要使用的命令行实用程序。

要在 Ubuntu 上安装 qrencode,我们输入:

sudo apt-get install qrencode

要在 Fedora 上安装 qrencode,请使用以下命令:

sudo dnf install qrencode

在 Manjaro 上我们使用 pacman:

sudo pacman -Sy qrencode

qrencode 参数

我们需要将两组不同的参数传递给 qrencode。一组与二维码的创建和编码有关,另一组指定我们希望二维码包含的数据。

影响二维码创建的参数决定了二维码的大小、方格图案和背景的颜色以及纠错设置等。

QR 码的用途——例如是设置短信,还是提供将联系人添加到您的地址簿——由 QR 码中的信息决定。它不依赖于二维码的创建方式。关键字和字段名称标识编码内容的类型,并允许扫描软件标识它应该如何处理检索到的信息。

使用二维码

纯文本二维码

最简单的 QR 码形式包含纯文本。它可用于将任何基于文本的信息传递给最终用户。我们使用的 qrencode 参数是:

  • -s 6:设置 QR 方格图案中块的大小。您提供的数字设置块一侧长度的大小(以像素为单位)。
  • -l H:设置纠错级别。我们可以使用的选项是“L”代表低,“M”代表中,“Q”代表相当高,“H”代表高或最高。扫描二维码时,不同级别的纠错可以应对不同程度的损坏或难以辨认。如果高达 7% 的代码被遮盖或损坏,则“低”允许成功扫描代码。 “中”将其提高到 15%。 “相当高”可以应对高达 25% 的代码损坏。当扫描 QR 码时,“高”级别可以应对高达 30% 的损坏或难以辨认。您使用的纠错越多,整个 QR 码就会越大。这是因为它需要存储冗余信息,这意味着模式中有更多块。
  • -o “text.png”:输出选项允许您设置生成图像的名称。默认情况下,这是一个便携式网络图形 (PNG) 图像。如果您使用 -t(类型)选项,您可以将输出更改为多种格式,包括 Encapsulated Postcript (EPS)、可缩放矢量图形 (SVG) 和美国国家标准协会的许多不同风格(ANSI) 基于字符的输出。

最后提供要编码的文本,并用引号引起来。

qrencode -s 6 -l H -o "text.png" "This type of QR holds plain text. This text is shown to the user when they scan the QR code. No other action is automatically triggered."

此命令创建此 QR 码:

扫描时,文本会被提取并显示在扫描软件中。

扫描应用程序将提供一些您可能想要执行的建议。在这种情况下(在这个特定的应用程序中),您可以对检索到的文本执行网络搜索或选择与他人共享文本。

添加颜色

--foreground 和 --background 选项可让您设置 QR 码图案和背景的颜色。您可以使用 RGB 颜色模型六位十六进制数字表示法或 RGBA 颜色模型八位十六进制数字表示法指定颜色。

我们正在使用 RGB 表示法。有方便的表格可以在网上查找颜色代码。前景将是蓝色阴影,背景将是白色。

qrencode -s 6 -l H --foregound="3599FE" --background="FFFFFF" -o "blue.png" "This QR code will be blue and white."

QR 码以我们选择的蓝色阴影生成。

它像扫描任何其他 QR 码一样进行扫描。如果您确实更改了颜色,请确保前景和背景之间有足够的对比度,以便扫描应用程序可以可靠地挑选出方格图案。

在二维码中存储位置

您可以轻松地将某物的位置存储在二维码中。

  • 我们存储的信息必须以关键字 geo 开头。
  • 使用冒号“:”将关键字与位置数据分开。
  • 位置必须以数字度数指定。
  • 不要在整个字符串中保留任何空格,并在纬度值和经度值之间使用逗号“,”。

qrencode 选项与我们之前使用的相同。我们只是通过更改其中存储的信息来改变 QR 码的用途。

qrencode -s 6 -l H -o "geo.png" "geo:51.185013,-1.859105"

这会生成此 QR 码。地点是巨石阵停车场的入口处。

当它被扫描时,用户有机会查看地图上的位置或获得到该位置的方向。

在 QR 码中存储电话号码

要在 QR 码中存储电话号码,请使用 tel 关键字、冒号“:”和电话号码,中间不要有空格。最好不要在数字中使用连字符和其他标点符号,因为一些扫描应用程序会混淆。使用“1234567890”代替“(123) 456–7890”。

qrencode -s 6 -l H -o "phone.png" "tel:5555555555"

这是该命令生成的二维码:

当它被扫描时,该应用程序会提供将其添加为联系人的号码——您需要自己提供姓名——或者让您拨打该号码。

通过二维码发送电子邮件

您可以将信息添加到 QR 码,以便扫描应用程序提供发送电子邮件的功能。您可以提供目标电子邮件地址、电子邮件主题和电子邮件正文。

qrencode -s 6 -l H -o "email.png" "mailto:contact@cloudsavvyit.com?subject=Linux&body=Linux articles are cool."

  • 要使用的关键字是 mailto,用冒号“:”将它与电子邮件地址分开。
  • 使用“?subject=”来标识主题行。不要在“?subject=”标志前后放置空格。
  • 使用“&body=”标识电子邮件内容。不要在“&body=”标志前后放置空格。

这是生成的二维码。

扫描后,应用程序会提供发送电子邮件或将电子邮件地址添加为联系人的功能。

网站二维码

要将用户定向到网站或其他 URL,请使用 http 或 https 关键字、冒号“:”以及网址没有空间。

qrencode -s 6 -l H -o "URL.png" "https://cloudsavvyit.com"

此命令创建此 QR 码。

扫描代码后,应用程序会提供打开链接的功能。

通过二维码发送短信或彩信

发送短信服务 (SMS) 或多媒体消息服务 (MMS) 消息的格式是相同的。使用关键字 smsto 关键字、冒号“:”、电话号码、逗号“,”(不带空格),然后是正文消息。

qrencode -s 6 -l H -o "SMS.png" "smsto:5555555555,This is the text of the SMS message."

该命令生成此 QR 码:

扫描后,用户可以选择发送 SMS 或 MMS 消息。

通过二维码连接到 Wi-Fi 网络

可以在 QR 码中编码 Wi-Fi 网络的详细信息。访客可以扫描二维码轻松连接到您的访客 Wi-Fi。

关键字是 WIFI,后跟一个冒号“:”和其他几个参数。

  • T:安全类型。这可以是 WEP、WPA 或 WPA2。注意“T”和安全值之间有一个冒号,安全设置后面有一个分号“;”。
  • S:Wi-Fi 网络的服务集 ID (SSID)。注意“S”和SSID之间有一个冒号,SSID后面有一个分号“;”。
  • P:Wi-Fi 网络的密码或安全密钥。请注意,“P”和安全密钥之间有一个冒号,并且在安全密钥之后是两个分号“;;”。

qrencode -s 6 -l H -o "wifi.png" "WIFI:T:WPA;S:<SSID>;P:<PSWD>;;"

将您的真实 SSID 和安全密钥放在命令中出现 和 <>PSWD> 的位置。 QR 码如下所示:

扫描二维码后,应用程序会提示连接到 Wi-Fi 网络或将密码复制到剪贴板。

使用二维码添加联系人

vCard 格式的详细联系信息可以添加到二维码中,并扫描到用户的通讯录中。这消除了输入错误的风险。可以存储的信息很多,因此最好将详细信息添加到文件中并将该文件重定向到 qrencode。

此文本已添加到名为“contact.txt”的文件中。

BEGIN:VCARD
VERSION:2.1
N:McKay,D
FN:Dave McKay
TEL;TYPE=voice,cell,pref:5555555555
TITLE:Journalist
ORG:CloudSavvyIT
EMAIL:dave@madeupdomain.com
URL:www.cloudsavvyit.com
END:VCARD

我们可以像这样将此文件重定向到 qrencode:

qrencode -s 6 -l H -o "contact.png" < contact.txt

它生成的 QR 码在代码模式中的块比我们目前看到的要多得多。这是因为我们在模式中编码了更多信息,并且我们使用了最高级别的纠错。

如您所料,扫描应用程序会提供将其添加为联系人的功能。但是因为它检测到信息中有电话号码,所以它还提供了拨打该号码的功能。同样,它也检测到电子邮件地址并提供发送电子邮件。

使用二维码添加日历事件

将事件添加到日历与添加联系人非常相似。最好将数据添加到重定向到 qrencode 的文件中。

此文本已添加到名为“event.txt”的文件中。

BEGIN:VEVENT
SUMMARY:Works Picnic
DESCRIPTION:Fun, food, and games in the sun
LOCATION:Eastwood Park
DTSTART:20210710T103000
DTEND:20210710T154500
END:VEVENT

这被重定向到 qrencode 中,如下所示:

qrencode -s 6 -l H -o "event.png" < event.txt

这是包含日历事件的 QR:

扫描应用程序解码事件如下:

用户可以通过点击“添加事件”图标将事件添加到他们的日历中。

这么多用途

QR 码可以放在任何地方:电子邮件签名、宣传资料、海报、传单、硬件上的贴纸、网站、产品包装、产品标签等等。

他们可以提供各种信息或功能。贴在硬件上的标签上的二维码可以打开最新版本的服务手册或用户指南。

海报可以带有一个二维码,用于将活动添加到您的日历中,另一个二维码可以为您提供前往场地的路线。

只需要一点创造力、一些诀窍和 qrencode。

©2015-2025 艾丽卡 support@alaica.com