講解Unix操作系統(tǒng)四重點
我們對Unix操作系統(tǒng)經常使用的人,就需要對Unix操作系統(tǒng)的知識很熟悉,而且能夠熟練的運用。但開發(fā)人員行走于Unix操作系統(tǒng)之間,依然有四樣東西要熟練。
一、VI
雖然Unix操作系統(tǒng)上的文本編輯器已經越來越好用,但不在Console前面,網速也不夠連XWindows的時候,還是要依賴VI。回想VI的時代背景,發(fā)現VI對開發(fā)人員已經周到得離譜了,熱鍵多到你雙手不離鍵盤就能完成大半編輯工作。建議自己制作一張自己認為有用,但又經常忘記的命令的sheet--參見附錄A,拿出考試的力氣把它背熟。
二、文本處理
開發(fā)人員在Unix操作系統(tǒng)下干得最多的除了Make和除Bug外,大概就是處理日志文件、業(yè)務文件的查錯和統(tǒng)計了。
只會more和grep是不夠的,開發(fā)老手會把awk,sed,grep,sort,uniq,wc,head,tail這些文本處理命令,通過管道玩具式的拆卸拼裝,最后完成一件原本以為非編寫大段代碼不可的工作。周到的參數設定,讓人再一次感嘆那個簡單的年代,這樣復雜到極致的設計.怪不得《Unix操作系統(tǒng) 編程藝術》的作者有那么驕傲的自覺。
比如車東的每月訪問TOP10 統(tǒng)計腳本:
awk -F '\ t' '{ print$ 4 }' 2004_2 . txt| grep chedong . com / tech / | uniq -c| sort -rn|head - 10
以上命令的具體用法--參見Unix操作系統(tǒng)附錄B:文本處理命令小結,大概說明如下:
awk -F '\t' 將2004_2.txt訪問紀錄文件,用TAB分割,打印第4列
grep chedong.com/tech 只列出chedong.com/tech筆記目錄下的文檔
uniq -c 匯總計數
sort -rn 按數值排序
head -10 TOP 10
補充:這些命令幾乎都支持正則表達式,學正則比較好的書是OReilly的《Mastering.Regular.Expressions.3rd 2006》
三、Unix操作系統(tǒng)Bash Shell 編程
上面的純粹命令管道拼裝完成不了所有的事情,有時需要用Shell編程來配合調度。編程是開發(fā)人員的天賦本能,不論什么語言,看看參考手冊應該就能上手。見《Bash新手指南中文版》 ,一份快速的Bash Shell編程指南。更進一步,可以學習perl。
四、Unix操作系統(tǒng)Make or AutoMake
用過Java的Ant后,想起Make就覺得很煩,很厭倦??倸w還是會的,見《GNU Make 3.8.0 中文手冊》
不過即使make已經精通到變態(tài),每個人寫出來的MakeFile還是千奇百怪,再看看開源項目們個個都是automake+autoconf了,我們自己也長進一點吧。手工編寫MakeFile.am,讓auotomake變成MakeFile.in,再讓用戶./configure 生成最終的MakeFile。
autotools既能跨越平臺,又是標準的寫法,最重要的是,編寫MakeFile.am的工作量比MakeFile少多了,只要簡單的定義目標文件,先要處理的子目錄,需要的源文件,頭文件與庫文件就可以了。
這四個是我們在使用Unix操作系統(tǒng)中,經常使用所要熟練掌握的知識要點。
【編輯推薦】