學習Unix/Linux編程要學些什麼

來源:互聯網
上載者:User

最近利用空餘時間看了一下《Unix/Linux編程實踐教程》,原書名為:Understanding Unix/Linux Programming: A Guide to Theory and Practice。感覺這本書寫的還是不錯的,講的Unix/Linux系統編程,主要是通過講解Unix系統上的命令程式是如何?的來分析了Unix系統的原理和系統編程。比如講解了who,cp,ls,pwd等命令用Unix C語言應該怎麼實現。通過這種講解方式,不僅學會了Unix的系統編程,而且還弄懂了Unix作業系統的一些原理性的東西。感覺寫的非常不錯。

那麼,Unix/Linux下的系統編程要學哪些東西呢?通過本書,感覺主要學習一下內容:

1。Unix/Linux 下基本的C語言編程,包括基本編輯工具的使用,vim,Emacs等任意一種,gcc,gdb等編譯調試工具的使用,以及Unix系統下的基本命令的使用以及C語言基本文法。也就是要能夠在Unix系統下能使用開發工具寫出最基本的c語言程式。

2。檔案的讀寫(read,write,close以及檔案描述符和檔案屬性的理解),目錄的操作,以及對應於這些系統調用的c庫函數。

3。裝置的操控(在Unix中,裝置是作為檔案來操作的,提供了與檔案一致的操作介面)。I/O重新導向。

4。訊號機制(signal)。

5。進程的建立,執行(fork,exec,exit,wait,pipe等),進程之間的通訊(IPC:檔案/具名管道/共用記憶體/Socket/訊號量)

6。線程的使用(pthread_create, pthread_join, pthread_mutex_lock, pthread_mutex_unlock, pthread_cond_wait, pthread_cond_signal)

7。Socket網路編程。(socket, bind, listen, accept, sendto, recvfrom),理解網路編程的模型。(同步與非同步I/O)

對於這些知識,不僅僅是學會這些系統或者函數調用,跟重要的是理解其編程模型。然後就是結合實際需求,利用這些基本知識進行開發了。很多時候,解決實際問題的方法比這些東西更重要,但是,這些基本知識是你開發的必備知識。

最後,推薦想學習Unix或者Linux編程的一定要看看這本書。另外,如果要做應用開發的話,可以再學習一下GUI開發(GTK++或者Qt)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.