温馨提示×

Ubuntu Strings 怎么编辑

小樊
40
2026-08-05 07:20:44
栏目: 智能运维

你说的 “Ubuntu Strings” 一般有两种常见理解,我分别说明,你可以看看你指的是哪一种。


一、如果你指的是 strings 命令(查看二进制文件中的字符串)

strings 是 Linux 下的一个查看工具,本身不能编辑,只能读取。

1️⃣ 基本用法

strings 文件名

例如:

strings a.out

2️⃣ 常见参数

strings -n 6 a.out        # 最少 6 个字符才显示
strings -t x a.out        # 显示字符串在文件中的偏移(十六进制)

3️⃣ 想“编辑”里面的字符串怎么办?

⚠️ 不能直接编辑,因为 strings 只是读取二进制内容。

如果你想修改二进制文件里的字符串,通常有几种方式:

✅ 方法一:修改源码后重新编译(推荐)

gcc test.c -o test

✅ 方法二:用十六进制编辑器(如 hexedit

sudo apt install hexedit
hexedit a.out

⚠️ 注意:

  • 只能替换 等长字符串
  • 改错可能导致程序无法运行

✅ 方法三:用 sed / 二进制替换(高风险)

sed -i 's/old_string/new_string/' binary_file

⚠️ 不推荐,极易破坏 ELF 结构


二、如果你指的是 Ubuntu 系统里的“字符串 / 翻译文件”(gettext / .po / .mo)

这是 国际化(i18n) 场景,常见于软件翻译。

1️⃣ .po 文件(可编辑)

msgid "Hello"
msgstr "你好"

编辑工具:

sudo apt install poedit

或:

vim messages.po

2️⃣ 编译成 .mo

msgfmt messages.po -o messages.mo

3️⃣ 查看 .mo 内容

msgunfmt messages.mo

三、如果你指的是 Ubuntu 的字符串资源(如 GTK / Qt 程序)

不同程序方式不同,例如:

  • GTK:.po / .mo
  • Qt:.ts / .qm

四、快速判断你到底想改什么

你可以回答我下面任意一个:

1️⃣ 是 命令行程序里的字符串
2️⃣ 是 二进制文件里的提示文字
3️⃣ 是 Ubuntu 系统界面/翻译文字
4️⃣ 是 某个具体软件(如 Firefox / bash / 自己写的程序)

我可以直接给你一步一步的操作方案

0