小编pio*_*kkr的帖子

如何使用 Bash 在二进制文件中查找 2 个字节,增加它们的值并替换?

我试图在二进制文件中找到两个字节,然后增加这两个字节的值并在文件中替换它们。这两个字节位于位置 0x82-0x83。现在我已经使用这个成功提取了这两个字节:

#!/usr/bin/env bash
BYTES=$(tail -c +131 "$1" | head -c 2)
Run Code Online (Sandbox Code Playgroud)

这些字节具有值:1B 1F. 我坚持:

  1. 如何将字节转换为整数?应该是6943十进制。
  2. 如何将二进制数据附加/回显到文件
  3. 如何在位置 0x82-0x83 的文件中写入增加的字节。我可以使用head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin,但必须有更好的方法。

我可以在 PHP 中做到这一点,它应该更容易,但我对如何在 bash 中做到这一点很感兴趣。

text-processing conversion binary replace

8
推荐指数
1
解决办法
5420
查看次数

bash PS1 256 色加粗

我想列出可以在 bash 控制台中使用的所有颜色。之后我想将提示设置为粗体和类似橙色的颜色。我用它来为我列出颜色代码:

for code in {0..255}; do echo -e "\e[38;05;${code}m $code: Test"; done
Run Code Online (Sandbox Code Playgroud)

但问题是如何让它加粗并保持颜色呢?

我在这里寻找了一些关于将其设置为粗体的建议:http://misc.flogisoft.com/bash/tip_colors_and_formatting,但我找不到任何结合粗体和 256 种颜色之一的代码。

colors bash prompt terminal

5
推荐指数
1
解决办法
6870
查看次数

如何使用全盘加密在启动后设置笔记本电脑屏幕亮度

我女朋友买了Lenovo Essential G500 i5-3230,我Linux Mint 16用全盘加密安装了它。它是标准安装,使用dmcrypt和进行加密LUKS。但屏幕亮度有问题,它0甚至在要求加密分区密码之前就设置为亮度。我通过添加以下内容部分修复了它:

\n\n
echo 50 > /sys/class/backlight/acpi_video0/brightness\n
Run Code Online (Sandbox Code Playgroud)\n\n

/etc/rc.local它会在输入正确的密码来安装加密分区后修复亮度。我想在此之前修复亮度,这样我就可以看到密码输入字段。/etc/rc.local是在安装加密磁盘后加载的,所以我想我需要以某种方式强制内核在加载自身之后和安装之前更改亮度。

\n\n

有没有办法告诉内核在启动后立即调整亮度?

\n\n

笔记本电脑显卡为:AMD\xc2\xae Radeon HD 8570M + Intel HD Graphics 4000

\n\n

更新

\n\n

我已经尝试过@derobert 建议的解决方案。我创建了 initramfs 脚本/etc/initramfs-tools/scripts/init-premount/local-backlight-brightness

\n\n
#!/bin/sh\nPREREQ=""\nprereqs()\n{\n    echo "$PREREQ"\n}\n\ncase $1 in\n    prereqs)\n        prereqs\n        exit 0\n    ;;\nesac\n\n. /usr/share/initramfs-tools/hook-functions\n# Begin real processing below this line\n\necho 50 > /sys/class/backlight/acpi_video0/brightness\n
Run Code Online (Sandbox Code Playgroud)\n\n

之后:

\n\n
$ sudo chmod a+rx /etc/initramfs-tools/scripts/init-premount/local-backlight-brightness\n$ sudo update-initramfs -u\n$ sudo …
Run Code Online (Sandbox Code Playgroud)

boot encryption initramfs linux-mint luks

5
推荐指数
1
解决办法
2738
查看次数