查看二進(jìn)制文件,用od或hexdump命令。
10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有蘭山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
$?od?-tx1?-tc?-Ax?binFile
000000??61??62??63??64??65??31??32??33??34??35??61??62??63??64??65??31
a???b???c???d???e???1???2???3???4???5???a???b???c???d???e???1
000010??32??33??34??35??61??62??63??64??65??31??32??33??34??35??61??62
2???3???4???5???a???b???c???d???e???1???2???3???4???5???a???b
000020??63??64??65??31??32??33??34??35??0a
c???d???e???1???2???3???4???5??\n
000029
-tx1選項(xiàng)表示將文件中的字節(jié)以十六進(jìn)制的形式列出來(lái),每組一個(gè)字節(jié)(類似hexdump的-c選項(xiàng))
-tc選項(xiàng)表示將文件中的ASCII碼以字符形式列出來(lái)(和hexdump類似,輸出結(jié)果最左邊的一列是文件中的地址,默認(rèn)以八進(jìn)制顯示)
-Ax選項(xiàng)要求以十六進(jìn)制顯示文件中的地址
命令的語(yǔ)法通用格式 :
# COMMAND OPTIONS ARGUMENTS
大體上可以分為3部分: 命令,選項(xiàng),參數(shù)
COMMAND,命令 :
命令本身是一個(gè)二進(jìn)制格式的可執(zhí)行的程序文件,有可能會(huì)調(diào)用共享庫(kù)文件;執(zhí)行命令的過(guò)程,就是告訴shell運(yùn)行某個(gè)程序文件,使之成為一個(gè)進(jìn)程。
OPTIONS,選項(xiàng) :
選項(xiàng)用于指定命令的運(yùn)行特性;
選項(xiàng)有兩種表現(xiàn)形式:
短選項(xiàng) :形式大多為 - 符號(hào)后跟一個(gè)字母,字母明確區(qū)分大小寫(xiě), 例如 -l , -L , -d , -D 等等
長(zhǎng)選項(xiàng) :形式大多為 -- (兩個(gè) - 符號(hào))后跟一個(gè)單詞,單詞都是小寫(xiě),例如 --help , --human-readable
注意 :
1,有些命令的選項(xiàng)前面沒(méi)有 - 符號(hào);
2,如果同一命令同時(shí)使用多個(gè)短選項(xiàng),多數(shù)可合并: -l -d = -ld
3,長(zhǎng)選項(xiàng)不能合并;
4,有些時(shí)候,選項(xiàng)也可以帶參數(shù),這種參數(shù)稱為選項(xiàng)參數(shù),需要注意與命令參數(shù)區(qū)分;
ARGUMENTS,參數(shù) :
參數(shù)用于指明命令的作用對(duì)象,即命令對(duì)什么生效;
注意:不同的命令的參數(shù);
有些命令可同時(shí)帶多個(gè)參數(shù),參數(shù)之間以空白字符分隔;例如: ls -ld /var /etc , /var 和 /etc 兩個(gè)目錄為參數(shù),中間用空格分隔
一、在Linux下查看二進(jìn)制文件的軟件:
xxd (2進(jìn)制)
hexdump (16進(jìn)制)
二、編輯:
1、biew
2、hexedit
3、vim
Vim 來(lái)編輯二進(jìn)制文件。Vim 本非為此而設(shè)計(jì)的,因而有若干局限。但你能讀
取一個(gè)文件,改動(dòng)一個(gè)字符,然后把它存盤(pán)。結(jié)果是你的文件就只有那一個(gè)字符給改了,
其它的就跟原來(lái)那個(gè)一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯(cuò)地方,啟動(dòng) Vim 時(shí)加上 "-b" 參數(shù):
vim -b datafile
這個(gè)參數(shù)設(shè)定了 'binary' 選項(xiàng)。其作用是排除所有的意外副作用。例如,'textwidth'
設(shè)為零,免得文本行給擅自排版了。并且,文件一律以 Unix 文件格式讀取。
二進(jìn)制模式可以用來(lái)修改某程序的消息報(bào)文。小心別插入或刪除任何字符,那會(huì)讓程序運(yùn)
行出問(wèn)題。用 "R" 命令進(jìn)入替換模式。
文件里的很多字符都是不可顯示的。用 Hex 格式來(lái)顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來(lái)顯示光標(biāo)下的字符值。當(dāng)光標(biāo)位于一個(gè) 字符上時(shí),
該命令的輸出看起來(lái)就像這樣:
27, Hex 1b, Octal 033
文件中也許沒(méi)那么多換行符。你可以關(guān)閉 'wrap' 選項(xiàng)來(lái)獲得總覽的效果:
:set nowrap
字 節(jié) 位 置
要發(fā)現(xiàn)你在文件中的當(dāng)前字節(jié)位置,請(qǐng)用這個(gè)命令:
g CTRL-G
其輸出十分冗長(zhǎng):
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后兩個(gè)數(shù)字就是文件中的當(dāng)前字節(jié)位置和文件字節(jié)總數(shù)。這已經(jīng)考慮了 'fileformat'
選項(xiàng)導(dǎo)致?lián)Q行符字節(jié)不同的影響。
要移到文件中某個(gè)指定的字節(jié),請(qǐng)用 "Go" 命令。例如,要移到字節(jié) 2345:
2345go
使 用 XXD
一個(gè)真正的二進(jìn)制編輯器用兩種方式來(lái)顯示文本: 二進(jìn)制和十六進(jìn)制格式。你可以在 Vim
里通過(guò)轉(zhuǎn)換程序 "xxd" 來(lái)達(dá)到這效果。該程序是隨 Vim 一起發(fā)布的。
首先以二進(jìn)制方式編輯這個(gè)文件:
vim -b datafile
現(xiàn)在用 xxd 把這個(gè)文件轉(zhuǎn)換成十六進(jìn)制:
:%!xxd
文本看起來(lái)像這樣:
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.
現(xiàn)在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當(dāng)作普通文本來(lái)對(duì)待。
修改了十六進(jìn)制部分并不導(dǎo)致可顯示字符部分的改變,反之亦然。
最后,用下面的命令把它轉(zhuǎn)換回來(lái):
:%!xxd -r
只有十六進(jìn)制部分的修改才會(huì)被采用。右邊可顯示文本部分的修改忽略不計(jì)。
守護(hù)進(jìn)程一般系統(tǒng)啟動(dòng)的時(shí)候可以跟著啟動(dòng),需要配置。位置:
程序位置:
/etc/init.d
相關(guān)配置文件:
/etc/rc*
守護(hù)進(jìn)程,沒(méi)有控制終端,在后臺(tái)運(yùn)行。因此,守護(hù)進(jìn)程的輸出,都會(huì)寫(xiě)到日志系統(tǒng)中。目錄/var/log。
守護(hù)進(jìn)程的代表:inetd,iptables,sshd,atd,crond這樣的進(jìn)程。
一般,命令:都會(huì)有控制終端,可以進(jìn)行人機(jī)交互,可以進(jìn)行作業(yè)控制,輸出都在屏幕上(理解成終端或者控制臺(tái))。比如:vi,sed,awk,gcc這樣的程序。
配置文件位置:/etc,如mysql是/etc/my.cnf。
守護(hù)進(jìn)程一般提供當(dāng)服務(wù)使用,比如我們的http,dns,dhcp這樣的網(wǎng)絡(luò)服務(wù),系統(tǒng)日志服務(wù),swap虛擬交換控制進(jìn)程等。
普通命令,當(dāng)我們正常使用的一些應(yīng)用軟件即可,其實(shí)真的就是一個(gè)應(yīng)用軟件或小程序,如果你看過(guò)UNIX編程書(shū)籍會(huì)理解這句話。
當(dāng)然守護(hù)進(jìn)程也是程序,不過(guò)一般都是提供系統(tǒng)級(jí)的服務(wù)或應(yīng)用。系統(tǒng)級(jí)典型的是atd,sshd,crond,應(yīng)用級(jí)的如tomcat提供web服務(wù),mysql提供數(shù)據(jù)庫(kù)服務(wù)。這些程序都跑在后臺(tái)。