Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

命令与脚本:网络连接与传输 · 启动应用服务与签发证书至浏览器、设备连接与桌面集成 ​

返回分篇目录

启动应用服务与签发证书 ​

应用服务、开发时浏览器刷新与 DNS 证书签发各自成条,避免把服务启动混进连通性排障。

gunicorn · Python 的 WSGI HTTP 服务器 ​

更多信息:https://docs.gunicorn.org/en/latest/run.html。

  • 运行 Python web 应用程序:
bash
gunicorn {{导入路径:应用程序}}
  • 在 localhost 上监听 8080 端口:
bash
gunicorn {{[-b|--bind]}} localhost:8080 {{导入路径:应用程序}}
  • 启用实时自动加载:
bash
gunicorn --reload {{导入路径:应用程序}}
  • 使用 4 个工作进程处理请求:
bash
gunicorn {{[-w|--workers]}} 4 {{导入路径:应用程序}}
  • 使用 4 个工作线程处理请求:
bash
gunicorn --threads 4 {{导入路径:应用程序}}
  • 通过 HTTPS 运行应用程序:
bash
gunicorn --certfile {{cert.pem}} --keyfile {{key.pem}} {{导入路径:应用程序}}

uvicorn · Python 的 ASGI HTTP 服务器,适用于异步项目 ​

更多信息:https://www.uvicorn.org/settings/。

  • 运行 Python Web 应用:
bash
uvicorn {{导入路径:应用对象}}
  • 在本地主机上监听端口 8080:
bash
uvicorn --host {{localhost}} --port {{8080}} {{导入路径:应用对象}}
  • 启用实时重新加载:
bash
uvicorn --reload {{导入路径:应用对象}}
  • 使用 4 个工作进程处理请求:
bash
uvicorn --workers {{4}} {{导入路径:应用对象}}
  • 通过 HTTPS 运行应用:
bash
uvicorn --ssl-certfile {{cert.pem}} --ssl-keyfile {{key.pem}} {{导入路径:应用对象}}

browser-sync · 启动一个本地的服务,可以监听文件改动,刷新浏览器 ​

更多信息:https://browsersync.io/docs/command-line。

  • 将指定目录发成服务:
bash
browser-sync start --server {{路径/到/目录}} --files {{路径/到/目录}}
  • 启动当前目录服务,同时监听指定目录下 CSS 文件的变动:
bash
browser-sync start --server --files '{{路径/到/目录/*.css}}'
  • 创建配置文件:
bash
browser-sync init
  • 按指定配置文件中的配置启动服务:
bash
browser-sync start --config {{配置文件}}

agate · 一个简单的 Gemini 网络协议的服务器 ​

更多信息:https://github.com/mbrubeck/agate。

  • 运行并生成一个私钥和证书:
bash
agate --content {{路径/到/内容}}/ --addr {{[::]:1965}} --addr {{0.0.0.0:1965}} --hostname {{example.com}} --lang {{en-US}}
  • 启动服务器:
bash
agate {{路径/到/文件}}
  • 显示帮助:
bash
agate {{[-h|--help]}}

mongod · MongoDB 数据库服务器 ​

更多信息:https://www.mongodb.com/docs/manual/reference/program/mongod/。

  • 指定存储目录(默认:Linux 和 macOS 为 /data/db,Windows 为 C:\data\db):
bash
mongod --dbpath {{路径/到/目录}}
  • 指定配置文件:
bash
mongod --config {{路径/到/文件}}
  • 指定监听的端口(默认:27017):
bash
mongod --port {{端口}}
  • 指定数据库分析级别。0 为关闭,1 仅慢操作,2 所有(默认:0):
bash
mongod --profile {{0|1|2}}

acme.sh --dns · 使用 DNS-01 挑战来签发 TLS 证书 ​

更多信息:https://github.com/acmesh-official/acme.sh/wiki。

  • 使用自动 DNS API 模式签发证书:
bash
acme.sh --issue --dns {{dns_gd}} --domain {{example.com}}
  • 使用自动 DNS API 模式签发通配符证书(用星号表示):
bash
acme.sh --issue --dns {{dns_namesilo}} --domain {{example.com}} --domain {{*.example.com}}
  • 使用 DNS 别名模式签发证书:
bash
acme.sh --issue --dns {{dns_cf}} --domain {{example.com}} --challenge-alias {{alias-for-example-validation.com}}
  • 在添加 DNS 记录后,通过指定自定义的等待时间(秒),在禁用 Cloudflare / Google DNS 自动轮询的同时签发证书:
bash
acme.sh --issue --dns {{dns_namecheap}} --domain {{example.com}} --dnssleep {{300}}
  • 使用手动 DNS 模式签发证书:
bash
acme.sh --issue --dns --domain {{example.com}} --yes-I-know-dns-manual-mode-enough-go-ahead-please

浏览器、设备连接与桌面集成 ​

网络浏览器和本地设备连接工具集中在此;fastboot、picocom、qdbus 的工作对象不同于 IP 网络排障。

firefox · 一个自由、开源的网络浏览器 ​

更多信息:https://wiki.mozilla.org/Firefox/CommandLineOptions。

  • 启动 Firefox 并打开网页:
