Windows如此普及,為什麼要學Linux

2021-10-21 00:19:35 字數 1765 閱讀 3919

作為it從業人員,越來越感受到linux作業系統對我們的重要性。和網路一樣,linux也是it行業的基礎技能。做web前端的朋友也向我請教過網路基礎的學習途徑,並且最近他也在學習linux。做後端程式設計的朋友就更離不開這兩個技能了,開發者需要熟練地使用linux和編寫基本的shell指令碼,並且在開發的過程中也要部署和除錯web的服務,比如apache、nginx、tomcat和web所依賴的資料庫等等,但這些都是需要在linux上操作的。雖然說容器技術的出現已經降低了開發人員配置服務的難度,但為了提公升效率,深入學習linux仍然是非常必要的。

我開始學習linux是因為同事在堡壘機上開發的小工具,這個工具可以做到遍歷所有的骨幹網配置,從中提取所需要的資訊。當時覺得很新奇,也去請教過同事,得到的答覆也很簡單,就是通過find命令和grep等命令查詢前一天半夜備份好的骨幹路由器配置,並且支援正規表示式。他雖然說得簡單,但也激起了我很大的興趣。這些基礎命令在大學期間也學習過,趁此機會也開始了一次深入學習。

在學習linux時,最重要的就是摒棄使用windows時產生的一些固有觀念,第乙個就是分碟符這個問題。在windows電腦中,我們總會把磁碟分成c、d、e等碟符,並且在插入u盤和手機時又會出現其他碟符。但是在linux中,有乙個思想是「一切皆檔案」。在linux裡所見到的一切都是檔案,就算u盤插入電腦,u盤也是乙個檔案,如果想讀取它,還需要把u盤掛載到乙個空目錄裡才行。在linux中,有乙個根目錄,用「/」表示,linux系統中一切檔案都是從這個根開始的,並按照檔案系統層次化標準(fhs)採用樹形結構來存放檔案。fhs是一種大家約定俗成並制定出的乙個標準,比如/boot目錄裡存放的是裝置開機所需要的核心等檔案,/dev中存放的是以檔案形式存在的裝置與介面,比如硬碟、滑鼠等,/etc存放的是各個服務的配置檔案,當學習各項服務的配置時少不了造訪這個目錄。/root目錄大家也不會陌生,這是root使用者的家目錄。普通使用者的家目錄是在/home/下面,正常情況下每個使用者都會有自己的家目錄。/var目錄主要用來存放日誌檔案等。還有很多常用目錄,就不一一枚舉了。說到目錄,不得不提的還有乙個路徑的概念,路徑分為絕對路徑和相對路徑。絕對路徑就是以根目錄/開始寫起的檔案或目錄名稱,相對路徑則是相對於當前位置的寫法。從這已經看出來了linux確實和windows有很多不一樣的地方,這些都是在學習過程中需要注意的。

在最開始接觸linux時,一定會感到特別彆扭,並且感覺操作複雜,因為我們已經用慣了windows圖形介面的操作。雖然linux現在有很多的發行版,並配套了很精美且實用的圖形介面,但我們重點學習的仍然是命令列作業系統。當可以熟練使用命令行時,使用效率真的不比圖形介面來得慢,尤其是在企業中使用的linux伺服器,運維人員都是通過xshell等ssh工具使用命令列進行遠端管理的。其實圖形化的工具很多也是呼叫了指令碼才完成的相應工作,和命令列相比,也缺乏了靈活和可控性。命令列視窗也成為shell,它用來接收並解釋我們輸入的命令,作為我們和系統核心之間的中介。其中我們最常用的是一種叫bash的shell。後面要學習的shell程式設計,也是基於bash的。

俗話說得好,興趣是最好的老師,如果能帶著問題去學習,也一定能提高學習效率。比如有人學習linux是為了建站,有人是為了提高網路安全技能,有人也可能只是為了學習軟路由,讓我堅持學下去的原因也是為了避免公司的閒置伺服器不能物盡其用。有了目標才能學的更好,為了避免走彎路,選擇乙個靠譜的書籍也是很有必要的,在這我推薦一本《linux就該這麼學》,作者也為了這本書建了站點www.linuxprobe.com

在linux上可以做很多事,比如搭建屬於自己的**,可以搭建各種服務,比如郵箱、檔案儲存系統等。並且在學習中可以了解底層作業系統的工作原理,比如記憶體和磁碟上的資料是如何讀取的,任務排程,驅動裝置的管理,檔案是怎樣管理的。當熟悉linux後才會發現它才是真正的生產力工具。

Windows如此普及,為什麼要學Linux

作為it從業人員,越來越感受到linux作業系統對我們的重要性。和網路一樣,linux也是it行業的基礎技能。做web前端的朋友也向我請教過網路基礎的學習途徑,並且最近他也在學習linux。做後端程式設計的朋友就更離不開這兩個技能了,開發者需要熟練地使用linux和編寫基本的shell指令碼,並且在...

Windows為什麼要支援執行緒

windows為什麼要支援執行緒,程序與執行緒的聯絡與區別是什麼?在計算機的早期歲月,作業系統沒有提供執行緒概念。事實上整個系統只執行著乙個執行執行緒,其中同時包含作業系統 和應用程式。只用乙個執行執行緒的問題在於,長時間執行的任務會阻止其他任務執行。例如,在16位windows的那些日子,列印乙個...

epoll為什麼如此高效

在我的博文 linux的select poll epoll的io多路復用 中介紹過 level triggered即條件觸發,只要滿足事件的條件,比如有資料需要讀,就一直不斷地把這個事件傳遞給使用者 edge triggered即邊緣觸發,只有第一次滿足條件的時候才觸發,之後就不會再傳遞同樣的事件了...