怎样使用vi编辑器修改Linux中的二进制文件

\u600e\u6837\u4f7f\u7528vi\u7f16\u8f91\u5668\u4fee\u6539Linux\u4e2d\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6

\u9996\u5148\u5f97\u6709\u6743\u9650\u4fee\u6539 \u4fdd\u5b58\u662f: Esc\u5230\u547d\u4ee4\u6a21\u5f0f, \u6572\u5192\u53f7:, \u518dwq!(3\u4e2a\u5b57\u7b26),\u5c31\u4fdd\u5b58\u9000\u51fa\u4e86, [w\u662f\u4fdd\u5b58,q\u662f\u9000\u51fa,\u53ef\u5355\u7528,!\u662f\u5f3a\u5236] \u4e5f\u53ef\u4ee5\u662fShift+ZZ,\u4fdd\u5b58\u9000\u51fa\u7684\u610f\u601d

\u7528vi\u8fdb\u53bb\uff1avi abc.txt(\u6587\u4ef6)
\u6309i\u952e\u540e\uff0c\u5c31\u53ef\u4ee5\u6539\u4e86\uff0c
\u6539\u5b8c\u540e\uff0c\u6309Esc\u952e\uff0c\u5728\u8f93\u5165\u201c\uff1awq\u201d\u5c31\u53ef\u4ee5\u4fdd\u5b58\u9000\u51fa\u4e86

使用过Linux的人基本上都对vi有些许了解,这是Linux各种发行版都会有的标准文本编辑器,功能很强大。他不但能编辑正常的ASCII/ASIN文本文档,也可以编辑二进制文档的,这里我们就以Fedora为例来看一下如何使用vi编辑二进制文档。
工具/原料

安装了Linux的计算机/笔记本电脑
vi编辑器和需要编辑的二进制文件
方法/步骤

在Fedora桌面打开“Applications”-“System Tools”-“Terminal”打开命令终端,为vi编辑做准备。

在终端切换到要编辑的二进制文件目录,然后输入“vi -b test.bin”,其中“test.bin”是我要编辑的二进制文件。当然也可以直接指定vi要打开编辑的文件路径。“-b”参数,就是告诉vi编辑器,我是在用二进制模式打开文件的。

打开文件之后,我们是很难看到文件实际内容的,因为是二进制的,文件不是可读的,因此也不能直接编辑和修改的。这时,我们可以使用命令“:%xxd”强制将其转化为可读的十六进制显示,就可以使用正常的vi命令对文件进行编辑了。

转化之后的文件内容以十六进制表示,左侧是文件偏移值。我们计划将文件编译00000010开始的4个十六进制字符“FFFFFFFF”修改一下。

