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

命令与脚本:其他实用工具 · 模拟不同架构的计算机至记忆、笔记、参考文献与信息阅读 ​

返回分篇目录

模拟不同架构的计算机 ​

按目标架构选择 QEMU 系统模拟器,分别保留启动磁盘、内存和设备参数。

qemu-system-i386 · 模拟 i386 架构 ​

更多信息:https://www.qemu.org/docs/master/system/target-i386.html。

  • 从一个模拟 i386 架构的镜像启动:
bash
qemu-system-i386 -hda {{image_name.img}} -m {{4096}}
  • 从一个实时 ISO 镜像启动 QEMU 实例:
bash
qemu-system-i386 -hda {{image_name.img}} -m {{4096}} -cdrom {{os_image.iso}} -boot d
  • 从物理设备启动(例如从 USB 启动以测试可引导介质):
bash
qemu-system-i386 -hda {{/dev/storage_device}} -m {{4096}}
  • 不显示图形窗口,将串口和监视器重定向到当前终端(-nographic):
bash
qemu-system-i386 -hda {{image_name.img}} -m {{4096}} -nographic
  • 退出无图形界面的 QEMU:
bash
<Ctrl a><x>
  • 列出支持的机器类型:
bash
qemu-system-i386 {{[-M|-machine]}} help

qemu-system-x86_64 · 模拟 x86_64 架构 ​

模拟 x86_64 架构。 更多信息:https://www.qemu.org/docs/master/system/target-i386.html。

  • 从一个模拟 x86_64 架构的镜像启动:
bash
qemu-system-x86_64 -hda {{镜像名称.img}} -m {{4096}}
  • 从一个 Live ISO 镜像启动 QEMU 实例:
bash
qemu-system-x86_64 -hda {{镜像名称.img}} -m {{4096}} -cdrom {{操作系统镜像.iso}} -boot d
  • 从物理设备启动(例如:从 USB 启动以测试一个可启动介质):
bash
qemu-system-x86_64 -hda {{/dev/存储设备}} -m {{4096}}
  • 不显示图形窗口,将串口和监视器重定向到当前终端(-nographic):
bash
qemu-system-x86_64 -hda {{镜像名称.img}} -m {{4096}} -nographic
  • 退出非图形界面的 QEMU:
bash
<Ctrl a><x>
  • 列出支持的机器类型:
bash
qemu-system-x86_64 {{[-M|-machine]}} help

qemu-system-riscv64 · 模拟 riscv64 架构 ​

更多信息:https://www.qemu.org/docs/master/system/target-riscv.html。

  • 启动一个模拟 riscv64 架构的内核:
bash
qemu-system-riscv64 {{[-M|-machine]}} virt -bios none -kernel {{kernel.elf}} -nographic
  • 列出支持的机器类型:
bash
qemu-system-riscv64 {{[-M|-machine]}} help
  • 退出无图形界面的 QEMU:
bash
<Ctrl a><x>

发现资产、分析固件与管理网络身份 ​

amass、binwalk、androguard 分别面向资产、固件和 Android 应用;ZeroTier 身份、AdGuardHome 和 Ansible 资源管理另列。

amass · 深度攻击面探测与资产发现工具 ​

此命令也有关于其子命令的文件,例如:intel。 更多信息:https://github.com/owasp-amass/amass。

  • 执行 Amass 子命令:
bash
amass {{intel|enum}} {{options}}
  • 展示帮助信息:
bash
amass -help
  • 展示子命令帮助信息:
bash
amass {{intel|enum}} -help
  • 查看 Amass 版本:
bash
amass -version

binwalk · 固件分析工具 ​

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

  • 扫描一个二进制文件:
bash
binwalk {{二进制文件}}
  • 解压一个二进制文件并指定输出目录:
bash
binwalk {{[-e|--extract]}} {{[-C|--directory]}} {{输出目录}} {{二进制文件}}
  • 递归解压一个二进制文件并限制递归深度为 2:
bash
binwalk {{[-e|--extract]}} {{[-M|--matryoshka]}} {{[-d|--depth]}} 2 {{二进制文件}}
  • 解压一个二进制文件并指定文件签名:
bash
binwalk {{[-D|--dd]}} '{{png image:png}}' {{二进制文件}}
  • 分析一个二进制文件的熵,用与文件相同的名字和 .png 后缀保存绘图:
