我學習了標準的c和C++語言。但是我不知道如何使用系統調用和編寫進程等程序。所以我想學習unix/linux環境下的編程。步驟是什麼?我應該怎麼做。我應該先學習shell嗎?如何在unix環境中學習編程?我應該先學會殼嗎?
回答
我現在正在進行系統編程,教授正在給我們一個關於Unix的調查,包括系統調用和編寫現有核心實用程序的更簡單版本。
我發現很有用的一個來源是閱讀full source code的實用程序和system call快速參考。教科書是Understanding UNIX/Linux Programming,我絕對推薦你把它拿起來。
除了使用輸入重定向,grep和管道之外,我們還沒有進入shell腳本,所以我不知道在這一點上對你有多大用處。
如果你想在UNIX環境下編程,你必須先弄清楚你的方式,然後再弄亂系統調用和其他東西。我建議通過The UNIX programming environment對UNIX進行一個健康的介紹。這有點過時,但仍然是一本書的寶石,必須爲任何程序員閱讀。
精彩的書,並閱讀的樂趣。但它不僅僅有點過時了。我的父親幾年前有學習Unix編程的經驗,並且是一個有條不紊的人,他在圖書館查閱並在向我尋求幫助之前閱讀了它。我會說,如果造成的混亂就像清除了一樣多。儘管如此,它*是一個很好的閱讀。 – dmckee 2011-04-01 15:23:13
不,你不需要學習shell。 只需查找描述unix系統調用C的書籍或網頁即可。
如果您有Unix/Linux系統,至少應該知道一些shell腳本及其工具,以便知道您的啓動腳本確實或快速移動系統(例如使用ls,mv,cp等)。除此之外,對於真正的編程的東西,你可以使用一種編程語言(Python,Ruby想起來)。很多現代編程語言,如Python,已經提供了系統級API。 Python自帶一個shell,所以如果你是一個核心,你也可以將它用於你的每一天任務。這個小例子顯示,你可以做在Python目錄列表外殼
>>> import os
>>> os.chdir("/tmp")
>>> os.listdir(".")
它一樣的命令行輸入ls
。如何移動/複製文件?相反,如果你打算程序系統/低層次的東西的使用shell mv
和cp
,
>>> import shutil
>>> shutil.copy("file","/destiation")
>>> shutil.move("file1","/destination")
恕我直言,那麼C/C++可能是你所需要的,但正常的系統管理員或每天的操作,編程Python/Ruby(或Perl)等語言將最適合您。
如果您打算在「傳統」unix環境下進行編程(例如,使用文本編輯器並執行命令行中的所有操作),您將需要非常熟悉shell,並且非常熟悉The Editor你的選擇(你有選擇的自由,但如果它不是emacs你會去壞的地方...)。
但是真的不需要「研究」殼第一個。請注意,shell提供了強大的工具。然後,每當你找到自己的想法「這裏有更好的辦法!」,去學什麼更好的方法是。
- 1. 我應該學習XUL嗎?
- 2. 我應該學習NHaml嗎?
- 3. 在學習JavaFx之前,我應該學習Swing嗎?
- 4. 在學習Ajax之前,我應該學習Xml和Javascript嗎?
- 5. 我應該先學習C#還是Java?
- 6. 我應該先學習Angularjs還是Laravel?
- 7. ASP.NET MVC我應該先打擾學習webforms嗎?
- 8. 我應該如何學習NLTK?
- 9. 我應該如何去學習android?
- 10. Web開發學習環境
- 11. Python的學習環境
- 12. 我應該先學什麼?
- 13. 數學,編程和學習
- 14. 如何學習DirectShow編程?
- 15. 我想學習Win32編程
- 16. 學習如何編寫Facebook應用程序的先決條件
- 17. 我應該學習如何開發Chrome應用程序?
- 18. 學習Uboot編程
- 19. 如果我知道MVC我應該學習常規的Asp.net嗎?
- 20. 在開始使用Cocos2D之前,我應該學習基本的iOS編程嗎?
- 21. 我應該學習Openedge作爲C#程序員嗎
- 22. PHP開發人員正在學習RoR。我應該學習爲Rails 2.0.2編寫的電子書嗎?
- 23. 新手:我應該學習C#,VB.Net或VBA/VB的Excel編程?
- 24. 努力學習殼功能
- 25. 我該如何開始學習jquery
- 26. 該怎麼做,開發應用程序時學習或先學習,然後開發應用程序
- 27. 我將如何開始學習如何在Flex中編程?
- 28. 頂部10-15軌道視圖幫手我應該先學習?
- 29. AJAX足夠嗎?我應該學習一個PHP框架嗎?
- 30. 我應該學習C++還是ASM?
你是什麼意思的「標準」C和C++? – 2011-04-01 12:40:33
小學正好 – liu 2011-04-01 12:44:50