使用正常的vi编辑器命令将十六进制字符“FFFFFFFF”修改为“88888888”,修改完成后,使用esc命令返回到vi的命令模式,然后使用命令“:%xxd -r”就可以将其重新转化为二进制模式了。
步骤阅读
6
转化完成后,就可以看到,二进制显示的内容与没修改之前的内容已经有所差异。这时使用命令“:wq”保存退出就可以了。

  • linuxvim缂栬緫鍣鐨勭敤娉昹inuxvim缂栬緫
    绛旓細鎬庝箞鍦linux涓鐢╲im缂栧啓涓涓狢绋嬪簭锛熷厛缁堢杈撳叆 vimtest.c 杞﹁繘鍏vim缂栬緫鍣鍐嶆寜a閿繘鍏ョ紪杈戠姸鎬佽緭鍏璇█璇彞锛歩nclude intmain(){ printf("helloworld!n");} 鎸塭sc閿缂栬緫鐘舵佸啀杈撳叆鍐掑彿(shift+鍐掑彿鍙烽敭)绱ц窡鐫杈撳叆wq鍗宠緭鍏 :wq 鎸夎溅鍗虫帹vim缂栬緫鍣ㄧ粓绔懡浠ょ獥鍙o紙绫讳技xp鍛戒护鎻愮ず绗︼級杈撳叆 gcctest....
  • linux鐨剉im浣跨敤鏁欑▼linux鐨剉im浣跨敤
    绛旓細閲岄潰缂栬緫鍐呭濡備笅锛欵ncoding=UTF-8 Type=Application Exec=vim%f Icon=/usr/share/vim/vim48x48.png(杩欓噷鐨勫浘鏍囨槸鑷繁瀹氫箟鐨)Name=Vim Terminal=true NoDisplay=true 杩欐牱灏卞彲宸插湪鍙抽敭鑿滃崟涓嚭鐜皏im浠e紑鑿滃崟椤逛簡 鎬庝箞鍦linux涓鐢╲im缂栧啓涓涓狢绋嬪簭锛熷厛缁堢杈撳叆 vimtest.c 杞﹁繘鍏vim缂栬緫鍣鍐嶆寜a閿繘鍏...
  • linux 鎬庝箞浣跨敤vi缂栬緫鍣
    绛旓細鏈妯″紡锛氬彲瀹屾垚涓浜涘鏉傛搷浣滐紝浠":"寮濮嬶紝鎵ц瀹屼竴涓湯琛屽懡浠ゅ悗鑷姩杩斿洖鍛戒护妯″紡 浜.鍩烘湰浣跨敤 1.vi 缂栬緫鍣鐨勫惎鍔ㄤ笌閫鍑猴細(1).浣跨敤鍛戒护"vi"鐩存帴杩涘叆缂栬緫鐜 (2).鍦ㄥ懡浠ゆā寮忎笅杈撳叆":q!"锛屽彲浠ュ己琛岄鍑虹紪杈戠幆澧冿紝瀵规枃浠淇敼涓嶈繘琛屼繚瀛 (3).浠ユ枃浠跺悕浣滀负"vi"鍛戒护鐨勫弬鏁版椂锛岃嫢瀛樺湪姝ゆ枃浠讹紝鍒檝i...
  • 鎬庢牱浣跨敤vi缂栬緫鍣ㄤ慨鏀筁inux涓殑浜岃繘鍒舵枃浠
    绛旓細鐢╒im缂栬緫鍣ㄤ慨鏀浜岃繘鍒舵枃浠堕渶瑕乂im鍜寈xd鍛戒护閰嶅悎锛岄鍏堢敤Vim鐨-d閫夐」鏉ユ墦寮鏂囦欢锛屼竴瀹氳鍔-d閫夐」锛歷im -d test.bin锛岀劧鍚庡湪Vim涓墽琛屽涓嬪懡浠わ細:%!xxd锛屾帴鐫灏卞彲浠ヤ换鎰缂栬緫淇敼浜岃繘鍒舵枃浠朵簡銆備慨鏀瑰畬鎴愬悗锛屽厛鍦╒im涓墽琛岋細:%!xxd -r锛岀劧鍚庣敤:wq灏卞彲浠ヤ繚瀛樹慨鏀逛簡銆
  • 濡備綍鍦linux涓vi浣跨敤鏂规硶
    绛旓細鍜岃澶氬厛杩涚殑缂栬緫鍣涓鏍,vi 鎻愪緵浜嗗己澶х殑瀛楃涓叉悳绱㈠姛鑳姐 瑕佹煡鎵炬枃浠朵腑鎸囧畾瀛楁垨鐭鍑虹幇鐨勪綅缃,鍙互 鐢╲i 鐩存帴杩涜鎼滅储,鑰屼笉蹇呬互鎵嬪伐鏂瑰紡杩涜銆 鎼滅储鏂规硶鏄:閿叆瀛楃 / ,鍚庨潰璺熶互瑕佹悳绱㈢殑瀛楃涓,鐒跺悗 鎸夊洖杞﹂敭銆 缂栬緫绋嬪簭鎵ц姝e悜鎼滅储(鍗虫湞鏂囦欢鏈熬鏂瑰悜),骞跺湪鎵惧埌鎸囧畾瀛楃涓插悗,灏嗗厜鏍囧仠鍒拌瀛楃涓茬殑 寮澶;閿...
  • linux涓鎬庝箞娣诲姞鎴淇敼閰嶇疆鏂囦欢
    绛旓細1銆侀鍏堣緫閰嶇疆鏂囦欢锛屾坊鍔犱笅闈㈢殑杩欎竴琛 銆2銆佺劧鍚缂栬緫/etc/passwd鏂囦欢锛屾坊鍔犱笅闈㈢殑淇℃伅 銆3銆佺劧鍚庡垱寤哄鐩綍/home/zouni锛岀劧鍚庡啀灏/etc/skel褰撲腑鐨勬枃浠堕兘鎷疯礉杩囧幓銆4銆佺劧鍚庢垜浠啀鍘昏缃敤鎴风殑瀵嗙爜锛屾垜浠彲浠浣跨敤openssl 鐨勮繖涓伐鍏锋潵杩涜鐢熸垚锛屽叾涓-1 琛ㄧず鐨勬槸浣跨敤MD5鐨勬柟寮忥紝-salt 琛ㄧず杩涜鍔犵洂銆5銆...
  • linux鍛戒护vi鏂囨湰缂栬緫鍣鐨浣跨敤鏂规硶
    绛旓細2. Insert mode锛氬敮鏈夊湪Insert mode涓嬶紝鎵嶅彲鍋氭枃瀛楁暟鎹緭鍏ワ紝鎸塃sc绛夊彲鍥炲埌Comand mode銆3. Last line mode锛氬皢鍌ㄥ瓨鏂囦欢鎴栫寮缂栬緫鍣锛屼篃鍙缃紪杈戠幆澧冿紝濡傚鎵惧瓧绗︿覆銆佸垪鍑鸿鍙风瓑銆備笉杩囧彲浠ユ妸vi绠鍖栨垚涓や釜妯″紡锛屽嵆鏄皢Last line mode涔熺畻鍏ommand mode,鎶妚i鍒嗘垚Command 鍜孖nsert mode銆倂i鐨勫熀鏈搷浣...
  • Linux 涓 vi /etc/sysctl.conf 濡備綍缂栬緫
    绛旓細1銆vi缂栬緫鍣鍙互閫氳繃i銆乷銆乤绛夊懡浠ょ洿鎺ヨ繘鍏ョ紪杈戞ā寮忥紝鐒跺悗灏卞彲浠淇敼鏂囦欢浜嗭紝vi/vim鐨勫伐浣滄ā寮忓涓嬪浘鎵绀:璇存槑锛1锛夋彃鍏ユā寮忥細i鍦ㄥ厜鏍囧墠鎻掑叆锛堥粯璁ゅ厜鏍囦负鏂瑰潡锛夛紝a鍒欐槸鍦ㄥ厜鏍囧悗鎻掑叆锛宱涓烘柊璧蜂竴琛屽苟杩涘叆鎻掑叆妯″紡銆2锛:wq鏄懡浠ゆā寮忥紝鐩存帴淇濆瓨骞堕鍑簐i銆備簩銆/etc/sysctl.conf鏄竴涓厑璁鏀瑰彉姝e湪杩愯涓...
  • linux缂栬緫鏂囦欢鍛戒护vimlinux缂栬緫鏂囦欢鍛戒护
    绛旓細3.杩涘叆缂栬緫鍣浠ュ悗鎴戜滑鎸変笅insert閿繘鍏ユ彃鍏ユā寮忥紝濡備笅鍥炬墍绀猴紝杩欐椂鍙互缂栬緫鍐呭 4.鏈鍚庣紪杈戝畬鍐呭浠ュ悗鎸塃SC閿鍑虹紪杈戞ā寮忥紝鎺ョ潃鎸夊啋鍙烽敭锛岀劧鍚庤緭鍏ヤ繚瀛樺苟閫鍑猴紝濡備笅鍥炬墍绀 濡備綍鍦linux涓嬬紪杈戝拰淇敼鏂囦欢锛1銆佸紑鍚竴涓櫄鎷熸満锛屼娇鐢╟trl+alt+t鎴栬呭弻鍑籺erminal杩涘叆缁堢鍛戒护鐣岄潰銆2銆浣跨敤vi+鏂囦欢鍙互锛堝垱寤猴級...
  • SSH鐧诲綍Linux鍚,濡備綍浣跨敤vi缂栬緫鍣缂栬緫鏂囦欢骞朵繚瀛?
    绛旓細棣栧厛寰楁湁鏉冮檺淇敼 淇濆瓨鏄: Esc鍒板懡浠ゆā寮, 鏁插啋鍙:, 鍐峸q!(3涓瓧绗),灏变繚瀛橀鍑轰簡, [w鏄繚瀛,q鏄鍑,鍙崟鐢,!鏄己鍒禲涔熷彲浠ユ槸Shift+ZZ,淇濆瓨閫鍑虹殑鎰忔
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网