www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 小林coding
[導讀]大家好,我是小林。在知乎看到一個問題:為什么計算機專業(yè)的學生要學習使用Linux系統(tǒng)?在這里,也同步分享下我的想法。很簡單,也很直接一個原因:很多互聯(lián)網(wǎng)大公司都有大量的服務器運行在基于Linux的操作系統(tǒng)。因此,我們工作不可避免會接觸Linux系統(tǒng)。不過,也要看崗位:后端開發(fā)崗、...

大家好,我是小林。在知乎看到一個問題:為什么計算機專業(yè)的學生要學習使用 Linux 系統(tǒng)?

在這里,也同步分享下我的想法。

很簡單,也很直接一個原因:很多互聯(lián)網(wǎng)大公司都有大量的服務器運行在基于 Linux 的操作系統(tǒng)。因此,我們工作不可避免會接觸 Linux 系統(tǒng)。

不過,也要看崗位:

  • 后端開發(fā)崗、運維崗工作都會涉及 Linux 系統(tǒng);

  • 客戶端、前端開發(fā)涉及就比較少;

之所以服務器選擇用 Linux 操作系統(tǒng),原因有很多:

  1. 自由開源:Linux 操作系統(tǒng)完全免費且可用作開源軟件,通過開源方式,您可以輕松查看用于創(chuàng)建 Linux 內(nèi)核的可用代碼,還可以修改代碼以修復任何錯誤等。只要你做夠厲害,你完全可以按照自己的方式構建和自定義服務器。這些是在 windows 上無法實現(xiàn)的。

  2. 穩(wěn)定性:在 windows 上,我們進程看到系統(tǒng)崩潰或者卡死,但是在 Linux 上,這種情況發(fā)生的幾率極小,Linux 系統(tǒng)以其最終的穩(wěn)定性而聞名。

  3. 成本低:Linux 是免費的,如果你想在其中一臺服務器上安裝 Windows,則需要支付激活費用,這意味著你需要多花一筆錢。

  4. 操作方便:對于普通人來說,Windows 操作更為快捷,但是對計算機專業(yè)人士來講,Linux 操作比 Windows 快捷的多,幾條命令就可以執(zhí)行很多的操作。

接下來,跟大家聊下 Linux 怎么學習?

Linux 學習主要有三個方向:

  • Linux 命令:Linux 系統(tǒng)都是命令式操作的,就是比如你要創(chuàng)建一個文件、查看一個文件、刪除一個文件等,都是需要輸入命令, 所以要熟練用起 Linux 系統(tǒng),命令的熟悉是必不可少的。

  • Linux 腳本:熟悉了基本 Linux 命令后,就可以去學習 Linux 腳本,其實很簡單,就是把各種命令寫在一個腳本文件里,執(zhí)行腳本的時候就會把所有命令執(zhí)行一遍,用于自動部署一些項目。

  • Linux 編程(系統(tǒng)編程/網(wǎng)絡編程):如果走 C/C 開發(fā),這一塊就需要學習,因為 Linux 系統(tǒng)是由 C 語言開發(fā)的,所以系統(tǒng)調(diào)用接口,都是 C 式編程開發(fā)的。

我們可以在自己的 Windows 電腦裝一個虛擬機,然后裝一個 centos 或 ubuntu 發(fā)行版本的 Linux,網(wǎng)上的安裝資源很多的,自己搜一搜跟著搭建就行。有條件可以買一個云服務器,使用起來會更方便一些,因為有公網(wǎng) ip 地址,任何時候都可以遠程登錄使用。

Linux 命令學習

我當初學習 Linux 命令的時候,看的是《鳥哥私房菜Linux基礎學習篇》,這本書講的還是很通俗易懂的。

對于初學者可以先掌握這些基本 Linux 命令:

  • 文件/文件夾的查看、創(chuàng)建、刪除、移動、復制、修改權限;

  • 文件內(nèi)容的編輯、保存;

  • 系統(tǒng)內(nèi)存、硬盤、cpu、網(wǎng)絡流量的查看;

  • 軟件的安裝、刪除;

  • ….

Linux 腳本學習

Linux 腳本常用使用就是 bash 環(huán)境,腳本編程其實跟 C 語言編程類似,也有變量定義、函數(shù)聲明、控制語句,但是他不會很復雜,學起來還是很快的。

