Linux Mint (应用软件— 二进制文件编辑器 :bless)

本文介绍如何在Linux环境下安装并使用bless二进制文件编辑器。bless是一款强大的十六进制编辑器,支持ASCII视图显示及基本编辑功能,并具备查找和替换等功能。

我们在工作中会操作二进制文件,在Windows下当然是使用ultraedit这个软件了,该软件的强大,我就不说了,相信很多人都明白。该软件也有Linux版本,不过它是收费软件,因此没有放到Linux的软件源中。如果我们想安装该软件,那么就需要到官网下载安装包进行安装。鉴于这两点原因,我们不准备在Linux上使用该软件。

在Linux下,我们可以使用bless这个软件来当作我们的二进制文件编辑器。bless是由Alexandros Frantzis编写的一款开源软件,我们使用时遵守GPL协议就可以,当然了感觉好用时,可以进行捐助。该软件已经放到Linux的软件源中,我们可以通过相关的命令进行安装。该软件的官网如下:http://home.gna.org/bless/index.html

我们使用的Linux系统中默认没有安装该软件,因此需要我们自己动手去安装。下面是安装的过程,请大家参考:

apt-cache search bless      //先搜索一下安装包
libtest-deep-perl - Perl module for extremely flexible deep comparisons
… //省略没有用的信息
libxml-tokeparser-perl - Simplified interface to XML::Parser
bless – 多功能的十六进制编辑器  //这个是我们想要的安装包

知道包名后,我们开始安装该软件,下面是详细的安装过程:

apt-get install bless 
  //使用apt安装命令进行安装
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  kbuild libgsoap4 libvncserver0 module-assistant
Use 'apt-get autoremove' to remove them.
将会安装下列额外的软件包:
  libglade2.0-cil
建议安装的软件包:
  monodoc-gtk2.0-manual
下列【新】软件包将被安装:
  bless libglade2.0-cil
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 555 个软件包未被升级。
需要下载 483 kB 的软件包。
解压缩后会消耗掉 1,334 kB 的额外空间。
您希望继续执行吗? [Y/n] y    //输入y,开始安装
获取:1 http://archive.ubuntu.com/ubuntu/ trusty/main libglade2.0-cil i386 2.12.10-5 [20.3 kB]
获取:2 http://archive.ubuntu.com/ubuntu/ trusty/universe bless all 0.6.0-4 [463 kB]
下载 483 kB,耗时 19秒 (24.2 kB/s)                                             
Selecting previously unselected package libglade2.0-cil.
(正在读取数据库 ... 系统当前共安装有 161479 个文件和目录。)
Preparing to unpack .../libglade2.0-cil_2.12.10-5_i386.deb ...
Unpacking libglade2.0-cil (2.12.10-5) ...
Selecting previously unselected package bless.
Preparing to unpack .../archives/bless_0.6.0-4_all.deb ...
Unpacking bless (0.6.0-4) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
正在设置 libglade2.0-cil (2.12.10-5) ...
* Installing 1 assembly from libglade2.0-cil into Mono
正在设置 bless (0.6.0-4) ...

安装完成后,我们清理无用的安装包,详细如下:

sudo apt-get autoremove 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包将被【卸载】:
  kbuild libgsoap4 libvncserver0 module-assistant
升级了 0 个软件包,新安装了 0 个软件包,要卸载 4 个软件包,有 555 个软件包未被升级。
解压缩后将会空出 4,619 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 161574 个文件和目录。)
Removing kbuild (1:0.1.9998svn2695+dfsg-1) ...
Removing libgsoap4:i386 (2.8.16-2) ...
Removing libvncserver0:i386 (0.9.9+dfsg-1ubuntu1.1) ...
Removing module-assistant (0.11.6) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.3) ...

到此这止,该软件已经安装好了。下面是bless启动后的截图,该图不是我电脑上的截图,是我们官网上获取的截图:

这里写图片描述

软件安装好后,我们就可以使用了。在Mint中它位于开始菜单的编程菜单下面,点击图标或者使用终端命令bless都可以启动该软件。该软件的主要功能是编辑二进制文件。使用它打开二进制文件后,它可以显示二进制文件的ASCII视图,除了基本的编辑功能外,它还支持查找和替换功能。

关于二进制文件编辑器:bless就介绍到这里吧,我们主要介绍了它在Linux系统中的安装方法 ,以后有其它的使用技巧了,再和大家分享。


