新聞中心
Linux 知識(shí)庫(kù)(Linux Knowledge Base)是一個(gè)用于存儲(chǔ)和管理Linux操作系統(tǒng)相關(guān)知識(shí)的平臺(tái),它可以讓Linux愛(ài)好者、系統(tǒng)管理員和開(kāi)發(fā)人員在這里分享和獲取知識(shí)。在Linux知識(shí)庫(kù)中,你可以找到了解Linux基礎(chǔ)知識(shí)、命令行操作、系統(tǒng)管理、網(wǎng)絡(luò)及安全、性能優(yōu)化等方面的文章。同時(shí),該平臺(tái)還提供多種設(shè)置方式,本文將對(duì)其中的“設(shè)置界面”進(jìn)行簡(jiǎn)介。

創(chuàng)新互聯(lián)是專業(yè)的洪山網(wǎng)站建設(shè)公司,洪山接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行洪山網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
一、訪問(wèn)設(shè)置界面
為了進(jìn)入Linux知識(shí)庫(kù)的設(shè)置界面,首先需要擁有管理員權(quán)限。在登錄Linux知識(shí)庫(kù)后,點(diǎn)擊頭像旁的“設(shè)置”按鈕,即可進(jìn)入設(shè)置界面。在這里,你可以看到各種設(shè)置選項(xiàng)和其對(duì)應(yīng)的參數(shù)。
二、主題設(shè)置
主題設(shè)置是Linux知識(shí)庫(kù)中比較好上手的一個(gè)設(shè)置選項(xiàng)。在“主題設(shè)置”欄目中,你可以選擇不同的主題樣式,來(lái)美化整個(gè)知識(shí)庫(kù)的界面。點(diǎn)擊每一個(gè)主題樣式的預(yù)覽按鈕,你可以在彈出的預(yù)覽窗口中預(yù)覽該主題的樣式,選擇后再點(diǎn)擊“保存設(shè)置”即可。
三、用戶設(shè)置
用戶設(shè)置可以讓管理員自定義許多優(yōu)化用戶體驗(yàn)的參數(shù)。例如,你可以自定義Linux知識(shí)庫(kù)的訪問(wèn)限制,比如要求用戶先登錄后方可閱讀知識(shí)庫(kù)內(nèi)容;還可以對(duì)訪問(wèn)Linux知識(shí)庫(kù)的用戶進(jìn)行分類,以便更好地管理用戶的訪問(wèn)權(quán)限。此外,該設(shè)置選項(xiàng)還包括了許多常用的用戶管理工具和權(quán)限分配,這些工具可以幫助管理員更加方便和快速地管理和控制知識(shí)庫(kù)的用戶。
四、郵件設(shè)置
郵件設(shè)置是Linux知識(shí)庫(kù)中一個(gè)極其重要的設(shè)置選項(xiàng),因?yàn)樗梢宰屇爿p松管理知識(shí)庫(kù)的訂閱和通知功能。在郵件設(shè)置界面中,管理員可以設(shè)置知識(shí)庫(kù)的發(fā)件人信息、TP服務(wù)器、發(fā)件人信箱、用戶名和密碼等參數(shù),以保證郵件通知功能的正常運(yùn)作。此外,管理員還可以設(shè)置各種郵件通知的類型和頻率,以及允許哪些用戶接收郵件通知。
五、數(shù)據(jù)庫(kù)設(shè)置
數(shù)據(jù)庫(kù)設(shè)置是一個(gè)較為高難度的設(shè)置選項(xiàng),需要對(duì)Linux系統(tǒng)本身有一定的了解和應(yīng)用經(jīng)驗(yàn)。在Linux知識(shí)庫(kù)的數(shù)據(jù)庫(kù)設(shè)置中,管理員可以對(duì)各種數(shù)據(jù)庫(kù)參數(shù)進(jìn)行調(diào)整,以使知識(shí)庫(kù)的性能更加優(yōu)化。例如,可以改變數(shù)據(jù)庫(kù)的連接數(shù)和緩存大小、啟用或禁用各種引擎、調(diào)整讀寫速度和優(yōu)化查詢算法等。
六、SEO設(shè)置
SEO設(shè)置是一項(xiàng)比較前沿的設(shè)置選項(xiàng),在Linux知識(shí)庫(kù)中也得到了充分的體現(xiàn)。SEO(搜索引擎優(yōu)化)指的是通過(guò)技術(shù)手段和策略,優(yōu)化網(wǎng)站的內(nèi)容、結(jié)構(gòu)和鏈接等來(lái)提升其在搜索引擎中的排名。在Linux知識(shí)庫(kù)中,管理員可以通過(guò)SEO設(shè)置來(lái)提高知識(shí)庫(kù)的訪問(wèn)量和用戶體驗(yàn)。例如,可以設(shè)置知識(shí)庫(kù)的關(guān)鍵詞、頁(yè)面描述、標(biāo)題等元素,以使知識(shí)庫(kù)更容易被搜索引擎優(yōu)先索引。
七、維護(hù)與備份設(shè)置
維護(hù)與備份是Linux知識(shí)庫(kù)中最為基礎(chǔ)的設(shè)置選項(xiàng)之一。在這部分設(shè)置中,管理員可以設(shè)置Linux知識(shí)庫(kù)的數(shù)據(jù)庫(kù)備份、定時(shí)任務(wù)、日志管理等基本設(shè)置,來(lái)確保知識(shí)庫(kù)的順利運(yùn)作。此外,管理員還可以選擇使用FTP、SSH等方式將數(shù)據(jù)庫(kù)備份到其他服務(wù)器上,對(duì)數(shù)據(jù)進(jìn)行保護(hù)和管理。
八、
在Linux知識(shí)庫(kù)設(shè)置界面,管理員可以根據(jù)自己的需求和實(shí)際情況,自由選擇各種設(shè)置選項(xiàng)和參數(shù)。這些設(shè)置不僅能夠讓管理員更好地控制知識(shí)庫(kù)的運(yùn)作,更能夠優(yōu)化知識(shí)庫(kù)的性能和用戶體驗(yàn),讓Linux知識(shí)庫(kù)更加優(yōu)秀和穩(wěn)定。如果你是Linux操作系統(tǒng)的愛(ài)好者或者開(kāi)發(fā)者,希望你可以熟練掌握這些設(shè)置方法,來(lái)更好地管理和分享自己的知識(shí)。
相關(guān)問(wèn)題拓展閱讀:
- 如何學(xué)習(xí)linux?
- 嵌入式linux怎么學(xué)
如何學(xué)習(xí)linux?
Linux主體分為“運(yùn)維”與“開(kāi)發(fā)”兩個(gè)方向,無(wú)論你是Linux相關(guān)從業(yè)者,還是說(shuō)愛(ài)好都可以歸類到這里,其中“運(yùn)維”一般是初學(xué)者或者轉(zhuǎn)行人員的首選,而Linux運(yùn)維主要是對(duì)服務(wù)器穩(wěn)定、性能與安全方面的維護(hù)和調(diào)試。
實(shí)際上Linux入門并不困難,只要基鏈具備Linux基礎(chǔ),讀懂Linux的命令格式,大多數(shù)的服務(wù)架構(gòu)都是可以按照文檔部署出來(lái)。當(dāng)然做Linux開(kāi)發(fā),個(gè)人建議去參加培訓(xùn)學(xué)習(xí)更有效率,如果報(bào)班學(xué)習(xí)則大概需要4-6個(gè)月時(shí)間。
學(xué)習(xí)主要內(nèi)容有:
1)網(wǎng)絡(luò)基礎(chǔ)與linux系統(tǒng)的管理
2)優(yōu)化及高可用技能
3)虛擬化與云平臺(tái)技術(shù)
4)開(kāi)碧鋒數(shù)發(fā)運(yùn)維
畢業(yè)后可從事的工作有:
1)Linux運(yùn)維工程師
2)數(shù)據(jù)庫(kù)工程師
3)云計(jì)算運(yùn)維工程師
4)自動(dòng)化運(yùn)維工程師
5)云計(jì)算架構(gòu)工程師等
互聯(lián)網(wǎng)行業(yè)目前還是最熱門的行業(yè)之一,學(xué)習(xí)IT技能之后足夠優(yōu)秀是有機(jī)會(huì)進(jìn)入騰訊悔首、阿里、網(wǎng)易等互聯(lián)網(wǎng)大廠高薪就業(yè)的,發(fā)展前景非常好,普通人也可以學(xué)習(xí)。
想要系統(tǒng)學(xué)習(xí),你可以考察對(duì)比一下開(kāi)設(shè)有相關(guān)專業(yè)的熱門學(xué)校,好的學(xué)校擁有根據(jù)當(dāng)下企業(yè)需求自主研發(fā)課程的能力,能夠在校期間取得大?;虮究茖W(xué)歷,中博軟件學(xué)院、南京課工場(chǎng)、南京北大青鳥(niǎo)等開(kāi)設(shè)相關(guān)專業(yè)的學(xué)校都是不錯(cuò)的,建議實(shí)地考察對(duì)比一下。
祝你學(xué)有所成,望采納。
學(xué)習(xí)Linux步驟:
1、先了解了解基礎(chǔ)吧,找一本薄一點(diǎn)的,淺一點(diǎn)的書,了解一下什么是linux。有個(gè)基本了解即可。不胡嫌建議馬上看《鳥(niǎo)哥的Linux私房菜》,這本書很不錯(cuò),如果你了解linux基礎(chǔ)之后再看,對(duì)你可以說(shuō)是不受益匪淺此猛都不行。沒(méi)基礎(chǔ)看《鳥(niǎo)哥的Linux私房菜》比較痛苦,內(nèi)容很多。
2、了解之后,在自己電腦上弄個(gè)虛擬機(jī),裝上linux系統(tǒng)(redhat或ubuntu都行)。專攻《鳥(niǎo)哥的Linux私房菜》。當(dāng)你把這本書攻下來(lái)時(shí),才知道原來(lái)命令行并不可怕,自己打著打著就很長(zhǎng)啦。
學(xué)linux最主要靠實(shí)踐,不實(shí)踐,只看書對(duì)你沒(méi)好處的哦。自己在虛擬機(jī)上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找資料弄懂,弄懂之后再實(shí)踐,這才會(huì)有收森做橋獲。
1、學(xué)習(xí)linux要學(xué)的內(nèi)容很多,很多東西必須了解其機(jī)制,所以并不單單的如windows那樣傻瓜式的學(xué)習(xí),因?yàn)閣indows本身就是針對(duì)不懂電腦的人群。。
2、精通這種詞很難定義,反正要學(xué)的東西很多。
3、在windows下安裝虛擬機(jī)對(duì)于新手學(xué)習(xí)linux較方便,在linux安裝windows虛擬機(jī)(我的經(jīng)驗(yàn)是卡,我用的是vmware 而且不是一般的卡) ,起初條件差,自己裝了雙系統(tǒng),后來(lái)就買兩臺(tái)電腦,一臺(tái)LINUX一臺(tái)WINDOWS。
下面就是詳細(xì)的說(shuō)一下。。
一.為什么要學(xué)linux?
當(dāng)然最重要是愛(ài)好和興趣!如果你這種必要學(xué),或者根本不喜歡,請(qǐng)不要浪費(fèi)時(shí)間,你學(xué)也學(xué)不好!
二.起步
你應(yīng)該為自己創(chuàng)造一個(gè)學(xué)習(xí)linux的環(huán)境–在電腦上裝一個(gè)linux或unix
如何選擇版本:北美用redhat,歐洲用SuSE,桌面mandrake較多,搏胡而debian是技術(shù)更先進(jìn)的linux開(kāi)發(fā)人員中用debian的最多,其次是redhat,從全球linux各應(yīng)用領(lǐng)域市場(chǎng)份額來(lái)看無(wú)疑redhat是最多的,此外還有很多出名的發(fā)行版本,不再列舉。
對(duì)于初學(xué)linux的人來(lái)說(shuō),我建議是使用redhat,原因如下:
1)現(xiàn)在很多書都是以redhat為例講的,為了與書本協(xié)調(diào)一致
2)周圍的人都用redhat,交流比較方便
3)redhat應(yīng)用范圍廣,有典型性和代表性
4)它易于使用和安裝,我們沒(méi)有必要把時(shí)間浪費(fèi)在“裝系統(tǒng)”上而應(yīng)集中精力學(xué)習(xí)最有用的東西。
【注】現(xiàn)在覺(jué)得RH很死板,AS,ES等用在服務(wù)器上或許不錯(cuò),Personal desktop用mandrake,debian,suse都不錯(cuò),筆者現(xiàn)在用Mandrake,因?yàn)樗L(zhǎng)得漂亮:)
如果你并不打算深入學(xué)習(xí)linux,而是有諸如適應(yīng)北京市辦公平臺(tái)遷移到linux上這種需要,那么中軟,紅旗等中文linux是不錯(cuò)的選擇
我強(qiáng)烈建議:自己親自動(dòng)手把linux裝到你的硬盤上,你必須學(xué)會(huì)獨(dú)立安裝linux系統(tǒng)的技能,對(duì)于現(xiàn)在的版本來(lái)說(shuō),其實(shí)跟裝WinXP一樣簡(jiǎn)單
從此現(xiàn)在開(kāi)始,請(qǐng)不要以windows的工作方式來(lái)考慮問(wèn)題寬謹(jǐn),應(yīng)該嘗試挖掘linux身上的“天才unix”的氣質(zhì)。
三.進(jìn)階
掌握至少50個(gè)以上的常用命令
理解shell管道”|”,文件流重定向”>”及追加”>>”等
熟悉Gnome/KDE等X-windows桌面環(huán)境操作
掌握.tgz.rpm.biz等軟件包的常用安裝方法
學(xué)習(xí)添加外設(shè),安裝設(shè)備驅(qū)動(dòng)程序(比如modem)
熟悉Grub/Lilo引導(dǎo)器及簡(jiǎn)單的修復(fù)操作
熟悉系統(tǒng)固有目錄的名稱及公用
學(xué)會(huì)用mount命令訪問(wèn)其他文件系統(tǒng)
了解vi,gcc,gdb等常用編輯器,編譯器,調(diào)試器
學(xué)習(xí)linux環(huán)境下的簡(jiǎn)單組網(wǎng)
建議:買一本不需要太厚的linux教材,大致可以滿足要求(現(xiàn)在的書越來(lái)越多了,還帶很多圖,我當(dāng)時(shí)可沒(méi)這么多書)
四.高級(jí)應(yīng)用
澄清一些概念:linux的普通操作與真正的系統(tǒng)管理不能相提并論,后者需要很多知識(shí)
1.英語(yǔ)
即使你不學(xué)linux,我也強(qiáng)烈建議你學(xué)好英文。因?yàn)閷?shí)質(zhì)上計(jì)算機(jī)語(yǔ)言就是英文和字符,所謂的多國(guó)語(yǔ)言只是外部包裝。你必須能無(wú)障礙的閱讀大量的英文技術(shù)文檔在搜索引擎找到的英文網(wǎng)站和網(wǎng)頁(yè)中熟練的檢索更好能有用英文直接交流的能力,擺脫了這個(gè)障礙,你的學(xué)習(xí)和理解速度就能快很多,你就有機(jī)會(huì)拉開(kāi)和別人的差距。
2.shell
shell是命令解釋器,是內(nèi)核與用戶界面交流通道,shell寫的小腳本有點(diǎn)類似于win下的.bat但shell比.bat強(qiáng)大的多,shell不只是解釋命令,更是一種編程語(yǔ)言,有時(shí)候幾百行的c用shell幾十行就能代替完成工作,因?yàn)閟hell的工作方式建立在系統(tǒng)已有的眾多應(yīng)用程序之上
這也是CS中的一個(gè)重要思想。此外,shell可以實(shí)現(xiàn)工作自動(dòng)化,這個(gè)概念也比較重要sed,awk用來(lái)處理文本,歷來(lái)很常用。
3.Perl/PHP
漂亮的腳本, CGI的首選,比ASP好,應(yīng)用面很廣
4.C\C++
C、C++是linux/unix的核心語(yǔ)言,系統(tǒng)代碼都是C寫的
5.A
系統(tǒng)底層及內(nèi)核,硬件,設(shè)備驅(qū)動(dòng)程序,嵌入式開(kāi)發(fā)都需要。基巧攔//走核心路線的話,c\c++,a最重要
6.Java,Python,Tcl,XML
五、系統(tǒng)管理篇
在熟悉linux的基礎(chǔ)上還需要掌握至少一種unix。我首推Solaris,其次是FreeBSD比如運(yùn)營(yíng)級(jí)系統(tǒng)一般是Solaris+Oracle/DB2之類的學(xué)習(xí)apache、ssh、sendmail/Qmail、proftp/vsftp、Samba、Squid、MySQL/PostgreSQL/Oracle、Bind等各種應(yīng)用服務(wù)器的構(gòu)架及電子商務(wù)的應(yīng)用熟悉TCP/IP協(xié)議族,學(xué)習(xí)諸如apache+php+proftp+mysql+quota的實(shí)現(xiàn)以及大型局域網(wǎng),分布式集群等各種企業(yè)級(jí)應(yīng)用解決方案熟悉多用戶管理,數(shù)據(jù)庫(kù)管理,文件系統(tǒng),邏輯存儲(chǔ)管理,日志分析,備份與災(zāi)難數(shù)據(jù)修復(fù)系統(tǒng)補(bǔ)丁,內(nèi)核升級(jí),以及在此基礎(chǔ)上的防火墻構(gòu)架等以保障系統(tǒng)安全在內(nèi)的各種系統(tǒng)管理技能。
我覺(jué)得,如果在此基礎(chǔ)上再掌握路由/交換設(shè)備便是一個(gè)不錯(cuò)的系統(tǒng)管理員
各種基于linux的解決方案可參考相關(guān)書籍和文獻(xiàn),必要時(shí)用google或各大linux站點(diǎn)站內(nèi)搜索引擎尋找最新文檔,以避免錯(cuò)誤和漏洞有幾本技術(shù)大全和技術(shù)內(nèi)幕我認(rèn)為都是這方面不錯(cuò)的書
六、深入學(xué)習(xí)linux
我個(gè)人理解的讀linux內(nèi)核需要的基礎(chǔ):在此之前,希望先把應(yīng)用層的東西學(xué)一下,那樣會(huì)比較好理解
1.C
如果學(xué)過(guò)潭浩強(qiáng)的大學(xué)教科書(除了編幾個(gè)數(shù)學(xué)模型好像什么也做不了的那種),建議再看一下《The C Programming Language》Second Edition這本圣經(jīng)(如果想學(xué)緩沖區(qū)溢出,這點(diǎn)C的功力可能是不夠的,還有,,,反正經(jīng)典書看多了是沒(méi)有壞處的)
2.a (AT&T語(yǔ)法,保護(hù)模式)
保護(hù)模式下的比較復(fù)雜,基本上每本講內(nèi)核的書都會(huì)有介紹有80×86 Intel語(yǔ)法的基礎(chǔ)就行,
有興趣可以看看Intel的官方網(wǎng)站
3.數(shù)據(jù)結(jié)構(gòu)(離散數(shù)學(xué))
計(jì)算機(jī)專業(yè)的核心課程,重要性我就不說(shuō)了
4.操作系統(tǒng)原理
看懂這個(gè)再去讀linux吧
5.微機(jī)原理/組成原理(數(shù)字電路)
底層直接和硬件打交道,所以這個(gè)也要
6.了解linux/unix
我想至少你要會(huì)操作吧,了解unix的API
7.軟件工程/編譯原理
對(duì)于Linux的學(xué)習(xí),想要系統(tǒng)的學(xué)習(xí),就需要一套完整的教程,可以是一本權(quán)威的書籍,也可以是一套完整的視頻教程,只要內(nèi)容完整,再加上您的,相信是很容易學(xué)好的!
對(duì)于Linux的學(xué)習(xí),可以重點(diǎn)學(xué)習(xí)以下內(nèi)容:
一、linux基礎(chǔ)
Linux基礎(chǔ)入門主要包括: Linux硬件基礎(chǔ)、Linux發(fā)展歷史、Linux系統(tǒng)安裝、xshell連接、xshell優(yōu)化、SSH遠(yuǎn)程連接故障問(wèn)題排查、L inux基礎(chǔ)優(yōu)化、Linux目錄結(jié)構(gòu)知識(shí)、Linux文件屬性、Linux通配符、正則表達(dá)式、Linux系統(tǒng)權(quán)限等
二、linux系統(tǒng)管理進(jìn)階
linux系統(tǒng)管理進(jìn)階包括:Linux定時(shí)任務(wù)、Linux用戶管理、Linux磁盤與文件系統(tǒng)、Linux三劍客之sed命令等。
三、Linux Shell基礎(chǔ)
Linux Shell基礎(chǔ)包括:Shell編程基礎(chǔ)、Linux三劍客之a(chǎn)wk命令等。
四、Linux網(wǎng)絡(luò)基礎(chǔ)
五、Linux網(wǎng)絡(luò)服務(wù)
Linux網(wǎng)絡(luò)服務(wù)包括:集群實(shí)戰(zhàn)架構(gòu)開(kāi)始及環(huán)境準(zhǔn)備、rsync數(shù)據(jù)同步服務(wù)、Linux全網(wǎng)備份項(xiàng)目、nfs網(wǎng)絡(luò)存儲(chǔ)服務(wù)精講、inotify/sersync實(shí)時(shí)數(shù)據(jù)同步/nfs存儲(chǔ)實(shí)時(shí)備份項(xiàng)目等。運(yùn)陵
六、Linux重要網(wǎng)絡(luò)服務(wù)
Linux重要網(wǎng)絡(luò)服務(wù)包括:http協(xié)議/www服務(wù)基礎(chǔ)、nginx web介紹及基礎(chǔ)實(shí)踐、nginx web、lnmp環(huán)境部署/數(shù)據(jù)庫(kù)異機(jī)遷移/共享數(shù)據(jù)異機(jī)遷移到NFS系統(tǒng)、nginx負(fù)載均衡、keepalived高可用等。
七、Ansible自動(dòng)化運(yùn)維與Zabbix監(jiān)控
Ansible自動(dòng)化運(yùn)維與Zabbix監(jiān)控包括: SSH服務(wù)秘鑰認(rèn)證、ansible批量自動(dòng)化管理集群、 zabbix監(jiān)控等。
八、大規(guī)模集群高可用服務(wù)(Lvs、Keepalived)
九、Java Tomcat服務(wù)及防火墻Iptables
十、MySQL DBA高級(jí)應(yīng)用實(shí)踐
MySQL DBA高級(jí)應(yīng)用實(shí)踐包括:MySQL數(shù)據(jù)庫(kù)入門基礎(chǔ)命令、MySQL數(shù)據(jù)庫(kù)進(jìn)階備份恢復(fù)、MySQL數(shù)據(jù)庫(kù)深入事務(wù)引擎、MySQL數(shù)據(jù)庫(kù)優(yōu)化SQL語(yǔ)句優(yōu)化、MySQL數(shù)據(jù)庫(kù)集群主從復(fù)制/讀寫分離、MySQL數(shù)據(jù)庫(kù)高可用/mha/keepalved等。
學(xué)完以上內(nèi)容,基本上可以成為L(zhǎng)inux工程師,想要進(jìn)一步深造,轎孫就需要在實(shí)踐中摸索并提升,一閉悄鏈般3至5年才可精通Linux運(yùn)維,因此,貴在堅(jiān)持!
只是一個(gè)供大家參考的學(xué)習(xí)步驟而已, 也可不需要按照此學(xué)習(xí),可根據(jù)個(gè)人學(xué)習(xí)方式來(lái)學(xué)習(xí), (文章末尾有一些學(xué)習(xí)資料)
1、Linux 基礎(chǔ)
安裝Linux操作系統(tǒng)
Linux文件系統(tǒng)
Linux常用命令
Linux啟動(dòng)過(guò)程詳解
熟悉Linux服務(wù)能夠獨(dú)立安裝Linux操作系統(tǒng)
能夠熟練使用Linux系統(tǒng)的基本命令
認(rèn)識(shí)Linux系統(tǒng)的常用服務(wù)安裝Linux操作系統(tǒng)
Linux基本命令實(shí)踐
設(shè)置Linux環(huán)境變量
定制Linux的服務(wù) Shell 編程基礎(chǔ)使用vi編輯文件
使用Emacs編輯文件
使用其他編輯器
2、Shell 編程基礎(chǔ)
Shell簡(jiǎn)介
認(rèn)識(shí)后臺(tái)程序
Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境
熟悉Linux下的各種Shell
熟練進(jìn)行shell編程熟悉vi基本操作
熟悉Emacs的基本操作
比較不同shell的區(qū)別
編寫一個(gè)測(cè)試服務(wù)器是否連通的shell腳本程序
編寫一個(gè)查看進(jìn)程是否存在的shell腳本程序
編寫一個(gè)帶有循環(huán)語(yǔ)句的shell腳本程序
3、Linux 下的 C 編程基礎(chǔ)
linux C語(yǔ)言環(huán)境概述
Gcc使用方法
Gdb調(diào)試技術(shù)
Autoconf
Automake
Makefile
代碼優(yōu)化 熟悉Linux系統(tǒng)下的開(kāi)發(fā)環(huán)境
熟悉Gcc編譯器
熟悉Makefile規(guī)則編寫Hello,World程序
使用 make命令編譯程序
編寫帶有一個(gè)循環(huán)的程序
調(diào)試一個(gè)有問(wèn)題的程序
4、嵌入式系統(tǒng)開(kāi)發(fā)基礎(chǔ)
嵌入式系統(tǒng)概述
交叉編譯
配置TFTP服務(wù)
配置NFS服務(wù)
下載Bootloader和內(nèi)核
嵌入式Linux應(yīng)用軟件開(kāi)發(fā)流程
熟悉嵌入式系統(tǒng)概念以及開(kāi)發(fā)流程
建立嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境制作cross_gcc工具鏈
編譯并下載U-boot
編譯并下載Linux內(nèi)核
編譯并下載Linux應(yīng)用程序
嵌入式系統(tǒng)移植
Linux內(nèi)核代碼
平臺(tái)相關(guān)代碼分析
ARM平臺(tái)介紹
平臺(tái)移植的關(guān)鍵技術(shù)
移植Linux內(nèi)核到 ARM平臺(tái) 了解移植的概念
能夠移植Linux內(nèi)核移植Linux2.6內(nèi)核到 ARM9開(kāi)發(fā)板
5、嵌入式 Linux 下串口通信
串行I/O的基本概念
嵌入式Linux應(yīng)用軟件開(kāi)發(fā)流程
Linux系統(tǒng)的文件和設(shè)備
與文件相關(guān)的系統(tǒng)調(diào)用
配置超級(jí)終端和MiniCOM 能夠熟悉進(jìn)行串口通信
熟悉文件I/O 編寫串口通信程序
編寫多串口通信程序
6、嵌入式系統(tǒng)中多進(jìn)程程序設(shè)計(jì)
Linux系統(tǒng)進(jìn)程概述
嵌入式系統(tǒng)的進(jìn)程特點(diǎn)
進(jìn)程操作
守護(hù)進(jìn)程
相關(guān)的系統(tǒng)調(diào)用了解Linux系統(tǒng)中進(jìn)程的概念
能夠編寫多進(jìn)程程序編寫多進(jìn)程程序
編寫納歷一個(gè)守護(hù)進(jìn)程程序
sleep系統(tǒng)調(diào)用任務(wù)管理、同步與通信 Linux任務(wù)概述
任務(wù)調(diào)度
管道
信號(hào)
共享內(nèi)存
任務(wù)管理 API 了解Linux系統(tǒng)任務(wù)管理機(jī)制
熟悉進(jìn)程間通信的幾種方式
熟悉嵌入式Linux中的任務(wù)間同步與通信
編寫一個(gè)簡(jiǎn)單的管道程序?qū)崿F(xiàn)文件傳輸
編寫一個(gè)使用共享內(nèi)存的程序
7、嵌入式系統(tǒng)中多線程程序設(shè)計(jì)
線程的基礎(chǔ)知識(shí)
多線程編程方法
線程應(yīng)用中的同步問(wèn)題了解線程的概念
能夠返讓編寫簡(jiǎn)單的多線程程序編寫一個(gè)多線程程序
8、嵌入式 Linux 網(wǎng)絡(luò)編程
網(wǎng)絡(luò)基礎(chǔ)知識(shí)
嵌入式Linux中TCP/IP網(wǎng)絡(luò)結(jié)構(gòu)
socket 編程
常用 API函數(shù)
分析Ping命令的實(shí)現(xiàn)
基本UDP套接口編程
許可證管理
PPP協(xié)議
GPRS 了解嵌入式Linux網(wǎng)絡(luò)體系結(jié)構(gòu)
能夠進(jìn)行嵌入式Linux環(huán)境下的socket 編程
熟悉UDP協(xié)議、PPP協(xié)議
熟悉GPRS 使用socket 編寫代理服務(wù)器
使用socket 編寫路由器
編寫許可證服務(wù)器
指出TCP和UDP的優(yōu)缺點(diǎn)
編寫一個(gè)web服務(wù)器
編寫一個(gè)運(yùn)行在 ARM平臺(tái)的網(wǎng)絡(luò)播放器
9、GUI 程序開(kāi)發(fā)
GUI基礎(chǔ)
嵌入式系統(tǒng)GUI類型
編譯QT
進(jìn)行QT開(kāi)發(fā)熟悉嵌入式系統(tǒng)常用的GUI
能夠進(jìn)行QT編程使用QT編寫“Hello,World”程序
調(diào)試一個(gè)加入信號(hào)/槽的實(shí)例
通過(guò)重載QWidget 類方法處理事件
10、Linux 字符設(shè)備驅(qū)動(dòng)程序
設(shè)備驅(qū)動(dòng)程序基礎(chǔ)知識(shí)
Linux系統(tǒng)的模塊
字符設(shè)備驅(qū)動(dòng)分析
fs_operation結(jié)構(gòu)
加載驅(qū)動(dòng)程序了解設(shè)備驅(qū)動(dòng)程序的概念
了解Linux字符設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)
能夠編寫字符設(shè)備驅(qū)動(dòng)程序編寫Skull驅(qū)動(dòng)
編寫鍵盤驅(qū)動(dòng)
編寫I/O驅(qū)動(dòng)
分析一個(gè)看門狗驅(qū)動(dòng)程序
對(duì)比Linux2.6內(nèi)核與2.4內(nèi)核中字符設(shè)備驅(qū)動(dòng)的不同
Linux 塊設(shè)備驅(qū)動(dòng)程序塊設(shè)備驅(qū)動(dòng)程序工作原理
典型的塊設(shè)備驅(qū)動(dòng)程序分析
塊設(shè)備的讀寫請(qǐng)求隊(duì)列了解Linux塊設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)
能夠編寫簡(jiǎn)單的塊設(shè)備驅(qū)動(dòng)程序比較字符設(shè)洞世搜備與塊設(shè)備的異同
編寫MMC卡驅(qū)動(dòng)程序
分析一個(gè)文件系統(tǒng)
對(duì)比Linux2.6內(nèi)核與2.4內(nèi)核中塊設(shè)備驅(qū)動(dòng)的不同
11、文件系統(tǒng)
虛擬文件系統(tǒng)
文件系統(tǒng)的建立
ramfs內(nèi)存文件系統(tǒng)
proc文件系統(tǒng)
devfs 文件系統(tǒng)
MTD技術(shù)簡(jiǎn)介
MTD塊設(shè)備初始化
MTD塊設(shè)備的讀寫操作了解Linux系統(tǒng)的文件系統(tǒng)
了解嵌入式Linux的文件系統(tǒng)
了解MTD技術(shù)
能夠編寫簡(jiǎn)單的文件系統(tǒng)為 ARM9開(kāi)發(fā)板添加 MTD支持
移植JFFS2文件系統(tǒng)
通過(guò)proc文件系統(tǒng)修改操作系統(tǒng)參數(shù)
分析romfs 文件系統(tǒng)源代碼
嵌入式linux怎么學(xué)
嵌入式的Linux與常規(guī)Linux在實(shí)際操作中區(qū)別不是很大。
而想要學(xué)習(xí)嵌入式Linux,你還需要對(duì)常規(guī)
Linux有所涉獵才行,因?yàn)榍度胧絃inux的編譯、遠(yuǎn)程控制等都需要在常規(guī)Linux下完成。
當(dāng)你對(duì)Linux基礎(chǔ)有所有了解之后,你就可以針對(duì)某個(gè)版本的嵌入式Linux進(jìn)行鉆研了,首先你手上需要配備有相關(guān)的硬件,比如arduino啊、樹(shù)霉派啊、路由器啊之類的,然后去轉(zhuǎn)一轉(zhuǎn)相關(guān)的論壇,了解下基礎(chǔ)的系統(tǒng)安裝配置、軟件的安裝之后,首先拿一些現(xiàn)有已經(jīng)編譯好的系統(tǒng)來(lái)做一做,如果搞定了,覺(jué)得沒(méi)什么難度了,可以學(xué)習(xí)自己編譯自己的系統(tǒng)。
編譯的時(shí)候所學(xué)習(xí)到的知識(shí)量才是大量的,你可以從基礎(chǔ)的開(kāi)始編譯,遍歷學(xué)習(xí)Linux各種lib、kmod之間的依賴關(guān)系,尤其是了解一些常用、必用的模塊、軟件包的功能和編譯。
如果到這里,你覺(jué)得沒(méi)什么挑戰(zhàn)了,時(shí)間可能至少已經(jīng)過(guò)了幾個(gè)月了,這個(gè)時(shí)候可以去研究下自己編程,shell程序、C程序等,寫一寫自己的模塊。
可以這么說(shuō),從linux擴(kuò)展開(kāi)來(lái)的知識(shí)點(diǎn)是海量的,要看你向哪個(gè)方向發(fā)展,比如
你想要做語(yǔ)音方向還是視頻方向,還是網(wǎng)站建設(shè)方向,還是人工智能方向,還是機(jī)
械操控方向等等等等,只有有針對(duì)性地發(fā)展,你才可能長(zhǎng)期保持熱情。
另外要說(shuō)的是,學(xué)習(xí)linux的過(guò)程中,對(duì)英文的學(xué)習(xí)也需要完善的,因?yàn)樵绞菍I(yè)化的東西,在國(guó)內(nèi)網(wǎng)絡(luò)上能夠提供給你的幫助就越小,你可能長(zhǎng)期需要混跡在國(guó)外的技術(shù)論壇上。
行吧,我就說(shuō)這些,說(shuō)得有些空曠,沒(méi)指明太具體的東西,但核心應(yīng)該就是這些了
。
另外,學(xué)習(xí)成功一個(gè)看起來(lái)有些難度的知識(shí),前提是你擁有這方面的愿望和實(shí)際目標(biāo),比如你需要在學(xué)習(xí)過(guò)程中不斷地要實(shí)現(xiàn)哪些具體的功能,比如你要讓你的arduino完成無(wú)人越野,那你就不得不在實(shí)現(xiàn)這個(gè)功能的過(guò)程中去走過(guò)一道道難關(guān),最終在你百折不撓的堅(jiān)持下,最終完成了,結(jié)果是可喜的,過(guò)程是痛并快樂(lè)的。
更多l(xiāng)inux相關(guān)信息,請(qǐng)參考《linux就該這么學(xué)》
作為一個(gè)新人,怎樣學(xué)習(xí)嵌入式Linux?被問(wèn)過(guò)太多次,特寫這篇文章來(lái)回答一下。
在學(xué)習(xí)嵌入式Linux之前,肯定要有C語(yǔ)言基礎(chǔ)。匯編基礎(chǔ)有沒(méi)有無(wú)所謂(就那么幾條匯編指令,用到了一看就會(huì))。
C語(yǔ)言要學(xué)到什么程度呢?越熟當(dāng)然越好,不熟的話也要具備基本技能。比如寫一個(gè)數(shù)組排序、輸入數(shù)字求和什么的。
學(xué)C語(yǔ)言唯一的方法是多寫程序多練習(xí),編譯出錯(cuò)沒(méi)關(guān)系,自己去解決;執(zhí)行出錯(cuò)沒(méi)關(guān)系,自己去分析。以前我是用
VC來(lái)練習(xí)C語(yǔ)言的,經(jīng)常去嘗試著寫一些C語(yǔ)言競(jìng)賽的題目。它們是純C、純數(shù)學(xué)、純邏輯的題目,不涉及界面這些東西,
很適合煅煉你的編程能力。
回到主題,首先我們要明白你的目的是什么,大概來(lái)說(shuō)所謂嵌入式Linux可以分為兩部分:底層系統(tǒng)、應(yīng)用開(kāi)發(fā)。
如果你是想做應(yīng)用開(kāi)發(fā),那么你去把C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、JAVA什么的學(xué)好吧。嵌入式應(yīng)用開(kāi)發(fā)和PC上的
應(yīng)用開(kāi)發(fā)并沒(méi)有什么特別要注意的。也許你說(shuō)在嵌入式上要做些優(yōu)化,是的,要優(yōu)化,但是未經(jīng)優(yōu)化的程序
和PC上的程序開(kāi)發(fā)沒(méi)什么差別。另外,當(dāng)你有能力去優(yōu)化時(shí),你已經(jīng)不用來(lái)問(wèn)這個(gè)問(wèn)題了。具體到某個(gè)例子,
比如說(shuō)開(kāi)發(fā)界面,在PC上我們用VC;在嵌入式Linux里也許我們用QT也許用Android,這個(gè)時(shí)候你應(yīng)該去學(xué)學(xué)QT、
Android的編程。但是基礎(chǔ)還是C或JAVA,在此基礎(chǔ)上去熟悉它們的接口。你學(xué)過(guò)VC的話,也是要花時(shí)間去了解
那些類、控件的。
如果你的目的是想學(xué)習(xí)底層系統(tǒng),這是我的專長(zhǎng),倒是可以說(shuō)一點(diǎn)。
在回答這個(gè)問(wèn)題之前,我先回答:不少人問(wèn)我,到底是學(xué)驅(qū)動(dòng)還是學(xué)應(yīng)用?
我只能說(shuō)憑興趣,并且驅(qū)動(dòng)和應(yīng)用并不是截然分開(kāi)的
1. 我們說(shuō)的驅(qū)動(dòng),其實(shí)并不局限于硬件的操作,還有操作系統(tǒng)的原理、進(jìn)程的休眠喚醒調(diào)度等概念。
想寫出一個(gè)好的應(yīng)用,想比較好的解決應(yīng)用碰到的問(wèn)題,這些知識(shí)你應(yīng)該懂
2. 做應(yīng)用門檻低,特別是現(xiàn)在的ANDROID,純JAVA。做應(yīng)用的發(fā)展路徑個(gè)人認(rèn)為就是業(yè)務(wù)純熟。
比如在通信行業(yè)、IPTV行業(yè)、手機(jī)行業(yè),你了解行業(yè)的需求。所以,當(dāng)領(lǐng)導(dǎo)的人,多是做應(yīng)用的。
3. 做驅(qū)動(dòng),其實(shí)我不想稱為“做驅(qū)動(dòng)”,而是想稱為“做底層系統(tǒng)”,做好了這是通殺各行業(yè)。我工作幾年,
做過(guò)手機(jī)、IPTV、會(huì)議電視,但是這些產(chǎn)品對(duì)我毫無(wú)差別,因?yàn)槲抑蛔龅讓?。他們的業(yè)務(wù)跟我沒(méi)關(guān)系。
當(dāng)應(yīng)用出現(xiàn)問(wèn)題,他們解決不了時(shí),我就會(huì)從內(nèi)核角度給他們出主意,給他們提供工具。
做底層的發(fā)展方向,個(gè)人認(rèn)為是技術(shù)專家。
4. 其實(shí),做底層還是做應(yīng)用,之間并沒(méi)有一個(gè)界線,有底層經(jīng)驗(yàn),再去做應(yīng)用,你會(huì)感覺(jué)很踏實(shí)。
有了業(yè)務(wù)經(jīng)驗(yàn),你再了解一下底層,很快就可以組成一個(gè)團(tuán)隊(duì)。
回到怎么學(xué)的問(wèn)題上。嵌入式Linux底層系統(tǒng)包含哪些東西?不要急,舉一個(gè)例子你就知道了。
1. 電腦一開(kāi)機(jī),那些界面是誰(shuí)顯示的?是BIOS,它做什么?一些自檢,然后從硬盤上讀入windows,并啟動(dòng)它。
類似的,這個(gè)BIOS對(duì)應(yīng)于嵌入式Linux里的bootloader。這個(gè)bootloader要去Flash上讀入Linux內(nèi)核,并啟動(dòng)它。
2. 啟動(dòng)windows的目的是什么?當(dāng)然是上網(wǎng)聊天什么的了。這些上網(wǎng)、聊天工具在哪?
在C盤、D盤上。所以, windows要先識(shí)別出C盤、D盤。在Linux下我們稱為根文件系統(tǒng)。
3. windows能識(shí)別出C盤、D盤,那么肯定能讀寫硬盤才行。這涉及的東西稱為驅(qū)動(dòng)程序。當(dāng)然不僅僅是硬盤,還有網(wǎng)卡、USB等等。
嵌入式Linux能從Flash上讀出并執(zhí)行應(yīng)用程序,肯定也得有Flash的驅(qū)動(dòng)程序啊,當(dāng)然也不僅僅是Flash。
先說(shuō)到這里吧,嵌入式LINUX里含有bootloader, 內(nèi)核, 驅(qū)動(dòng)程序、根文件系統(tǒng)這4大塊。
一、bootloader:
它就是一個(gè)稍微復(fù)雜的裸板程序。但是要把這裸板程序看懂寫好一點(diǎn)都不容易。Windows下好用的工具弱化了我們的編程能力。
很多人一玩嵌入式就用ADS、KEIL。你能回答這幾個(gè)問(wèn)題嗎?
1. 一上電,CPU從哪里取指令執(zhí)行?
答:一般從Flash上指令。
2. 但是Flash一般是只能讀不能直接寫的,如果我用到全局變量,這些全局變量在哪里?
答:全局變量應(yīng)該在內(nèi)存里
3. 那么誰(shuí)把全局變量放到內(nèi)存里去?
答:長(zhǎng)期用ADS、KEIL的朋友,你能回答嗎?這需要”重定位”。在ADS或KEIL里,重定位的代碼是制作這些工具的公司幫你寫好了。
你可曾去閱讀過(guò)?
4. 內(nèi)存那么大,我怎么知道把”原來(lái)存在Flash上的內(nèi)容”讀到內(nèi)存的”哪個(gè)地址去”?
答:這個(gè)地址用”鏈接腳本”決定,在ADS里有scatter文件,KEIL里也有類似的文件。但是,你去研究過(guò)嗎?
5. 你說(shuō)重定位是把程序從Flash復(fù)制到內(nèi)存,那么這個(gè)程序可以讀Flash?。?/p>
答:是的,要能操作Flash。當(dāng)然不僅僅是這些,還有設(shè)置時(shí)鐘讓系統(tǒng)運(yùn)行得更快等等。
先自問(wèn)自答到這里吧,bootloader這一個(gè)裸板程序,其實(shí)有3部分要點(diǎn):
1. 對(duì)硬件的操作
2. 對(duì)ARM體系處理器的了解
3. 程序的基本概念:重定位、棧、代碼段數(shù)據(jù)段BSS段什么的。
對(duì)硬件的操作,需要看原理圖、芯片手冊(cè)。這需要一定的硬件知識(shí),不求你能設(shè)計(jì)硬件,但是至少能看懂; 不求能看懂模擬電路,
但是要能看懂?dāng)?shù)字電路。這方面的能力我是在學(xué)校里學(xué)到的,微機(jī)原理、數(shù)字電路這2本書(書名忘了)就足夠了。但是我懷疑你有無(wú)耐
心把這2本書看完。我不知道現(xiàn)在有沒(méi)有更快捷的書。想速成的話,就先放掉這塊吧,不懂就問(wèn)GOOGLE、發(fā)貼。
另外,芯片手冊(cè)是肯定要讀的,別去找中文的,就看英文的。開(kāi)始是非常痛苦,以后就會(huì)發(fā)現(xiàn)那些語(yǔ)法、詞匯一旦熟悉后,
讀任何芯片手冊(cè)都很容易。
對(duì)ARM體系處理器的了解, 看杜春蕾的吧,里面講有匯編指令,有異常模式、MMU等。也就這3塊內(nèi)容需要你了解。
程序的基本概念,王道當(dāng)然是去看編譯原理了??上?,這類書絕對(duì)是天書級(jí)別的。勸你若非超級(jí)天才還是別去看了。就看我寫的
和第1期視頻吧,別擔(dān)心,不用花錢。照著視頻把硬件相關(guān)的實(shí)驗(yàn)做了,這些概念就清楚了。我還沒(méi)有
發(fā)現(xiàn)第2套講這些概念的書或視頻,允許我盲目吹噓一回。
對(duì)于bootloader,我學(xué)習(xí)時(shí)是先看了,然后自己寫程序把各個(gè)硬件的實(shí)驗(yàn)都做了一遍,比如GPIO、時(shí)鐘、
SDRAM、UART、NAND。把它們都弄清楚了,組臺(tái)在一起就很容易看懂u-boot了
總結(jié)一下,看懂硬件原理圖、看芯片手冊(cè),這需要你自己去找資料。剩下的,就按和第1期視頻的章
節(jié)目錄去學(xué)習(xí)吧。
二、內(nèi)核:
想速成的人,先跨過(guò)內(nèi)核的學(xué)習(xí),直接學(xué)習(xí)怎么寫驅(qū)動(dòng)。
想成為高手,內(nèi)核必須深刻了解。注意,我說(shuō)的是了解,我沒(méi)奢望去寫出一個(gè)內(nèi)核。
要對(duì)里面的調(diào)度機(jī)制、內(nèi)存管理機(jī)制、文件管理機(jī)制等等有所了解。
推薦兩本書:
1. 通讀,請(qǐng)看薄的那本(浮燥的社會(huì)講求速度, 呵),
2. 選讀, 想了解哪一塊就讀哪一節(jié)
三、驅(qū)動(dòng):
驅(qū)動(dòng)包含兩部分:硬件本身的操作、驅(qū)動(dòng)程序的框架。
又是硬件,還是要看得懂原理圖、讀得懂芯片手冊(cè),多練吧。
說(shuō)到驅(qū)動(dòng)框架,有一些書介紹一下。LDD3,即,老外寫的那本,里面介紹了不少概念,值得一讀。但是,它的作用
也就限于介紹概念了。我基本上是入門之前用它來(lái)熟悉一下概念,入門后就扔掉了。
驅(qū)動(dòng)方面比較全的介紹,應(yīng)該是宋寶華的了,老實(shí)說(shuō)我只看過(guò)目錄,有不少人說(shuō)好,這里推薦一下。
要想深入了解某一塊,絕對(duì)是超5星級(jí)推薦。你別指望把它讀完,1800多頁(yè),上下兩冊(cè)呢。我是某一塊不清楚
時(shí),就去翻一下它。任何一部分,這書都可以講上2、3百頁(yè),非常詳細(xì)。并且是以某個(gè)目標(biāo)來(lái)帶你分析內(nèi)核源碼。它以linux 2.4為例,
但是原理相通,同樣適用于其它版本的linux。
還有沒(méi)有其他介紹?呵呵,當(dāng)然有了,韋東山Linux視頻第2期。里對(duì)驅(qū)動(dòng)講得不多,不夠深入。
于是我錄制了這期視頻。不僅僅教你怎么寫怎么改驅(qū)動(dòng),還教你為什么這樣寫這樣改驅(qū)動(dòng)。
每一個(gè)驅(qū)動(dòng)都是現(xiàn)場(chǎng)編寫:
1. 用繪圖板畫圖講解──相當(dāng)于學(xué)校里老師在黑板上畫圖講解,很直觀
絕對(duì)不是對(duì)著PPT念。
2. 用source insight當(dāng)場(chǎng)寫程序,從第1行開(kāi)始寫,每一課都是這樣。我講了20多個(gè)驅(qū)動(dòng),就寫了20多個(gè)程序。
3. 寫完就編譯、測(cè)試。
4. 很全面,字符設(shè)備驅(qū)動(dòng)、塊設(shè)備、網(wǎng)卡驅(qū)動(dòng)3大類齊全,硬件介紹、驅(qū)動(dòng)框架分析、測(cè)試3大類齊全。
培訓(xùn)機(jī)構(gòu)里教的內(nèi)容,遠(yuǎn)不及這期視頻豐富。我在多個(gè)培訓(xùn)機(jī)構(gòu)講過(guò)課,從沒(méi)看到哪個(gè)老師敢每一課都當(dāng)場(chǎng)講解當(dāng)場(chǎng)編寫代碼
當(dāng)場(chǎng)測(cè)試,除我之外!也沒(méi)看到哪個(gè)培訓(xùn)機(jī)構(gòu)講完這些內(nèi)容──因?yàn)闀r(shí)間不夠,講完起碼要一個(gè)月,但是這部分基本只有2周授課時(shí)間。
把你手上的開(kāi)發(fā)板所涉及的硬件,都去嘗試寫一個(gè)驅(qū)動(dòng)吧。有問(wèn)題就先”痛苦地思考”,思考的過(guò)程中你會(huì)把很多不相關(guān)的知識(shí)
串聯(lián)起來(lái),最終貫通。
四、根文件系統(tǒng):
大家有沒(méi)有想過(guò)這2個(gè)問(wèn)題:
1. 對(duì)于Linux做出來(lái)的產(chǎn)品,有些用作監(jiān)控、有些做手機(jī)、有些做平板。那么內(nèi)核啟動(dòng)后,掛載根文件系統(tǒng)后,應(yīng)該啟動(dòng)哪一個(gè)應(yīng)用程序呢?
答:內(nèi)核不知道也不管應(yīng)該啟動(dòng)哪一個(gè)用戶程序。它只啟動(dòng)init這一個(gè)應(yīng)用程序,它對(duì)應(yīng)/in/init。
顯然,這個(gè)應(yīng)用程序就要讀取配置文件,根據(jù)配置文件去啟動(dòng)用戶程序(監(jiān)控、手冊(cè)界面、平板界面等等)
這個(gè)問(wèn)題提示我們,文件系統(tǒng)的內(nèi)容是有一些約定的,比如要有/in/init,要有配置文件
2. 你寫的hello,world程序,有沒(méi)有想過(guò)里面用到的printf是誰(shuí)實(shí)現(xiàn)的?
答:這個(gè)函數(shù)不是你實(shí)現(xiàn)的,是庫(kù)函數(shù)實(shí)現(xiàn)的。它運(yùn)行時(shí),得找到庫(kù)。
這個(gè)問(wèn)題提示我們,文件系統(tǒng)里還要有庫(kù)。
簡(jiǎn)單的自問(wèn)自答到這里,要想深入了解,可以看一下busybox的init.c,就可以知道init進(jìn)程做的事情了。
當(dāng)然,也可以看里構(gòu)建根文件系統(tǒng)那章。
說(shuō)一下我的學(xué)習(xí)經(jīng)歷吧。
1. 我在學(xué)校時(shí)讀的是物理電子專業(yè),其實(shí)課程里沒(méi)有教怎么設(shè)計(jì)電路,只是教了些電子電路方面的知識(shí)。PCB的設(shè)計(jì)
是在實(shí)驗(yàn)室里自學(xué)的,只設(shè)計(jì)過(guò)2層板,現(xiàn)在忘記得差不多了。但是保留了看原理圖、看芯片手冊(cè)的能力。
2. 選修了軟件學(xué)位,對(duì)軟件設(shè)計(jì)挺感興趣,但是也只是學(xué)了C語(yǔ)言、數(shù)據(jù)庫(kù)而已。憑著興趣做了不少競(jìng)賽題。沒(méi)能力去
參加競(jìng)賽,但是把C語(yǔ)言練得很扎實(shí)。
3. 在實(shí)驗(yàn)室、在第1家公司,就是設(shè)計(jì)些簡(jiǎn)單的PCI卡,寫一下windows的驅(qū)動(dòng)程序
4. 在第2家公司,用51單片機(jī)做車載,開(kāi)始走上純軟件的道路。
5. 開(kāi)始感到單片機(jī)的不足,辭職半年閉門學(xué)Linux,從red hat怎么操作開(kāi)始。步驟就是先看,
再自己寫裸板程序操作硬件,接著到分析u-boot。同時(shí)看,對(duì)LINUX框架有所了解。
在寫裸板時(shí),建議各位加強(qiáng)對(duì)中斷的理解,內(nèi)核就是用中斷來(lái)完成各種功能的。
6. 分析完u-boot,就開(kāi)始進(jìn)行簡(jiǎn)單的驅(qū)動(dòng)編程了,這時(shí)候,能力還很弱。
7. 開(kāi)始去中興上班,工作2年,編寫各類驅(qū)動(dòng)、解決各類問(wèn)題(驅(qū)動(dòng)問(wèn)題、幫助定位應(yīng)用問(wèn)題),能力得到煅煉。
總結(jié)一下:
1. 硬件方面的書: 微機(jī)原理、數(shù)字電路,高校里的教材。畢業(yè)多年,忘名了。
2. Linux方面的書:
,老外寫的那本
3. 視頻:
韋東山Linux視頻第1期(基于S3C2440錄制): ARM實(shí)驗(yàn),u-boot,文件系統(tǒng),初級(jí)驅(qū)動(dòng)
韋東山Linux視頻第1期(基于S3C6410錄制): 裸板程序
韋東山Linux視頻第2期: 高級(jí)驅(qū)動(dòng)
建議先看趙炯的完全剖析,話說(shuō)回來(lái),嵌入式出絲,互聯(lián)網(wǎng)才出高富帥
linux的知識(shí)庫(kù)設(shè)置界面的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux的知識(shí)庫(kù)設(shè)置界面,Linux 知識(shí)庫(kù)設(shè)置界面簡(jiǎn)介,如何學(xué)習(xí)linux?,嵌入式linux怎么學(xué)的信息別忘了在本站進(jìn)行查找喔。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。
分享標(biāo)題:Linux 知識(shí)庫(kù)設(shè)置界面簡(jiǎn)介 (linux的知識(shí)庫(kù)設(shè)置界面)
分享地址:http://m.5511xx.com/article/dpoosgs.html


咨詢
建站咨詢
