溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

為什么學(xué)習(xí)Linux

發(fā)布時間:2021-10-20 10:25:32 來源:億速云 閱讀:118 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“為什么學(xué)習(xí)Linux”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

為啥要學(xué)Linux

作為從事 IT 工作的同學(xué),對 Linux 系統(tǒng)一定不陌生。如今我們在各種領(lǐng)域都能看得到它的身影,比如,手機、服務(wù)器、嵌入式、電信設(shè)備、大型計算機,以及各種電子類產(chǎn)品都離不開 Linux,它已經(jīng)滲透到互聯(lián)網(wǎng)世界的方方面面了。

包括那些火熱的技術(shù),比如云計算、虛擬化、容器、大數(shù)據(jù)、人工智能,幾乎都是基于 Linux 技術(shù)的,那些平臺系統(tǒng),電商、團購、社交、新聞、快遞,都是部署在服務(wù)器端,也幾乎都是基于 Linux 技術(shù)的。

在編程的世界中,Linux 就是主流,不會 Linux 你就可能會格格不入。如果你想進(jìn)大公司,想學(xué)新技術(shù),Linux 一定是一道繞不過去的砍,只有進(jìn)入了 Linux 系統(tǒng)這扇大門,你才可能成為合格的軟件工程師。

企業(yè)服務(wù)器環(huán)境絕大部分都是 Linux 系統(tǒng),所以不管你是從事前端、后端、運維、測試中的哪一類工作,Linux 都是你必須掌握的基礎(chǔ)知識,只是不同類型工作需要學(xué)習(xí) Linux 的方向不同而已。

經(jīng)驗與建議