bash
binwalk {{[-E|--entropy]}} {{[-J|--save]}} {{二进制文件}}
  • 在单条命令中组合熵、签名和操作码分析:
bash
binwalk {{[-E|--entropy]}} {{[-B|--signature]}} {{[-A|--opcodes]}} {{二进制文件}}

androguard · 使用 Python 编写的一款针对安卓应用的逆向工程工具 ​

更多信息:https://github.com/androguard/androguard。

  • 展示 Android manifest 清单文件:
bash
androguard axml {{路径/至/应用}}.apk
  • 展示 app 元数据(版本和 app ID):
bash
androguard apkid {{路径/至/应用}}.apk
  • 反编译 Java 代码:
bash
androguard decompile {{路径/至/应用}}.apk --output {{路径/至/目录}}

zerotier-idtool · 创建和操作 ZeroTier 身份 ​

另请参阅:zerotier-cli, zerotier-one。 更多信息:https://github.com/zerotier/ZeroTierOne/blob/dev/doc/zerotier-idtool.1.md。

  • 生成一个新的 ZeroTier 身份,并将私钥部分输出到 stdout:
bash
zerotier-idtool generate
  • 生成一个新的 ZeroTier 身份,并将私钥和公钥部分保存到文件中:
bash
zerotier-idtool generate {{路径/到/identity.secret}} {{路径/到/identity.public}}
  • 生成一个具有指定十六进制靓号前缀的 ZeroTier 身份(可能需要很长时间):
bash
zerotier-idtool generate {{路径/到/identity.secret}} {{路径/到/identity.public}} {{靓号_前缀}}
  • 从私钥身份中提取公钥部分:
bash
zerotier-idtool getpublic {{路径/到/identity.secret}}
  • 使用私钥身份对文件进行签名:
bash
zerotier-idtool sign {{路径/到/identity.secret}} {{路径/到/文件}}
  • 使用公钥身份和一个十六进制签名来验证已签名的文件:
bash
zerotier-idtool verify {{路径/到/identity.public}} {{路径/到/文件}} {{签名_十六进制}}
  • 在本地验证一个身份的密钥和工作量证明:
bash
zerotier-idtool validate {{路径/到/identity.public}}
  • 显示帮助:
bash
zerotier-idtool help

AdGuardHome · 一款全网广告拦截与反跟踪软件 ​

更多信息:https://github.com/AdguardTeam/AdGuardHome。

  • 运行 AdGuard Home:
bash
AdGuardHome
  • 使用给定的配置文件运行 AdGuard Home:
bash
AdGuardHome --config {{给定的/配置文件.yaml}}
  • 设置存储数据的工作目录:
bash
AdGuardHome --work-dir {{工作目录/路径}}
  • 安装或卸载 AdGuard Home 的服务:
bash
AdGuardHome --service {{install|uninstall}}
  • 启动 AdGuard Home 的服务:
bash
AdGuardHome --service start
  • 刷新 AdGuard Home 服务的设置项:
bash
AdGuardHome --service reload
  • 停止或重启 AdGuard Home 的服务:
bash
AdGuardHome --service {{stop|restart}}

ansible-galaxy · 执行与 Ansible 角色和集合相关的各种操作 ​

更多信息:https://docs.ansible.com/projects/ansible/latest/cli/ansible-galaxy.html。

  • 列出已安装的角色或集合:
bash
ansible-galaxy {{role|collection}} list
  • 使用不同的详细等级搜索角色(-v 应该放在最后):
bash
ansible-galaxy role search {{关键字}} -v{{vvvvv}}
  • 安装或移除角色:
bash
ansible-galaxy role {{install|remove}} {{角色名称1 角色名称2 ...}}
  • 创建一个新角色:
bash
ansible-galaxy role init {{角色名称}}
  • 获取关于角色的信息:
bash
ansible-galaxy role info {{角色名称}}
  • 安装或移除集合:
bash
ansible-galaxy collection {{install|remove}} {{集合名称1 集合名称2 ...}}
  • 显示关于角色或集合的帮助信息:
bash
ansible-galaxy {{role|collection}} {{[-h|--help]}}

scrapy · Web 爬取框架 ​

更多信息:https://docs.scrapy.org/en/latest/topics/commands.html#using-the-scrapy-tool。

  • 创建一个项目:
bash
scrapy startproject {{项目名}}
  • 创建一个爬虫(在项目目录下):
bash
scrapy genspider {{爬虫名}} {{站点域名}}
  • 编辑爬虫(在项目目录下):
bash
scrapy edit {{爬虫名}}
  • 运行爬虫(在项目目录下):
bash
scrapy crawl {{爬虫名}}
  • 抓取一个网页并将它的网页源码打印至标准输出:
bash
scrapy fetch {{url}}
  • 使用默认浏览器打开给定的 URL 来确认是否符合期望(为确保准确会禁用 JavaScript):
bash
scrapy view {{url}}
  • 通过给定的 URL 打开交互窗口,除此之外还支持 UNIX 风格的本地文件路径:
bash
scrapy shell {{url}}

记忆、笔记、参考文献与信息阅读 ​

学习记忆、Markdown 笔记与参考书目分别查 anki、QOwnNotes、zotero;邮件/RSS、文章、地图编辑和单位换算保留在同一组后半部分。

anki · 强大、智能的记忆卡片软件 ​

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

  • 启动 anki:
bash
anki
  • 用一个特定的配置文件启动 anki:
bash
anki {{[-p|--profile]}} {{配置文件名称}}
  • 以特定语言启动 anki:
bash
anki {{[-l|--lang]}} {{语言}}
  • 从一个特定的目录而不是默认的(~/Anki)启动anki:
bash
anki {{[-b|--base]}} {{路径/到/目录}}

QOwnNotes · Markdown 笔记应用程序 ​

可以选择与 Nextcloud 和 ownCloud 的笔记应用程序集成。 另请参阅:qc。 更多信息:https://www.qownnotes.org/getting-started/cli-parameters.html。

  • 以便携模式运行:
bash
QOwnNotes --portable
  • 在 GitHub Markdown 中转储应用程序和环境的设置信息:
bash
QOwnNotes --dump-settings
  • 为设置和内部文件指定不同的上下文:
bash
QOwnNotes --session {{test}}
  • 应用程序启动后触发一个菜单操作:
bash
QOwnNotes --action {{actionShow_Todo_List}}

zotero · 管理你的参考书目 ​

更多信息:https://www.zotero.org/support/。

  • 使用图形用户界面运行:
bash
zotero
  • 以无头模式运行:
bash
zotero --headless
  • 使用特定的用户配置运行:
bash
zotero -P {{用户配置}}
  • 运行迁移助手:
bash
zotero --migration

thunderbird · 电子邮件客户端和 RSS 阅读器 ​

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

  • 打开 Thunderbird:
bash
thunderbird
  • 使用特定用户配置文件:
bash
thunderbird -P {{配置文件名称}}
  • 使用特定用户配置文件夹:
bash
thunderbird --profile {{路径/到/配置文件/文件夹}}

zm · 一个管理报纸和博客文章的工具 ​

更多信息:https://github.com/ZERMZeitung/zm2。

  • 创建一个新的草稿:
bash
zm new
  • 编辑草稿:
bash
zm edit
  • 发布草稿并使用 git 提交:
bash
zm publish

josm · 可扩展的 OpenStreetMap 编辑器,适用于 Java 8+ ​

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

  • 启动 JOSM:
bash
josm
  • 在最大化模式下启动 JOSM:
bash
josm --maximize
  • 启动 JOSM 并设置特定的语言:
bash
josm --language {{de}}
  • 启动 JOSM 并将所有首选项重置为默认值:
bash
josm --reset-preferences
  • 启动 JOSM 并下载指定的边界框:
bash
josm --download {{minlat,minlon,maxlat,maxlon}}
  • 启动 JOSM 并以原始 GPS 格式下载指定的边界框:
bash
josm --downloadgps {{minlat,minlon,maxlat,maxlon}}
  • 启动 JOSM 并且不加载插件:
bash
josm --skip-plugins

units · 提供两个度量单位之间的转换 ​

更多信息:https://www.gnu.org/software/units/manual/units.html。

  • 以交互模式运行:
bash
units
  • 在交互模式下列出包含特定字符串的所有单位:
bash
search {{字符串}}
  • 显示两个简单单位之间的转换:
bash
units quarts tablespoons
  • 单位与数量之间的转换:
bash
units "15 pounds" kilograms
  • 显示两个复合单位之间的转换:
bash
units "meters / second" "inches / hour"
  • 显示面积单位之间的转换(维度必须相容):
bash
units acres "ft^2"
  • 显示字节乘数的转换:
bash
units "15 megabytes" bytes

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

继续阅读