bash
firefox {{https://www.duckduckgo.com}}
  • 打开新窗口:
bash
firefox --new-window {{https://www.duckduckgo.com}}
  • 打开隐私(隐身)窗口:
bash
firefox --private-window
  • 使用默认搜索引擎搜索“wikipedia”:
bash
firefox --search "{{wikipedia}}"
  • 在安全模式中启动 Firefox, 所有扩展会被禁用:
bash
firefox --safe-mode
  • 在无头模式中截取网页截屏:
bash
firefox --headless --screenshot {{路径/到/输出文件.png}} {{https://example.com/}}
  • 使用特定的配置文件允许多个单独的 Firefox 实例同时运行:
bash
firefox --profile {{路径/到/文件夹}} {{https://example.com/}}
  • 设置 Firefox 为默认浏览器:
bash
firefox --setDefaultBrowser

qutebrowser · 一个基于 PyQt5 的键盘驱动、类似 vim 的浏览器 ​

更多信息:https://qutebrowser.org/doc/qutebrowser.1.html。

  • 使用指定存储目录打开 qutebrowser:
bash
qutebrowser --basedir {{路径/到/目录}}
  • 使用临时设置打开 qutebrowser 实例:
bash
qutebrowser --set {{content.geolocation}} {{true|false}}
  • 恢复一个 qutebrowser 实例的指定会话:
bash
qutebrowser --restore {{会话名称}}
  • 启动 qutebrowser,使用指定方式打开所有 URL:
bash
qutebrowser --target {{auto|tab|tab-bg|tab-silent|tab-bg-silent|window|private-window}}
  • 使用临时基础目录打开 qutebrowser,并以 JSON 格式将日志打印到 stdout:
bash
qutebrowser --temp-basedir --json-logging

fastboot · 在引导加载程序模式下与连接的 Android 设备通信(在这里无法使用 ADB) ​

更多信息:https://cs.android.com/android/platform/superproject/+/main:system/core/fastboot。

  • 解锁引导加载程序:
bash
fastboot oem unlock
  • 回锁引导加载程序:
bash
fastboot oem lock
  • 从 fastboot 模式再次重启到 fastboot 模式:
bash
fastboot reboot bootloader
  • 刷入镜像:
bash
fastboot flash {{分区名}} {{路径/到/文件.img}}
  • 刷入自定义恢复镜像:
bash
fastboot flash recovery {{路径/到/文件.img}}
  • 列出已连接的设备:
bash
fastboot devices
  • 列出设备所有信息:
bash
fastboot getvar all

picocom · 模拟串行端口的极简程序 ​

另请参阅:minicom, cu, tio。 更多信息:https://manned.org/picocom。

  • 使用默认波特率 9600 连接到串行控制台:
bash
sudo picocom {{/dev/ttyXYZ}}
  • 以指定波特率连接到串行控制台:
bash
sudo picocom {{/dev/ttyXYZ}} {{[-b|--baud]}} {{波特率}}
  • 映射特殊字符(例如:将 LF 映射为 CRLF):
bash
sudo picocom {{/dev/ttyXYZ}} --imap {{lfcrlf}}
  • 退出 picocom:
bash
<Ctrl a><Ctrl x>
  • 显示帮助:
bash
picocom {{[-h|--help]}}

qdbus · 进程间通信 (IPC) 和远程过程调用 (RPC) 机制,最初在 Linux 上开发 ​

更多信息:https://doc.qt.io/qt-6/qtdbus-index.html。

  • 列出可用的服务名称:
bash
qdbus
  • 列出指定服务的对象路径:
bash
qdbus {{服务名}}
  • 列出指定对象可用的方法、信号和属性:
bash
qdbus {{服务名}} {{路径/到/对象}}
  • 执行指定方法,传递参数并显示返回值:
bash
qdbus {{服务名}} {{路径/到/对象}} {{方法名}} {{参数1}} {{参数2}}
  • 显示在 KDE Plasma 会话中的当前亮度值:
bash
qdbus {{org.kde.Solid.PowerManagement}} {{/org/kde/Solid/PowerManagement/Actions/BrightnessControl}} {{org.kde.Solid.PowerManagement.Actions.BrightnessControl.brightness}}
  • 设置 KDE Plasma 会话中的特定亮度:
bash
qdbus {{org.kde.Solid.PowerManagement}} {{/org/kde/Solid/PowerManagement/Actions/BrightnessControl}} {{org.kde.Solid.PowerManagement.Actions.BrightnessControl.setBrightness}} {{5000}}
  • 在 KDE Plasma 会话中调用音量增大快捷键:
bash
qdbus {{org.kde.kglobalaccel}} {{/component/kmix}} {{invokeShortcut}} "{{increase_volume}}"
  • 优雅地注销并然后选择不执行任何操作、重启或关机:
bash
qdbus {{org.kde.Shutdown}} {{/Shutdown}} {{logout|logoutAndReboot|logoutAndShutdown}}

gendesk · 通过指定少量信息的命令来生成.desktop文件以及下载图标 ​

更多信息:https://manned.org/gendesk。

  • 创建一个名为应用程序的.desktop文件:
bash
gendesk -n --name "{{应用程序}}" --exec "{{/路径/到/应用程序}}" --icon "{{/路径/到/图标.png}}" --comment "{{这是一个应用程序}}"
  • 创建一个名为应用程序的.desktop文件, 不显示任何输出,如果存在则覆盖同名文件:
bash
gendesk -q -f -n --name "{{应用程序}}" --exec "{{/路径/到/应用程序}}" --icon "{{/路径/到/图标.png}}" --comment "{{这是一个应用程序}}"
  • 显示帮助:
bash
gendesk {{[-h|--help]}}

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读