下邊的一些建議都是本人從事 Linux 開發(fā)多年的一些經(jīng)驗總結(jié),相信會對 Linux 初學(xué)者有所幫助,當(dāng)然如果有不準(zhǔn)確的地方,還請指正。

  • 一定要自己搭建Linux環(huán)境。Linux 系統(tǒng)學(xué)習(xí)是很重實踐的,僅學(xué)習(xí)理論知識是不能真正掌握 Linux 的。我推薦在個人電腦上安裝虛擬機,虛擬機的方式非常靈活,既可以提供 Linux 環(huán)境,也不會影響宿主機的正常使用。對于虛擬機軟件的選擇,可以考慮使用 VMwareVirtualBox 。虛擬機的快照功能一定要用好,尤其是對新手來說,它可以將你不小心搞壞的環(huán)境恢復(fù)到初始化狀態(tài),就像是重新安裝了操作系統(tǒng)一樣,從此媽媽再也不用擔(dān)心我 rm -rf /* 了。

  • Linux發(fā)行版的選擇。由于 Linux 的強大,目前存在太多的發(fā)行版本了,有些同學(xué)在選擇上可能會有些糾結(jié)。這里我推薦選擇使用 CentOS 就行,由于免費且穩(wěn)定,國內(nèi)企業(yè)服務(wù)器使用最多的就是 CentOS 了,使用上和 RedHat 幾乎沒有什么區(qū)別。當(dāng)然你可以選擇 Ubuntu 系統(tǒng),國內(nèi)服務(wù)器使用份額僅次于 CentOS。其實所有發(fā)行版都是基于 Linux 內(nèi)核的,只是擴展了相關(guān)的系統(tǒng)組件和軟件庫,本質(zhì)上都是 Linux 系統(tǒng),學(xué)會了 CentOS 后就很容易上手其它版本的系統(tǒng)了,所以無需太關(guān)注和糾結(jié)這個問題。

  • 一定要使用命令行。大部分初學(xué)者經(jīng)常喜歡安裝圖形桌面,因為我們之前都習(xí)慣了 win 或 mac 的圖形操作。但我強烈建議,安裝系統(tǒng)時不要安裝桌面,平時的操作和學(xué)習(xí)都堅持使用命令行。學(xué)習(xí)前期可能會比較痛苦,但熬過了陣痛期,熟練使用之后,就能享受到命令行帶來的強大功能。命令行不僅功能強大,而且可以極大的提高效率,因為命令行就意味著能夠自動化,自動化能為你釋放很多重復(fù)性的工作,讓你有充足的時間去學(xué)習(xí)更有價值的知識。另外,圖形界面在 linux 系統(tǒng)上作為一個獨立軟件存在,會額外消耗服務(wù)器的資源,企業(yè)的服務(wù)器一定是不會安裝圖形的,所以需要你一定要在 Linux 世界中忘掉 windows 的思維方式。

  • Linux 是開源的。開源意味著你能夠查看 Linux 源碼,可以從代碼層面理解系統(tǒng)實現(xiàn)的原理,這些可以讓你達(dá)到一通百通、醍醐灌頂?shù)男Ч?,而不是簡單的使用它?/p>

  • 養(yǎng)成安全嚴(yán)謹(jǐn)?shù)牧己昧?xí)慣。對于初學(xué)者來說,雖然大部分時間是在虛擬機上操作,有快照的加持,可以毫無顧忌的進(jìn)行各種實驗性的操作。但我還是強烈建議初學(xué)者一定要養(yǎng)成良好的操作習(xí)慣:1.經(jīng)常備份重要的數(shù)據(jù);2.少用 root 用戶進(jìn)行各種操作;3.敲命令不是越快越好;4.服務(wù)器密碼盡可能的復(fù)雜些,不要使用 123456 這類弱密碼,服務(wù)器很可能被侵入當(dāng)肉雞;5.服務(wù)器密碼不要簡單記錄在文檔上或 U 盤之類的移動設(shè)備上;6.對生產(chǎn)環(huán)境一定要有敬畏心。 

如何學(xué)習(xí)?

高效的學(xué)習(xí)方法往往能夠幫助你事半功倍,下邊是我分享的一些自己的學(xué)習(xí)心得和方法,希望對大家有幫助。

  • 一定要多實踐。Linux 是一門實操性非常強的學(xué)科,初學(xué)者需要多敲命令,多實踐和練習(xí)。與學(xué)習(xí)其它東西是一樣的,大多時候我們不需要非得先將理論知識學(xué)的通透后才來實踐動手,而是從實踐中發(fā)現(xiàn)問題后再深度學(xué)習(xí),這樣效果可能會更好。

  • 有效的學(xué)習(xí)方式。說到學(xué)習(xí)方式,每個人學(xué)習(xí)的方式可能不太一樣。我推薦 視頻 + 看書 的方式,視頻教程可以讓你快速上手,快速了解相關(guān)的概念,而看書可以更加全面的學(xué)習(xí)具體的細(xì)節(jié),會讓你有更多的思考,看書可以作為視頻的補充和擴展。

  • 思考,總結(jié)與歸納。不管以什么形式來學(xué)習(xí),我們都需要對學(xué)習(xí)中的每個問題和概念認(rèn)真思考,需要從 what、how、why 三個角度進(jìn)行學(xué)習(xí),作為學(xué)習(xí)的問題模板。學(xué)習(xí)任何新技術(shù),我們都需要知道這個技術(shù)知識點的應(yīng)用場景,以及能夠解決什么問題,是否有類似的解決方案,此技術(shù)點有什么優(yōu)勢。

  • 輸出是一種高效學(xué)習(xí)方法。在學(xué)習(xí)過程中,必不可少的一個環(huán)節(jié)就是歸納和總結(jié),總結(jié)就要輸出,可以是文檔形式的筆記或者其它。我比較推薦寫博客,有條件的話一定要寫,因為寫博客可以幫助你更有效地、更系統(tǒng)的總結(jié)和學(xué)習(xí)。寫博客是一種 的形式,如果能夠?qū)⒆约簩W(xué)到的知識在博客上清晰的講清楚,教會別人,那才說明你是真正的掌握了它。如果博客寫的不錯的話也能為自己夠積累影響力,對自己將來的求職也會有幫助。另外如果別人從你博客學(xué)習(xí)到了東西而且覺著不錯的話,會給你點贊、留言、贊賞,這都是對你寫博客和學(xué)習(xí)的正反饋,同時也能夠刺激你保持學(xué)習(xí)的興奮和激情,呵呵。

  • 制定明確的學(xué)習(xí)目標(biāo)。做任何事,有了目標(biāo)才能夠走的更遠(yuǎn),少走彎路。我們學(xué)習(xí) Linux 也一樣,需要根據(jù)自己的實際情況,制定適合自己的學(xué)習(xí)目標(biāo)。個人建議目標(biāo)不要太大,時間周期也不要太長,要切合實際,比如制定三個月的學(xué)習(xí)目標(biāo)。有了目標(biāo)后,就要確定詳細(xì)的學(xué)習(xí)計劃,細(xì)化到每周需要完成的任務(wù)列表。注意,你需要為計劃任務(wù)指定結(jié)果檢驗的方式,比如寫一篇博客文章或是筆記,計劃真實落地才是最困難的,因為執(zhí)行力是一種稀缺資源。

  • 堅持與激情,獲得正反饋。學(xué)習(xí)是一件逆人性的事情,大部分人在遇到諸多問題后就很容易會放棄。1.合理的學(xué)習(xí)計劃和結(jié)果輸出,能夠讓你繼續(xù)保持學(xué)習(xí)的激情;2.寫博客、討論交流等方式也可以獲得正向的反饋,從而激勵著你繼續(xù)向前;3.堅持學(xué)習(xí)也能夠幫你養(yǎng)成良好的習(xí)慣,無形中提高自己的執(zhí)行力,個人認(rèn)為這些收獲可能遠(yuǎn)比具體的技術(shù)知識更加重要。

  • 如何解決問題。在學(xué)習(xí) Linux 技術(shù)的時候,初學(xué)者肯定會遇到各種 奇怪 的問題,面對這些問題時,我們要學(xué)會分析錯誤信息,嘗試以目前學(xué)習(xí)到的技術(shù)來思考找答案,如果解決不了,可以使用搜索引擎,對于初學(xué)者遇到的問題,百度一般都能夠解決。如果實在解決不了,可以請教身邊的高手,不過提問問題時,一定要描述清楚問題,帶著謙虛請教的態(tài)度。 

應(yīng)該學(xué)習(xí)的基礎(chǔ)知識

Linux 系統(tǒng)涉及的技術(shù)知識點非常廣泛,學(xué)習(xí)者可以根據(jù)自己的實際情況,選擇相應(yīng)的主題方向進(jìn)行學(xué)習(xí),不可盲目的跟隨他人的學(xué)習(xí)路線,有可能適得其反,學(xué)習(xí)效果事倍功半,得不償失,所以選擇適合自己的學(xué)習(xí)路線非常重要。

因為每個人將來從事的工作和方向不同,需要重點學(xué)習(xí)的內(nèi)容也不一樣,而且本文目標(biāo)也只是分享給 Linux 初學(xué)者一些實用的經(jīng)驗心得,所以后邊內(nèi)容中只簡單羅列了最通用和實用的一些技術(shù),這些是學(xué)習(xí) Linux 技術(shù)的所有同學(xué)都應(yīng)該知道的技術(shù)知識點。

  • 學(xué)習(xí) vim。在 Linux 系統(tǒng)下,基本沒有什么可以與之競爭的編輯器(不接受反駁),你只需要花費 1-2 天的時間來熟悉 vim 的基本使用操作即可,無需研究那些高大上的各種插件使用技巧。要知道 vim 的學(xué)習(xí)是有難度的,不過一旦熟練使用后,就會得心應(yīng)手,能極大提高編輯效率。這里推薦陳皓的《簡明 vim 練級攻略》。

  • 簡單的文件管理。這些都是一些非常基礎(chǔ)的操作與文件的管理命令,如:ls、less、headtaildu、df、ln 等,當(dāng)然 find 是查找文件的非常有用的命令,功能非常強大。

  • 基礎(chǔ)的網(wǎng)絡(luò)管理。常用的網(wǎng)絡(luò)管理命令,一定要學(xué)會使用,這對平時工作或?qū)W習(xí)時的網(wǎng)絡(luò)診斷和網(wǎng)絡(luò)配置非常有用。比如 ipifconfig 等網(wǎng)絡(luò)命令,還有網(wǎng)絡(luò)診斷工具 netstat、pingtraceroute 等。

  • 學(xué)些 shell 腳本編程。我們知道 Linux 特點之一就是命令行,上邊我們說過,命令行就意味著可以自動化,自動化后就能夠規(guī)?;hell 腳本就是我們實現(xiàn)自動化的最有效的方式,因為 shell 程序是最擅長與 Linux 內(nèi)核打交道的。我們可以利用 shell 腳本幫我們做很多重復(fù)性的工作,來釋放我們工程師的雙手去創(chuàng)造更大的價值。

  • 熟悉作業(yè)管理。我們需要經(jīng)常在命令行終端上管理應(yīng)用程序,啟動或關(guān)閉程序。你需要知道這些概念,如:進(jìn)程、進(jìn)程組、會話、終端,學(xué)會使用 jobs、fgbg、kill、Ctrl-CCtrl-Z,以及信號的相關(guān)操作,需要知道 kill -9 到底是在干什么。

  • 學(xué)習(xí)使用軟件包的管理。國內(nèi)最常用的 Linux 發(fā)行版是 ubuntucentos,需要學(xué)會使用 apt-get、yum 命令來查找和安裝相關(guān)的軟件包,當(dāng)然也要學(xué)會試著從源碼編譯方式安裝軟件。

  • 學(xué)習(xí)簡單的數(shù)據(jù)處理。我們在工作和學(xué)習(xí)中也會經(jīng)常需要處理文本信息,Linux 在這方面提供了很多的工具,組合起來能夠非常方便的實現(xiàn)強大的功能。常見的命令 sortuniq、cut、split,還有 Linux 經(jīng)典的三劍客 sed、awkgrep,這三個工具都是上古神器,功能非常強大,awk 還有專門的書籍來講解它,可見功能之強大與復(fù)雜,我們初學(xué)者只需要熟練掌握一些常用的功能即可。

  • 學(xué)會看文檔。雖然不是具體的技術(shù)知識,但它卻非常重要,初學(xué)者在學(xué)習(xí)命令時總是希望能記住所有的參數(shù)和選項,其實這些參數(shù)我們不需要記憶(大腦是用來思考的而不是存儲的),我們可以通過 Linux 手冊來查看,通常使用 man ifconfig 就能夠查看該命令的官方文檔說明,既準(zhǔn)確又清晰。當(dāng)然在遇到問題時,也可以查看手冊來確認(rèn)命令的使用方法是否正確。

Linux 系統(tǒng)涉及的技術(shù)知識點非常復(fù)雜,上述所分享的僅是一些必學(xué)基礎(chǔ)知識,如果能夠認(rèn)真學(xué)習(xí)并夠掌握好,基本上算是入門 Linux(存活的級別)。如果你是運維方向,至少需要更深入的學(xué)習(xí):用戶管理、磁盤管理、系統(tǒng)日常管理、常見服務(wù)的搭建、高可用集群、系統(tǒng)監(jiān)控等運維知識;如果你是后端開發(fā)方向,至少需要更深入學(xué)些 Linux 操作系統(tǒng)、進(jìn)程與線程、進(jìn)程間通信、信號、網(wǎng)絡(luò)編程、系統(tǒng)調(diào)用、Linux 內(nèi)核等知識;如果你是嵌入式方向,你至少需要深入研究 Linux 內(nèi)核源碼、設(shè)備驅(qū)動程序了。

“為什么學(xué)習(xí)Linux”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI