linux應該怎麼學
Ⅰ linux系統怎麼學
linux是個操作系統,一般就是內核 、網路、運維,基本上就是用和理解這兩個方面 。
個人感覺理論需要每天都讀點,至於用,隨用隨查。找本書備著就好了。
Ⅱ 學習linux要從哪裡入手
Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。
實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。
學習主要內容有:
1)網路基礎與linux系統的管理
2)優化及高可用技能
3)虛擬化與雲平台技術
4)開發運維
畢業後可從事的工作有:
1)Linux運維工程師
2)資料庫工程師
3)雲計算運維工程師
4)自動化運維工程師
5)雲計算架構工程師等
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
Ⅲ 學習Linux的步驟是怎樣的
對於Linux的學習,可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方向細化階段
第一階段:初級階段
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
1. Linux基礎知識、基本命令;
2. Linux用戶及許可權基礎;
3. Linux系統進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1. TCP/IP網路基礎;
2. Linux企業常用服務;
3. Linux企業級安全原理和防範技巧;
4. 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎;
5. iptables安全策略構建;
6. shell腳本進階;
7. MySQL應用原理及管理入門
第三階段:Linux高級進階
1. http服務代理緩存加速;
2. 企業級負載集群;
3. 企業級高可用集群;
4. 運維監控zabbix詳解;
5. 運維自動化學習;
第四階段:Linux資深方向細化
1. 大數據方向;
2. 雲計算方向;
3. 運維開發;
4. 自動化運維;
5. 運維架構師
以上是Linux的一個學習方向和路線,對於Linux學習是一個需要堅持的過程,也許通過自學或者培訓,3至6個月都可以把基本知識學會,但是重在實踐,深入的思考和不斷的摸索,你會發現Linux更多的美!
Ⅳ 如何更深入地學習 Linux
1. 最重要的linux的內核工作方式:包括但是不限於:
內存分頁
進程切換
interrupt 和 exception,以及system call
lock
進程管理
內存管理和分配
signal
文件系統(ext2, ext3)
輸入輸出設備
緩存
書可以看《understanding the linux kernel》,《intel OS programming volume III》
這個是理解linux的基礎的基礎,對於理解操作系統有莫大的好處。而且無論對於high level還是low level的編程都是相通的,很多東西在學完操作系統之後,你對他們的理解就完全不一樣了。就像學好緩存在對於提高大運算上面的效率是很有幫助的。
一邊看書一邊可以寫一個簡單的linux自己玩,時長一個學期比較合適。因為課程要求,所以我寫過一個可以多任務運行的linux,附帶一個音效卡driver。當時演示的時候放的是鳳凰傳奇,教授整個人斯巴達了。但是不得不說這是一個非常大的工作量。
但是無論是要做內核開發還是驅動開發,我覺得這些都是基礎中的基礎,是要扎扎實實掌握的,不得有半點馬虎。
2. CPU架構/匯編
操作系統跟CPU的架構是離不開的,我個人覺得是相輔相成的。很明顯的能看到Intel為了和操作系統配合起來,實現了很多硬體功能。最明顯的就是虛擬內存已經可以在硬體層面上直接換算,不需要通過軟體了。不懂x86或者arm的架構,會一定程度上造成理解linux內核的困難。比如為什麼要以某種特定的方式分頁,為什麼內存管理的時候需要不同的演算法,interrupt,system call的意義何在?等等等等的問題都需要精通CPU的架構。
當時就是因為對TLB的理解不夠深入,不夠仔細,造成我的系統每次切換任務的時候,會page fault。
重點在於interrupt的處理,緩存的概念和內存相關結構的設計。至於亂序執行,pipeline之類的都是次要的,對於linux不是特別的重要。
x86的匯編是基礎,有助於debug和理解linux源代碼。我寫系統的時候大段寫過x86代碼來實現低層操作。不知道真正的linux是不是這樣實現的。
3. high level編程
系統畢竟是為了應用程序而服務的,就像有需求才有生產一樣。沒有應用程序的需求,就不會設計相關的系統功能。了解high level的編程一定程度上可以融會貫通。
Ⅳ 如果想學Linux,應該怎麼學
學嵌入式Linux要先學以下幾點:
1.C語言。要有C語言的基礎,當然越熟練越好,不熟也沒關系,具備基本技能就可以:比如寫一個數組排序、輸入數字求和什麼的。C語言的學習就是多些多練。
2.Linux基礎
Linux操作系統的概念、安裝方法,詳細了解Linux下的目錄結構、基本命令、編輯器VI ,編譯器GCC,調試器GDB和 Make 項目管理工具, Shell、 Makefile腳本編寫等知識,嵌入式開發環境的搭建。
3.Linux系統編程
重點學習標准I/O庫,Linux多任務編程中的多進程和多線程,以及進程間通信(pipe、FIFO、消息隊列、共享內存、signal、信號量等),同步與互斥對共享資源訪問控制等重要知識,主要提升對Linux應用開發的理解和代碼調試的能力。
4.Linux網路編程
計算機網路在嵌入式Linux系統應用開發過程中使用非常廣泛,通過Linux網路發展、TCP/IP協議、socket編程、TCP網路編程、UDP網路編程、Web編程開發等方面入手,全面了解Linux網路應用程序開發。重點學習網路編程相關API,熟練掌握TCP協議伺服器的編程方法和並發伺服器的實現,了解HTTP協議及其實現方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構網路通信系統的設計,熟悉HTML,Javascript等Web編程技術及實現方法。
5.數據結構與演算法
數據結構及演算法在嵌入式底層驅動、通信協議、及各種引擎開發中會得到大量應用,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。此階段的學習要重點理解數據結構與演算法的基礎內容,包括順序表、鏈表、隊列、棧、樹、圖、哈希表、各種查找排序演算法等應用及其C語言實現過程。
6.Cortex A8 、Linux 平台開發
通過基於ARM Cortex-A8處理s5pv210了解晶元手冊的基本閱讀技巧,掌握s5pv210系統資源、時鍾控制器、電源管理、異常中斷控制器、nand flash控制器等模塊,為底層平台搭建做好准備。Linux平台包括內核裁減、內核移植、交叉編譯、GNU工具使用、內核調試、Bootloader介紹、製作與原理分析、根文件系統製作以及向內核中添加自己的模塊,並在s5pv210實驗平台上運行自己製作的Linux系統,集成部署Linux系統整個流程。同時了解Android操作系統開發流程。Android系統是基於Linux平台的開源操作系統,該平台由操作系統、中間件、用戶界面和應用軟體組成,是首個為移動終端打造的真正開放和完整的移動軟體,目前它的應用不再局限於移動終端,還包括數據電視、機頂盒、PDA等消費類電子產品。
7.驅動開發
驅動程序設計是嵌入式Linux開發工作中重要的一部分,也是比較困難的一部分。本階段的學習要熟悉Linux的內核機制、驅動程序與用戶級應用程序的介面,掌握系統對設備的並發操作。熟悉所開發硬體的工作原理,具備ARM硬體介面的基礎知識,熟悉ARM Cortex-A8處理器s5pv210各資源、掌握Linux設備驅動原理框架,熟悉工程中常見Linux高級字元設備、塊設備、網路設備、USB設備等驅動開發,在工作中能獨立勝任底層驅動開發。
Ⅵ 新手如何學習Linux
新手學習建議找准學習方向報班學習。
Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。
實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。
學習主要內容有:
1)網路基礎與linux系統的管理
2)優化及高可用技能
3)虛擬化與雲平台技術
4)開發運維
畢業後可從事的工作有:
1)Linux運維工程師
2)資料庫工程師
3)雲計算運維工程師
4)自動化運維工程師
5)雲計算架構工程師等
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
Ⅶ linux應該如何去學習
眾所周知,隨著計算機技術的高速發展,在現代社會中,智能產品已經越來越多,以計算機技術為中心,以應用為目的,軟體硬體可以剪裁,將計算機技術與各種新型感測器結合起來,就面臨著一個很重要的問題,誰來控制與協調這些硬體。那麼非linux操作系統莫屬。很多人在學習linux操作系統,但是不清楚方法,那麼今天就來分享一下個人經驗。
一、如何學習linux?
如果要學習linux,那最好的方法就是報個班。因為如果自己學習能力強,那麼還好。如果學習能力不強,又沒人帶領,那就只能浪費時間,事倍功半,接下來大家就可以買一本比較好的書來讀。市面上有很多受歡迎的linux入門書籍,比如鳥哥,華清遠見的linux一系列書籍。可以供讀者使用。除此之外,大家還需要有一個比較堅定的心,因為無論怎麼樣,學習畢竟是廢腦力的事情,輕輕鬆鬆是不可能學好習的,那一定要經歷很多的坎坷與挫折。人是需要困難的,一輩子風平浪靜,就不可能做好任何事情。所以,有了人帶,有一本好教材,有了堅定的信心,接下來就可以一步一步的向前進,學習了。
二、學習步驟
1,首先,學習linux肯定是要學習它的指令系統了。了解linux的運行機制。Linux的運行機制與windows是不同的。Windows是全圖標的方式,而linux則是全代碼界面,整個屏幕都是代碼界面,都是字元,都是單詞,都是字母。Linux的一切功能都是用命令來實現的,所以,就需學習記憶大量的命令,比如cd,ls cat touch mv cp ifconfig pwd rm rmdir mkdir…
等等等等。當大部分的命令都已經學習好了,接下來就要學習vim編輯器了,gcc編譯器了,gdb調試器了,還有make工具的使用了。當著寫都學習差不過以後,大家要注意充分的使用和實踐,只有大量的實踐,才能把知識學好,有一位計算機專家說過一個問題,只有充分的實踐才能充分的理解計算機。
2,其次,大家在學習好linux的 命令以後,不能只停留於在使用命令的階段,要不斷的進取,那怎麼做呢?要把命令學好,之後學習函數,學習系統函數的目標是應用操作系統提供的功能,操作系統以後很多的功能,它的系統函數也有很多很充分。比如有簡單的文件函數,read write ftell,進程函數有fork
vfork,wait,信號量函數semop,semcontrl等等。
做到上面兩步,那你的linux水平就已經很不錯了,所以,最後寫一句我的座右銘:只要從最簡單最容易的開始,一點一點主見向上,勻速前進永不停息,就沒有到達不了的地方,共勉。
Ⅷ 打算開始學習Linux該怎麼辦
一.為什麼要學linux?
當然最重要是愛好和興趣!如果你這種必要學,或者根本不喜歡,請不要浪費時間,你學也學不好!
二.起步
你應該為自己創造一個學習linux的環境--在電腦上裝一個linux或unix
如何選擇版本:北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術最先進的linux開發人員中用debian的最多,其次是redhat,從全球linux各應用領域市場份額來看無疑redhat是最多的,此外還有很多出名的發行版本,不再列舉。
對於初學linux的人來說,我建議是使用redhat,原因如下:
1)現在很多書都是以redhat為例講的,為了與書本協調一致
2)周圍的人都用redhat,交流比較方便
3)redhat應用范圍廣,有典型性和代表性
4)它易於使用和安裝,我們沒有必要把時間浪費在「裝系統」上而應集中精力學習最有用的東西。
【注】現在覺得RH很死板,AS,ES等用在伺服器上或許不錯,Personal desktop用mandrake,debian,suse都不錯,筆者現在用Mandrake,因為她長得漂亮:)
如果你並不打算深入學習linux,而是有諸如適應北京市政府辦公平台遷移到linux上這種需要,那麼中軟,紅旗等中文linux是不錯的選擇
我強烈建議:自己親自動手把linux裝到你的硬碟上,你必須學會獨立安裝linux系統的技能,對於現在的版本來說,其實跟裝WinXP一樣簡單
從此現在開始,請不要以windows的工作方式來考慮問題,應該嘗試挖掘linux身上的「天才unix」的氣質。
三.進階
掌握至少50個以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面環境操作
掌握.tgz.rpm.biz等軟體包的常用安裝方法
學習添加外設,安裝設備驅動程序(比如modem)
熟悉Grub/Lilo引導器及簡單的修復操作
熟悉系統固有目錄的名稱及公用
學會用mount命令訪問其他文件系統
了解vi,gcc,gdb等常用編輯器,編譯器,調試器
Ⅸ 我想學習LINUX,應該怎麼學
對於Linux的學習,可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方向細化階段
第一階段:初級階段
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
1. Linux基礎知識、基本命令;
2. Linux用戶及許可權基礎;
3. Linux系統進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1. TCP/IP網路基礎;
2. Linux企業常用服務;
3. Linux企業級安全原理和防範技巧;
4. 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎;
5. iptables安全策略構建;
6. shell腳本進階;
7. MySQL應用原理及管理入門
第三階段:Linux高級進階
1. http服務代理緩存加速;
2. 企業級負載集群;
3. 企業級高可用集群;
4. 運維監控zabbix詳解;
5. 運維自動化學習;
第四階段:Linux資深方向細化
1. 大數據方向;
2. 雲計算方向;
3. 運維開發;
4. 自動化運維;
5. 運維架構師
對於Linux的學習,可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方向細化階段
第一階段:初級階段
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
1. Linux基礎知識、基本命令;
2. Linux用戶及許可權基礎;
3. Linux系統進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1. TCP/IP網路基礎;
2. Linux企業常用服務;
3. Linux企業級安全原理和防範技巧;
4. 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎;
5. iptables安全策略構建;
6. shell腳本進階;
7. MySQL應用原理及管理入門
第三階段:Linux高級進階
1. http服務代理緩存加速;
2. 企業級負載集群;
3. 企業級高可用集群;
4. 運維監控zabbix詳解;
5. 運維自動化學習;
第四階段:Linux資深方向細化
1. 大數據方向;
2. 雲計算方向;
3. 運維開發;
4. 自動化運維;
5. 運維架構師
Ⅹ 如果要精通Linux,請問應該從何學起
裡面的東西完全不同,不要把win的思維帶入linux,換一種考慮方式
先裝個linux,盡量裝debian/ubuntu,或opensuse/fedora,因為幫助文檔多
任何不懂的上wiki、論壇和google,盡量用google,網路搜索linux結果不全
買本入門的書,比如《鳥哥的私房菜.第二版》,雖然有點老不過是好書,認真做好課後習題
視你的方向而定,全精是比較困難的,網管的看網路,軟體開發的看編程,嵌入式的看內核,玩玩的就每天上機去折騰
新手入門多泡泡論壇:
http://www.linuxdiyf.com/bbs/ 書很多,也很雜,注意選擇
http://www.linuxsir.org/bbs/index.php 每個版面都很不錯,國內老牌論壇
還有每個發行版的論壇、wiki
ubuntu的中文論壇很熱鬧,即使不用ubuntu也可以參考一下