⑴ 如果想學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操作系統
1、先了解了解基礎吧,呵呵,找一本薄一點的,淺一點的書,了解一下什麼是linux。有個基本了解即可。不建議馬上看《鳥哥的Linux私房菜》,這本書很不錯,如果你了解linux基礎之後再看,對你可以說是不受益匪淺都不行。沒基礎看《鳥哥的Linux私房菜》比較痛苦,內容很多。
2、了解之後,在自己電腦上弄個虛擬機,裝上linux系統(red hat 或ubuntu都行)。專攻《鳥哥的Linux私房菜》。當你把這本書攻下來時,才知道原來命令行並不可怕,自己打著打著就很長啦。
備註:
學linux最主要靠實踐,不實踐,只看書對你沒好處的哦。自己在虛擬機上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找資料弄懂,弄懂之後再實踐,這才會有收獲。另外再推薦一本書叫《linux就該這么學》和鳥哥的差不多。
⑶ 學習linux操作系統需要掌握哪些東西
一.為什麼要學linux?
當然最重要是愛好和興趣!如果你這種必要學,或者根本不喜歡,請不要浪費時間,你學也學不好!
二.起步
你應該為自己創造一個學習linux的環境--在電腦上裝一個linux或unix
問題1:版本的選擇
北美用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語言
1.英語
即使你不學linux,我也強烈建議你學好英文[U.S.english]
因為實質上計算機語言就是英文和字元,所謂的多國語言只是外部包裝
你必須能無障礙的閱讀大量的英文技術文檔
在搜索引擎找到的英文網站和網頁中熟練的檢索
最好能有用英文直接交流的能力,
擺脫了這個障礙,你的學習和理解速度就能快很多,你就有機會拉開和別人的差距
2.shell[sed/awk]
shell是命令解釋器,是內核與用戶界面交流通道,shell寫的小腳本有點類似於win下的.bat
但shell比.bat強大的多,shell不只是解釋命令,更是一種編程語言,有時候幾百行的c用shell
幾十行就能代替完成工作,因為shell的工作方式建立在系統已有的眾多應用程序之上
這也是CS中的一個重要思想。
此外,shell可以實現工作自動化,這個概念也比較重要
sed,awk用來處理文本,歷來很常用
3.Perl/php
漂亮的腳本, CGI的首選,比ASP好,應用面很廣
4.C\C++
C、C++是linux/unix的核心語言,系統代碼都是C寫的
5.ASM
系統底層及內核,硬體,設備驅動程序,嵌入式開發都需要
//走核心路線的話,才c\c++,asm最重要
6.Java,Python,Tcl,XML
*系統管理篇
在熟悉linux的基礎上還需要掌握至少一種unix
我首推Solaris,其次是FreeBSD
比如運營級系統一般是Solaris+Oracle/DB2之類的
學習apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind
等各種應用伺服器的構架及電子商務的應用
熟悉TCP/IP協議族,學習諸如apache+php+proftp+mysql+quota的實現以及大型區域網,分布式集群
等各種企業級應用解決方案
熟悉多用戶管理,資料庫管理,文件系統,邏輯存儲管理,日誌分析,備份與災難數據修復
系統補丁,內核升級,以及在此基礎上的防火牆構架等以保障系統安全在內的各種系統管理技能
我覺得,如果在此基礎上再掌握路由/交換設備便是一個不錯的系統管理員
各種基於linux的解決方案可參考相關書籍和文獻,必要時用google或各大linux站點站內
搜索引擎尋找最新文檔,以避免錯誤和漏洞
有幾本技術大全和技術內幕我認為都是這方面不錯的書
*深入學習linux
我個人理解的讀linux內核需要的基礎:
在此之前,希望先把應用層的東西學一下,那樣會比較好理解
1.C
如果學過潭浩強的大學教科書(除了編幾個數學模型好像什麼也做不了的那種),
建議再看一下
《The C Programming Language》Second Edition這本聖經
/*如果想學緩沖區溢出,這點C的功力可能是不夠的*/
還有,,,
反正經典書看多了是沒有壞處的
2.asm (AT&T語法,保護模式)
保護模式下的比較復雜,基本上每本講內核的書都會有介紹
有80x86 Intel語法的基礎就行,
有興趣可以看看Intel的官方****
3.數據結構(離散數學)
計算機專業的核心課程,重要性我就不說了
4.操作系統原理
看懂這個再去讀linux吧
5.微機原理/組成原理(數字電路)
底層直接和硬體打交道,所以這個也要
6.了解linux/unix
我想至少你要會操作吧,了解unix的API
⑷ Linux系統需要學習什麼知識
首先 linux 操作系統是必不可少的
Linux系統如果是學習可以選用redhat或者centos,特別是centos在企業中用得最多,當然還會有其它版本的,比如ubuntu,suse, debian等在企業當中也用的相當多系統的基本使用、磁碟管理、軟體包管理、進程管理、用戶管理等等這些都是學習的重點
最常見的一些簡單服務
服務的種類繁多,每家公司都會用到的服務個不相同,但基礎的服務肯定要掌握,比如ssh,apache,at,crontab,ftp,dns,nfs,nginx等等,不光是部署,還要很熟悉裡面的配置才行,因為公司最關鍵的絕對是Web伺服器,所以nginx和apache要特別熟悉,有些公司還會用tomcat,這個也需要會。
bash腳本編程
shell是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,內存比率的腳本!這是最最最基本了,別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統腳本才是最有意義
sed和awk是腳本編程過程當中的重中之重, 必須要掌握,在掌握這兩個工具同時,還要掌握正則表達式,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本內容和過濾Web內容時十分有用,不過在學shell的同時一般會經常結合用到的。
文本處理命令
各種小命令,比如sort , tr , cut, paste, uniq, tee等是必學的
資料庫
MySQL,linux用得最多絕對是MySQL,增刪改查必學,特別要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。
防火牆
不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則,如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而FILTER表用得最多,反正不學就肯定不合格。
監控工具
十分重要,zibbix、prometheus暫時可以2選1,但是企業用得最多是zibbix,因為prometheus是新一代監控,具體什麼時候成熟應用還是不那麼確定的,現在確定的是它在容器監控中絕對是重中之重。
集群和熱備
很重要,必須要懂,集群工具很多,LVS、nginx等等,還有熱備,這個就更多工具能實現了,比如keepalived、rhcs等等
數據備份
工具有很多,但至少要把RAID的原理弄懂,特別是企業最常用的1+0或0+1,自己做實驗也要弄出來,備份工具有很多,如tar, mp, rsync等
自動化運維工具
ansible,puppet,saltstack等等都是非常流行的自動化運維工具,但是比較難掌握
雲平台
Openstack,cloudstack等等,尤其是openstack是現在絕大部分公司採用的公有雲或者私有雲底層平台,在一個滿世界都是雲的it時代,不懂點雲的東西還真是不行
容器平台
繼雲之後的又一新興技術,現在火的一塌糊塗,docker,kubernetes等等,幾乎可以說是現在想拿高薪,必學的東西
⑸ linux應該如何去學習
1、想要學習好Linux就要將它當成興趣,興趣才是最好的老師。良好的興趣才是學習成功好的開始,想要學習好首先就要足夠喜歡它。我們要了解市場上Linux的發展勢頭,了解Linux的相關情況,相信學習好Linux一定要是非常不錯的選擇。
2、學習合適的Linux發行版本,在開始學習Linux之前,首先就是選擇一個適合自己的版本,Linux旗下發行版本有伺服器版本以及桌面版本,而且桌面版本也可以做服務的,為了以後找工作需要的。常見的Linux發行版本有centos
redhat ubuntu等。
3、選擇好Linux學習版本之後,還需要合適的學習資料以及內容,可以到相關的Linux社群看看專業人員的學習機器以及學習手冊,了解真正相關的知識。
4、學習Linux架構以及命令,linux下都是通過命令來執行的,要學會用man和命令幫助,熟悉各種常見命令的操作。
5、學習shell腳本,對於專業的Linux人員來說,shell腳本是必須要掌握的。shell腳本是linux下強大的工具,可以通過各種命令組合完成自己的工作,提升自己的工作效率。
⑹ 如何學習linux操作系統
1、先找一本基礎的書,我當初用的是鳥哥的linux私房菜,基礎篇和服務欺篇,當然了,我介紹我朋友用的也是他哦。貌似網上有電子版的。
2、先大體上瀏覽一下書。不要很詳細的看,看不下去,會煩的。
3、安裝一個linux的系統。在虛擬機上就可以了。
4、把你的基礎篇的書,從頭到尾的敲上一遍,看看會出什麼現象,多做試驗哦。
5、要做筆記的,把你敲試驗的新得體會總結一下,這樣就成你的知識了。
6、要多出錯誤,多排除錯誤,這是通往高手的必經之路哦。
7、多與別人交流
(在不懂的時候就多敲吧,不懂沒有關系,看到現象就可以了,看的多了就懂了)
⑺ 怎麼學習linux
Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。
實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。
學習主要內容有:
1)網路基礎與linux系統的管理
2)優化及高可用技能
3)虛擬化與雲平台技術
4)開發運維
畢業後可從事的工作有:
1)Linux運維工程師
2)資料庫工程師
3)雲計算運維工程師
4)自動化運維工程師
5)雲計算架構工程師等
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。