學習Linux C/C++的一些建議

很久沒有更新文章了,平時更新文章也沒有固定的時間,所以這個公衆號顯得很隨意,用公衆號寫文章也有一年多的時間了,自己回過頭來看之前的文章,自己有很大的感觸,也有很多的總結,今天想分享一些自己學習Linux的一些經歷。

學習是一件很枯燥的事情,開始入門的時候是最難的,我當時開始學Linux C/C++的時候其實連如何把Linux系統裏邊的文件共享到window也不會,當時對Linux的命令也不熟悉,當時ftp、samba、/mnt/hgfs/....共享也不會,現在回過頭來這些都是很基礎的東西,只要去google/百度一下就很多人告訴你了。

另外一個就是可以通過看書能夠瞭解到,對於剛剛入門的我個人覺得《鳥哥私房菜》這本書很不錯,對熟悉Linux命令和一些基礎的知識完全可以帶你入門。

學習Linux最好熟悉命令和shell腳本,因爲很多人開始的時候都是在window系統玩,習慣圖形界面和鼠標,一時半會熟悉不了Linux系統,如果熟悉命令,操作起來就會覺得window很low,這本書完全夠入門。

當你瞭解了一些很基礎的知識之後,個人覺得就應該對系統的原理要深入瞭解了,進程環境、進程控制、進程之間的關係、信號、I/O。線程、線程控制、多進程、多線程、進程之間通信、網絡編程、高併發這些知識也是面試經常被問到,所以個人覺得有必要掌握一下。

消息是如何傳遞的?

管道/FIFO、Posix消息隊列、System V消息隊列。

如何進行同步?

互斥鎖、條件變量、讀寫鎖、記錄上鎖、Posix信號量、System V信號量。

如何進行共享內存區

Posix共享內存區、System V共享內存區。

建議看的書籍


熟悉完這幾本書的內容,然後如何運用到工作當中,基本上可以算是一個入門,應付面試官提問的問題也綽綽有餘,市面上的書本特別多,但是個人覺得裏邊寫的內容都基本是上面提到的那些。

如果想進大廠,對操作系統和計算機網絡的相關知識是必問的,這些基礎技術也繞不開,如果想走得更遠,建議大家從最基礎的學起,掌握原理,然後運用到實際當中,只有通過項目和解決bug,踩過一些坑,然後把坑填了,才能夠從入門到掌握。

當掌握上面提到的內容了,個人覺得就應該對內核進行剖析,從最基礎的命令-->應用-->系統內核。

通過看書和看視頻,把相關的內容都用程序例子敲出來,運行出來,對每一位學習Linux C/C++都會有深刻的認識,把原理掌握才能夠走得更遠。

推薦閱讀:

5G時代,網絡編程的應用會越來越廣泛

大廠戰略Linux C/C++技術棧

面試技巧,面試前準備

Linux C/C++offer收割機

Linux網絡編程<一>

Linux網絡編程<二>

Linux網絡編程<三>

Linux網絡編程<四>


"萬水千山都是情,在看行不行"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章