守護進程一般系統(tǒng)啟動的時候可以跟著啟動,需要配置。位置:
創(chuàng)新互聯是一家專注于網站設計制作、成都網站建設與策劃設計,城固網站建設哪家好?創(chuàng)新互聯做網站,專注于網站建設十年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:城固等地區(qū)。城固做網站價格咨詢:18980820575
程序位置:
/etc/init.d
相關配置文件:
/etc/rc*
守護進程,沒有控制終端,在后臺運行。因此,守護進程的輸出,都會寫到日志系統(tǒng)中。目錄/var/log。
守護進程的代表:inetd,iptables,sshd,atd,crond這樣的進程。
一般,命令:都會有控制終端,可以進行人機交互,可以進行作業(yè)控制,輸出都在屏幕上(理解成終端或者控制臺)。比如:vi,sed,awk,gcc這樣的程序。
配置文件位置:/etc,如mysql是/etc/my.cnf。
守護進程一般提供當服務使用,比如我們的http,dns,dhcp這樣的網絡服務,系統(tǒng)日志服務,swap虛擬交換控制進程等。
普通命令,當我們正常使用的一些應用軟件即可,其實真的就是一個應用軟件或小程序,如果你看過UNIX編程書籍會理解這句話。
當然守護進程也是程序,不過一般都是提供系統(tǒng)級的服務或應用。系統(tǒng)級典型的是atd,sshd,crond,應用級的如tomcat提供web服務,mysql提供數據庫服務。這些程序都跑在后臺。
linux 命令的二進制映射就是可執(zhí)行的二進制程序,也就是編程語言編譯后的可執(zhí)行文件。
在linux系統(tǒng)中,一些都是文件,因此想要學習linux驅動,必須知道各個文件的作用,liunx主要包括uboot 內核 和文件系統(tǒng)三大塊。
/bin 二進制可執(zhí)行命令,比如cd ls 等命令。
/dev 設備特殊文件,一些硬件驅動文件放在該文件下,比如串口驅動文件/dev/tty0;
/etc 系統(tǒng)管理和配置文件,一些配置文件放在這個文件,比如網絡配置等配置。
/etc/rc.d 啟動的配置文件和腳本,這是個腳本文件,內核啟動的第一步;
/home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/lib 標準程序設計庫,又叫動態(tài)鏈接共享庫,一些庫文件放在該文件下;
/sbin 系統(tǒng)管理員命令,這里存放的是系統(tǒng)管理員使用的管理程序
/tmp 公用的臨時文件存儲點,一般一些程序生成的臨時文件都放在該文件下,比如我目前做的項目,生成的 臨時配置文件都放在該文件下;
/root 系統(tǒng)管理員的主目錄(特權階級),通過SU命令可以進入該用戶,該用戶有最高的權限;
/mnt 系統(tǒng)提供這個目錄是讓用戶臨時掛載其他的文件系統(tǒng),一些比如U盤都掛載在該目錄下;
/lost+found 這個目錄平時是空的,系統(tǒng)非正常關機而留下“無家可歸”的文件(windows下叫什么.chk)就在這里 /proc 虛擬的目錄,是系統(tǒng)內存的映射??梢灾苯釉L問這個目錄來獲取系統(tǒng)信息。
/var 某些大文件的溢出區(qū),比方說各種服務的日志文件,該文件在程序定位中很有用,一些錯誤都記錄在該目錄下,/var/log;
/run 里面的東西是系統(tǒng)運行時需要的, 不能隨便刪除. 但是重啟的時候應該拋棄. 下次系統(tǒng)運行時重新生成
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包含:
/usr/x11r6 存放x window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發(fā)和編譯應用程序所需要的頭文件
/usr/lib 常用的動態(tài)鏈接庫和軟件包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫根文件系統(tǒng) 通常情況下,文件系統(tǒng)所占空間一般應該比較小,因為其中的絕大部分文件都不需要經常改動,而且包括嚴格的文件和一個小的不經常改變的文件系統(tǒng)不容易損壞。 除了可能的一個叫/ v m l i n u z標準的系統(tǒng)引導映像之外,根目錄一般不含任何文件。所有其他文件在文件系統(tǒng)的子目錄中。
使用/ v a r / t m p來代替/tmp ,因為前者可能擁有一個更大的磁盤空間。
命令的語法通用格式 :
# COMMAND OPTIONS ARGUMENTS
大體上可以分為3部分: 命令,選項,參數
COMMAND,命令 :
命令本身是一個二進制格式的可執(zhí)行的程序文件,有可能會調用共享庫文件;執(zhí)行命令的過程,就是告訴shell運行某個程序文件,使之成為一個進程。
OPTIONS,選項 :
選項用于指定命令的運行特性;
選項有兩種表現形式:
短選項 :形式大多為 - 符號后跟一個字母,字母明確區(qū)分大小寫, 例如 -l , -L , -d , -D 等等
長選項 :形式大多為 -- (兩個 - 符號)后跟一個單詞,單詞都是小寫,例如 --help , --human-readable
注意 :
1,有些命令的選項前面沒有 - 符號;
2,如果同一命令同時使用多個短選項,多數可合并: -l -d = -ld
3,長選項不能合并;
4,有些時候,選項也可以帶參數,這種參數稱為選項參數,需要注意與命令參數區(qū)分;
ARGUMENTS,參數 :
參數用于指明命令的作用對象,即命令對什么生效;
注意:不同的命令的參數;
有些命令可同時帶多個參數,參數之間以空白字符分隔;例如: ls -ld /var /etc , /var 和 /etc 兩個目錄為參數,中間用空格分隔
一、在Linux下查看二進制文件的軟件:
xxd (2進制)
hexdump (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
字 節(jié) 位 置
要發(fā)現你在文件中的當前字節(jié)位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后兩個數字就是文件中的當前字節(jié)位置和文件字節(jié)總數。這已經考慮了 'fileformat'
選項導致換行符字節(jié)不同的影響。
要移到文件中某個指定的字節(jié),請用 "Go" 命令。例如,要移到字節(jié) 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發(fā)布的。
首先以二進制方式編輯這個文件:
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
只有十六進制部分的修改才會被采用。右邊可顯示文本部分的修改忽略不計。
查看二進制文件,用od或hexdump命令。
$?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選項表示將文件中的字節(jié)以十六進制的形式列出來,每組一個字節(jié)(類似hexdump的-c選項)
-tc選項表示將文件中的ASCII碼以字符形式列出來(和hexdump類似,輸出結果最左邊的一列是文件中的地址,默認以八進制顯示)
-Ax選項要求以十六進制顯示文件中的地址