這里推薦阮一峰老師寫的 Bash 編程教程。

地址:https://wangdoc.com/bash/grammar.html

Linux 編程(系統(tǒng)編程/網(wǎng)絡編程)學習

Linux 系統(tǒng)編程,可以看《Linux 程序設計》這本書,學 Linux 編程一定要在多敲代碼,并且在 Linux 跑起來。

接下來說說我學 Linux 網(wǎng)絡編程的心得。

當初在學網(wǎng)絡編程的時候,看見網(wǎng)上的人都說 UNP(Unix 網(wǎng)絡編程)、APUE(Unix 高級環(huán)境編程)這兩本書是網(wǎng)絡編程圣經(jīng)的書,那么好學的小林,那肯定毫無猶豫買了。

書到貨后,我瞬間就懵逼了,這兩本書是我買過最厚的書,這尼瑪怎么學?

跟著書本的節(jié)奏,學了一段的時間,是懂了些 Linux 網(wǎng)絡和系統(tǒng) API 的用法,摸索來摸索去都是各個 API 的細節(jié),始終不知道高并發(fā)網(wǎng)絡框架是如何實現(xiàn)的。

后面我又重新找了一波關于網(wǎng)絡編程的書,找到了這兩本:《TCP/IP 網(wǎng)絡編程》和《Linux高性能服務器編程》。

  • 《TCP/IP 網(wǎng)絡編程》絕對是新手村級別的書,書里的內(nèi)容不會有過多的術語,作者都用大白話來表達,配圖也很清晰,也有介紹我想知道的網(wǎng)絡框架,雖然是比較基礎的多進程服務端模型、多線程服務端模型、異步 IO 模型。而且最后一章實現(xiàn)了簡單的 HTTP 服務端,讓我知道了從代碼角度是怎么解析 HTTP 報文的,以及狀態(tài)機是如何實現(xiàn)和運轉的。

  • 《Linux高性能服務器編程》這本書主要是網(wǎng)絡框架為主,前幾章關于網(wǎng)絡基礎知識對于掌握了計算機網(wǎng)絡知識的同學可以直接跳過的,你看,很多知識是想通的,當我們知道掌握了這塊知識后,在學習新一本書的時候,就可以跳過重疊的內(nèi)容。在這本書我學到了,Reactor、Proactor、信號、定時器、多進程編程、多線程編程、進程池和線程池等。
    這兩本書讓我大概知道了如果一個服務端要服務多個客戶端時,不是就簡單寫個 socket 編程就完事,而是還要結合 IO 多路復用 多線程的思想,也就是 Reactor 的設計理念,知道了這些事情后,后面我在看很多開源框架的網(wǎng)絡模型時候,發(fā)現(xiàn)大多數(shù)基于 Reactor 的思想來實現(xiàn)的。

有了網(wǎng)絡編程總體的視角后,在需要深入理解 socket api 中各種屬性設置(超時、非阻塞 IO、阻塞 IO 等)和異常處理就要回歸 APUE 這本書。

到這里我才知道 UNP 和 APUE 為什么會被稱為網(wǎng)絡編程圣經(jīng)級別的書,原因是書里各種細節(jié)和異常都寫的很全,也很細致,可以應對工作中很多問題。

但是事實證明,它并不是個入門級的書,所以 UNP 和 APUE 的用途比較像字典,在需要的時候去查閱就好。

最后,列一下,我自己看過和在豆瓣高分的 Linux 的書籍,給大家供個參考。

命令學習
  • 《鳥哥的Linux私房菜 : 基礎學習篇》,豆瓣評分9.1

系統(tǒng)編程
  • 《Linux程序設計》,豆瓣評分8.3

  • 《UNIX環(huán)境編程》,豆瓣評分9.4

網(wǎng)絡編程
  • 《TCP/IP網(wǎng)絡編程》韓國的,豆瓣評分8.6

  • 《Linux高性能服務器編程》,豆瓣評分7.9

  • 《Linux多線程服務端編程》,豆瓣評分8.8

  • 《UNIX網(wǎng)絡編程》,豆瓣評分9.5

內(nèi)核源碼
《Linux內(nèi)核設計與實現(xiàn)》,豆瓣評分8.6
《深入Linux內(nèi)核架構》,豆瓣評分9.0


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