<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > 以最簡(jiǎn)單方式學(xué)習Linux

以最簡(jiǎn)單方式學(xué)習Linux

作者: 時(shí)間:2016-12-22 來(lái)源:網(wǎng)絡(luò ) 收藏

  有很多關(guān)于的書(shū)籍,博客。大多數都會(huì )比較“粗暴“的將一大堆的命令塞給讀者,從而使很多.NET程序員望而卻步。未入其門(mén)就路過(guò)了。

本文引用地址:http://dyxdggzs.com/article/201612/341945.htm

  所以我設想用一種更為平滑的學(xué)習方式, 就是在學(xué)習命令時(shí),先用純語(yǔ)言來(lái)介紹背景和動(dòng)機。 就如同所有的的網(wǎng)絡(luò )游戲都要先介紹游戲的歷史觀(guān),然后再介紹游戲的操作。

  大多數初學(xué)者在剛剛接觸都會(huì )有非常陌生的感覺(jué)。往往會(huì )有一些疑惑和問(wèn)題。而我們就沿著(zhù)這些問(wèn)題,從遠及近,從宏觀(guān)到微觀(guān)來(lái)理解Linux的簡(jiǎn)潔和美麗。

  問(wèn)題1: 有注冊表,為什么Linux沒(méi)有注冊表

  注冊表是Windows核心組件,對整個(gè)系統進(jìn)行配置。Linux是以整個(gè)文件系統作為"注冊表“,Windows注冊表的樹(shù)形結構,可以粗略的對應Linux文件系統的樹(shù)形結構。

  Linux的配置文件就相當于注冊表的鍵,或者說(shuō)Linux采用是的分布式的注冊表。

  那么Linux為什么要這樣設計呢?因為L(cháng)inux是所謂的網(wǎng)絡(luò )操作系統,所以單臺電腦不是Linux的界限,如果是多臺電腦組成的系統,那么分布式的管理就有著(zhù)巨大的優(yōu)勢。

  例如:一個(gè)包含配置文件的磁盤(pán)的損害不會(huì )讓整個(gè)系統癱瘓,而可能只是讓部分功能失效。

  問(wèn)題2:Windows有完善的圖形界面,而Linux為什么要學(xué)命令行。

  首先,命令行絕對要比圖形界面先進(jìn)的多。命令行是程序員的第一界面,而圖形界面是普通用戶(hù)的第一界面。

  也許很多人會(huì )有不同意見(jiàn),其實(shí)我們再向前想一步,就很清楚了。

  命令行的下一步演化是什么? 很簡(jiǎn)單就是語(yǔ)音控制,就是把人類(lèi)自然語(yǔ)言轉化為命令

  圖形界面的的下一步演化是什么? 是姿勢控制。從目前的Windows系統來(lái)說(shuō)一共只有3種姿勢, 單擊,雙擊,拖放。而更先進(jìn)的IPad有撥動(dòng),畫(huà)圈等。

  姿勢控制很簡(jiǎn)單,便于用戶(hù)上手,語(yǔ)音控制很復雜,但是控制精度很高。

  作為程序員我們要求電腦完成的工作要比普通用戶(hù)復雜的多,所以使用命令行會(huì )非常高效。

  退一步講,圖形界面本質(zhì)也是命令行,只不過(guò)將姿勢翻譯成命令執行而已。

  程序員編程的代碼也都是“命令行”,一條一條的指令而已。

  總之,只要能打破對Linux命令行的恐懼感,接下來(lái)的事就會(huì )非常容易了。這個(gè)命令行絕對不是你簡(jiǎn)單想像中的命令行,它是非常智能化的。

  問(wèn)題3:Linux有那么多目錄,那么多命令,怎么記得住呢?

  首先,Linux目錄是Linux系統最靈魂的東西,所有的硬件都可以被抽象為文件,從而實(shí)現網(wǎng)絡(luò )化。(Internet只不過(guò)是Unix/Linux的進(jìn)一步的演化而已)

  所以只要掌握了Linux目錄的規律,在理解的基礎上記憶就可以容易的多。另外Linux的命令行有智能化功能,可以讓你少打95%以上的字符來(lái)完成命令。

  絕非你所想象的傻乎乎的敲一大堆命令,那些用Linux大牛都是絕頂聰明的人,怎么可能讓自己辛苦呢?

  問(wèn)題4:Linux的文件夾結構看上去很復雜,怎么理解呢?

  我們這里假設,我們就是設計者,如果我們設計一個(gè)文件系統,我們會(huì )如何去做呢?

  我們需要一個(gè)起點(diǎn), 這個(gè)起點(diǎn)就叫根目錄,用“/”來(lái)表示,然后我們需要啟動(dòng)Linux,那么我們就會(huì )把所有核心的啟動(dòng)文件(包括Linux核心本身)都放到一個(gè)“/boot"目錄下。

  當系統啟動(dòng)后,我們需要執行一些基本命令在操作系統,這些命令都會(huì )放到“/bin"目錄下。然后這些命令可能會(huì )用到一些庫,這些庫就被放到“/lib"下面,而這些庫可能會(huì )會(huì )用到一些設備驅動(dòng)文件,

  那么這些驅動(dòng)文件就會(huì )放到“/dev"目錄下。

  /:根目錄

  /boot:系統啟動(dòng)和內核

  /bin :系統基本命令 (bin是binary的縮寫(xiě))

  /lib : 系統庫(不能直接運行的代碼)(lib是libary的縮寫(xiě))

  /dev : 設備驅動(dòng) (dev是device的縮寫(xiě))

  到目前為止只用5個(gè)目錄,很簡(jiǎn)單吧。

  問(wèn)題5: 什么是"/usr" ,"/etc"和“/var“

  當用戶(hù)啟動(dòng)系統以后,要做一些更加復雜的工作,這時(shí)候就會(huì )涉及到一個(gè)叫“/usr",這個(gè)情況稍微有些復雜,是一個(gè)難點(diǎn)。不過(guò)也很容易解釋清楚。

  早期的unix系統都有很多塊硬盤(pán),當時(shí)硬盤(pán)的容量都很小, 所以往往一個(gè)硬盤(pán)只放一個(gè)目錄,比如“/boot"可以放在一個(gè)單獨的"boot"盤(pán)上,上面提到的5個(gè)目錄,是系統運行必不可少的。

  而當系統啟動(dòng)以后,我們需要其他一些用于具體工作的程序時(shí),我們就會(huì )加載一個(gè)“/usr"目錄,上面放重要的運行程序。

  容易引起疑惑的是"usr"這個(gè)名字, 在歷史上,原來(lái)這個(gè)確實(shí)是user的縮寫(xiě),不過(guò)現在和user沒(méi)有任何關(guān)系了, 你可以把它看成是"universal software resource"的縮寫(xiě)。

  這個(gè)“/usr"有點(diǎn)類(lèi)似Windows里面的Program Files。

  因此 /bin 和 /usr/bin的區別,就是 /bin里面的程序更加核心

  這時(shí)候,很多人會(huì )有疑問(wèn), 我們記住哪些命令在/bin 還是在/usr/bin呢?

  放心,由于所有的bin目錄都會(huì )登記到系統變量PATH里面, 因此無(wú)論你在任何當前目錄中,只要輸入命令文件的名稱(chēng),系統都會(huì )幫你找到這個(gè)命令并運行。

  要點(diǎn):

  1、/usr上面一般都是只讀文件,數據文件和配置文件不放在上面(放到哪里,后面會(huì )講)

  2,沒(méi)有“/usr",linux系統也能正常運行

  2、/usr可以被多臺電腦共享(這里體現Linux系統的網(wǎng)絡(luò )性)

  由于/usr只放只讀文件,那么配置文件和數據文件放哪里呢?這里就出現了2個(gè)新的目錄“/etc"和“/var"

  這里容易初學(xué)者迷惑的就是這個(gè)2個(gè)目錄的名字。

  在歷史上 "etc“是 “etcetera”,中文意為“其他”, 現在這個(gè)和“其他”沒(méi)有任何關(guān)系, 就是專(zhuān)門(mén)存放配置文件的地方,可以理解為“editable text configuration"的縮寫(xiě)

  比如 /etc/mysql就是放mysql的配置文件 /ect/apache2/就是apache2的配置文件

  在歷史上“var" 是 “variable",中文意為“變動(dòng)”,現在主要用來(lái)存放log,lock等文件。

  例如 /var/mysql就是用來(lái)存放mysql的log

  問(wèn)題6:用戶(hù)自己產(chǎn)生的數據放到哪里?

  當我們運行程序后,會(huì )產(chǎn)生很多自己的成果,這些成果放哪里呢? 這里就出現了一個(gè)“/home"目錄,不過(guò)你不能直接放到“/home"目錄下, 因為L(cháng)inux是個(gè)多用戶(hù)操作系統, 所以系統會(huì )有一個(gè)以用戶(hù)的名字命名的目錄。

  例如:用戶(hù)是jack ,那么目錄就是/home/jack ,這個(gè)目錄也可以用“~“來(lái)表示。

  至此,我們.Net程序員也就基本了解了Linux的組成。



關(guān)鍵詞: Linux Winows

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>