<think> 嗯,用户现在的问题是询问如何在Linux系统中执行二进制文件的方法。从前面的引用资料来看,用户已经提供了一些相关的参考文献,其中包含了查看二进制文件、转换二进制文件到十六进制文本,以及在ARM环境下无法执行二进制文件的问题。不过用户当前的核心需求是执行二进制文件的具体方法。 首先需要明确用户提到的"二进制执行文件"指的是编译后的可执行程序,通常扩展名为无后缀或者.bin。Linux系统中的可执行文件分为两类:自身编译的和交叉编译的(如ARM架构)。用户引用的第三条提到了ARM环境的问题,说明用户可能涉及跨平台执行的情况,但当前问题更侧重于通用执行方法。 接下来需要整理执行二进制文件的通用步骤。首先想到的是给文件添加可执行权限,使用chmod +x命令。然后可以通过绝对路径、相对路径或环境变量来执行。如果程序需要管理员权限,则需使用sudo。对于不同架构的二进制文件,可能需要使用qemu等仿真工具,特别是当用户的环境是x86而程序是ARM编译的情况,这在引用[3]中也有提及。另外,用户可能不熟悉如何判断文件类型,所以file命令的使用也很重要,它能帮助确认二进制文件的架构和链接情况。 还要考虑用户可能的误区,比如直接运行没有执行权限的文件会提示权限不足,或者尝试运行动态链接但缺少库的文件。这时候需要补充ldd命令检查依赖库,以及安装对应库的方法。对于静态链接的文件则无需额外库支持,这点在回答中也需要区分说明。 然后需要验证引用资料中的信息是否适用。引用[1]主要讲查看和编辑二进制文件,与执行关联不大;引用[2]涉及二进制转十六进制文本,属于调试或分析操作,并非执行步骤;引用[3]提到qemu-arm无法运行的问题,提示用户注意架构兼容性。因此核心执行步骤主要依赖基础的系统知识,而非引用内容。 最后总结步骤时,应该按逻辑顺序排列:先检查文件属性,再授权,再执行,最后处理跨架构情况。同时需提醒常见错误如权限不足、库缺失、架构不匹配的解决方案。用户可能是开发者或系统管理员,步骤需要清晰简洁,避免冗余信息但覆盖关键点。 </think> 在Linux系统中执行二进制可执行文件的方法步骤如下: ### 🔧 基本执行方法 1. **赋予执行权限** 首次执行前需添加权限: ```bash chmod +x 文件名 # 例如:chmod +x myprogram ``` 2. **执行文件** ```bash ./文件名 # 例如:./myprogram ``` > 📌 **注意**:必须使用 `./` 指明当前目录路径,否则系统会到`$PATH`环境变量的目录中查找 --- ### 🔍 进阶情况处理 #### 情况1:依赖库缺失 - 使用 `ldd` 检查依赖: ```bash ldd 文件名 # 查看未满足的依赖库 ``` - 安装缺失库(以Debian系为例): ```bash sudo apt install 库名 ``` #### 情况2:跨架构运行(如ARM程序在x86环境) 需使用 `qemu` 仿真器(需提前安装): ```bash # 安装qemu(Debian系) sudo apt install qemu-user-static # 执行ARM程序 qemu-arm ./arm_program ``` > 💡 此场景对应引用中提到的`qemu-arm无法运行arm编译的二进制文件`问题[^3] #### 情况3:文件类型不匹配 检查文件格式: ```bash file 文件名 # 输出示例:ELF 64-bit LSB executable, x86-64... ``` 若显示 `Bash script`/`Perl script`等文本类型,需用对应解释器执行 --- ### 📦 环境配置建议 1. **添加自定义路径到`$PATH`** 编辑 `~/.bashrc` 添加: ```bash export PATH=$PATH:/你的/程序目录 ``` 使配置生效:`source ~/.bashrc` 之后可直接输入程序名执行 2. **静态链接程序** 编译时加 `-static` 选项(如 `gcc -static -o prog prog.c`)可避免库依赖问题 --- ### ⚠️ 注意事项 - **权限安全**:勿随意执行来源不明的二进制文件 - **架构匹配**:x86程序不能在ARM设备原生执行(需交叉编译) - **报错处理**: - `Permission denied` → 执行 `chmod +x` - `No such file or directory` → 检查路径拼写 - `command not found` → 检查`$PATH`或使用绝对路径 > 📚 更多二进制文件分析技巧可参考Linux二进制文件查看工具[^1]和格式转换方法[^2] --- ### 📌 相关问题 1. 如何排查Linux二进制文件执行时的`segmentation fault`错误? 2. 怎样将Windows的PE格式可执行文件转换为Linux可执行格式? 3. 如何给Linux二进制文件加壳或进行反汇编分析? 4. 解释`/lib/ld-linux.so.2`在动态链接中的作用机制? [^1]: Linux下查看二进制文件命令。linux下的二进制文件的编辑和查看http://blog.youkuaiyun.com/wangxiaoqin00007/article/details/6618003 一.在Linux下查看二进制文件软件 [^2]: Linux/Mac下二进制可执行文件与十六进制文本文件互转。假设 filebin 为可执行的二进制文件名。filebinhex为其对应的十六进制字符文件。 cat filebin | od -A n -v -t x1 | tr -d ' \n' > filebinhex.txt [^3]: linux arm 无法执行二进制文件,qemu-arm无法运行arm编译的二进制文件。我使用qemu,qemu-user和安装的gnueabi工具链运行Linux Mint 14。我用arm-linux-gnueabi-gcc test.c -o test编译了test.c。qemu-arm无法运行arm编译的二进制文件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值