導航:首頁 > 操作系統 > linux讀寫二進制文件

linux讀寫二進制文件

發布時間:2022-09-21 20:19:36

linux 怎麼看 文件二進制

一、在Linux下查看二進制文件的軟體:

xxd (2進制)

hexmp (16進制)

二、編輯:

1、biew

2、hexedit

3、vim

Vim 來編輯二進制文件。Vim 本非為此而設計的,因而有若干局限。但你能讀
取一個文件,改動一個字元,然後把它存檔。結果是你的文件就只有那一個字元給改了,
其它的就跟原來那個一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數:
vim -b datafile
這個參數設定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'
設為零,免得文本行給擅自排版了。並且,文件一律以 Unix 文件格式讀取。
二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字元,那會讓程序運
行出問題。用 "R" 命令進入替換模式。
文件里的很多字元都是不可顯示的。用 Hex 格式來顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來顯示游標下的字元值。當游標位於一個 字元上時,
該命令的輸出看起來就像這樣:
27, Hex 1b, Octal 033
文件中也許沒那麼多換行符。你可以關閉 'wrap' 選項來獲得總覽的效果:
:set nowrap
字 節 位 置
要發現你在文件中的當前位元組位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最後兩個數字就是文件中的當前位元組位置和文件位元組總數。這已經考慮了 'fileformat'
選項導致換行符位元組不同的影響。
要移到文件中某個指定的位元組,請用 "Go" 命令。例如,要移到位元組 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發布的。
首先以二進制方式編輯這個文件:
vim -b datafile
現在用 xxd 把這個文件轉換成十六進制:
:%!xxd
文本看起來像這樣:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。
修改了十六進制部分並不導致可顯示字元部分的改變,反之亦然。
最後,用下面的命令把它轉換回來:
:%!xxd -r
只有十六進制部分的修改才會被採用。右邊可顯示文本部分的修改忽略不計。

⑵ linux下C++讀寫二進制文件錯誤

怎麼存的怎麼讀肯定沒問題,不是自己存的想分析某個2進制文件 用utrledit 打開分析一下,看看,位元組對齊了?數數sizeof?---參考

⑶ linux 二進制文件怎麼打開

1、在Fedora桌面打開「Applications」-「System Tools」-「Terminal」打開命令終端,為vi編輯做准備。

⑷ 請教linux下面C語言文件讀寫方法,二進制文件為ims.bin,內容為FFFFFFFD,如何讀到整型變數,即值為為-3

intx;
FILE*fin=fopen(...);
fread(&x,sizeof(int),fin);
printf("%d",x);

大體思路如此。

數組的也類似:

inta[10];
fread(a,sizeof(int)*10,fin);/*注意a前面沒有&*/

⑸ 在linux下,怎樣用c語言按行讀取二進制文件,並寫入到另一個文件中

二進制文件分行嗎?文本文件吧?
你查一下fgets的api吧~有事查api自己鑽研才有趣。
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm

⑹ Linux下有什麼好用的二進制文件編輯器

一、在Linux下查看二進制文件的軟體:
xxd (2進制)
hexmp (16進制)
二、編輯:
1、biew
2、hexedit
3、vim
Vim 來編輯二進制文件。Vim 本非為此而設計的,因而有若干局限。但你能讀
取一個文件,改動一個字元,然後把它存檔。結果是你的文件就只有那一個字元給改了,
其它的就跟原來那個一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數:
vim -b datafile
這個參數設定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'
設為零,免得文本行給擅自排版了。並且,文件一律以 Unix 文件格式讀取。
二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字元,那會讓程序運
行出問題。用 "R" 命令進入替換模式。
文件里的很多字元都是不可顯示的。用 Hex 格式來顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來顯示游標下的字元值。當游標位於一個 字元上時,
該命令的輸出看起來就像這樣:
27, Hex 1b, Octal 033
文件中也許沒那麼多換行符。你可以關閉 'wrap' 選項來獲得總覽的效果:
:set nowrap
字 節 位 置
要發現你在文件中的當前位元組位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最後兩個數字就是文件中的當前位元組位置和文件位元組總數。這已經考慮了 'fileformat'
選項導致換行符位元組不同的影響。
要移到文件中某個指定的位元組,請用 "go" 命令。例如,要移到位元組 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發布的。
首先以二進制方式編輯這個文件:
vim -b datafile
現在用 xxd 把這個文件轉換成十六進制:
:%!xxd
文本看起來像這樣:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。
修改了十六進制部分並不導致可顯示字元部分的改變,反之亦然。
最後,用下面的命令把它轉換回來:
:%!xxd -r
只有十六進制部分的修改才會被採用。右邊可顯示文本部分的修改忽略不計。
樓主如果對Linux感興趣,想學習更多Linux操作知識,可以網路《Linux就該這么學》,相信會有幫助的。

⑺ linux file命令詳解

linux系統下file命令用於查詢文件類型。平時我們判定一個文件的類型通常是通過該文件的擴展名,而file命令是通過詳細閱讀文件內容,找到特徵量來判定文件類型。下面是file命令的具體內容:
1、file命令判定文件類型的順序:
查詢Device,Directory,Symbolic等特殊文件
查詢壓縮文件
查詢tar文件
基於Magic資料庫文件的查詢
查詢ASCII,UNICODE等類型的文本文件
如果以上都不符合,則文件為二進制文件
2、原理:
file命令通過讀取保存著各種文件特性的資料庫信息和被判定文件進行匹配,資料庫文件保存在/etc/magic、/usr/share/misc/file/magic或其他位置。
0string\177ELFELF
>4byte0invalidclass
>4byte132bit
>5byte1LSB
>>16leshort2executable
3、magic文件由4部分組成:
偏移量
數據類型

輸出字元串
magic文件的更多格式信息可以通過manmagic來查看。

以上就是小編今天的分享了,希望可以幫助到大家。

⑻ linux下二進制文件的用法

在終端中切換到/root目錄然後./flashplayer運行這個程序。。 因為這里顯示的是可執行的二進制文件所以才是和exe類似的程序的,並不是所有的二進制文件都能執行的。

⑼ linux 怎麼看完二進制文件

查看二進制文件,用od或hexmp命令。


$od-tx1-tc-AxbinFile

abcde12345abcde1

2345abcde12345ab
00002063646531323334350a
cde12345
000029

-tx1選項表示將文件中的位元組以十六進制的形式列出來,每組一個位元組(類似hexmp的-c選項)

-tc選項表示將文件中的ASCII碼以字元形式列出來(和hexmp類似,輸出結果最左邊的一列是文件中的地址,默認以八進制顯示)

-Ax選項要求以十六進制顯示文件中的地址

⑽ linux 下如何命令寫二進制文件

用 xxd:

echoe799bee5baa653420a|xxd-r-ps>file
閱讀全文

與linux讀寫二進制文件相關的資料

熱點內容
rf3148編程器 瀏覽:505
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:801
倩女幽魂老伺服器如何玩 瀏覽:561
電子鍾單片機課程設計實驗報告 瀏覽:999
看加密頻道 瀏覽:381
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44
簡述vi編譯器的基本操作 瀏覽:507
讓程序員選小號 瀏覽:91
加強數字貨幣國際信息編譯能力 瀏覽:584
購買的app會員怎麼退安卓手機 瀏覽:891
程序員的種類及名稱 瀏覽:295