(一)Linux基本知识
Linux基本常識(shí):Linux最早開(kāi)發(fā)者是芬蘭郝?tīng)栃粱髮W(xué)的Linux? Torvalds在受Minux的啟發(fā)并在此基礎(chǔ)上開(kāi)發(fā)出的0.0.1版本,是一種類(lèi)Unix。經(jīng)過(guò)改良后在1991年10月份完成看0.0.2版本的Linux并在網(wǎng)上公布,使其初為自由開(kāi)源的軟件,這個(gè)完全遵守了GNU的GPL規(guī)則。在1994年Linux公布了具有里程碑的Linux 1.0.0版本,這是一個(gè)完備的操作系統(tǒng),具有以下特點(diǎn):1、穩(wěn)定高效,真正的多用戶(hù)多任務(wù),2、占用很少的硬件資源,3、系統(tǒng)安全性比較高。目前最新的內(nèi)核穩(wěn)定版本是Linux 2.6.27。由于內(nèi)核只是負(fù)責(zé)控制硬件設(shè)備,文件系統(tǒng),以及處理應(yīng)用程序的進(jìn)程調(diào)度,在系統(tǒng)調(diào)用過(guò)程中應(yīng)用程序可以和系統(tǒng)之間直接發(fā)起進(jìn)程調(diào)度,但是效率過(guò)低,所以在此過(guò)程中是需要大量的應(yīng)用編程接口(API)來(lái)完成應(yīng)用程序和內(nèi)核之間的溝通,其中有兩種方式system call和庫(kù)文件。這些文件就是包裝Linux的內(nèi)核來(lái)實(shí)現(xiàn)內(nèi)核和應(yīng)用程序之間的相互作用,以實(shí)現(xiàn)完整的操作系統(tǒng)。API的庫(kù)文件遵循POSIX規(guī)范,這樣提高了可移植性,縮短了編程人員的時(shí)間,實(shí)現(xiàn)了兩個(gè)系統(tǒng)可以使用同一個(gè)軟件,雖然實(shí)現(xiàn)過(guò)程不同,但是結(jié)果相同。目前全世界法相的Linux套件種類(lèi)比較多,其中最著名的是Red Hat,Slackware,Debian,SuSE,Mandarke以及中國(guó)的紅旗。下面簡(jiǎn)單的介紹各個(gè)發(fā)行版本的特點(diǎn):
Red Hat是目前最為流行的Linux發(fā)行版的套件,在Red Hat Linux 9.0之后分為兩個(gè)系列:以服務(wù)為主的是Red Hat Enterprise Linux (RHEL)和以個(gè)人桌面用戶(hù)的Fedora Core。
Debian是截止目前最為遵循GNU規(guī)范的Linux系統(tǒng),目前有3個(gè)版本:unstable是最新的測(cè)試版本適用于桌面用戶(hù),testing是unstable的改進(jìn)版,相對(duì)來(lái)說(shuō)比較穩(wěn)定,stable是這三個(gè)來(lái)說(shuō)是最安全最穩(wěn)定的
Slackware是歷史最為悠久的Linux發(fā)行套件。SuSE有自主開(kāi)發(fā)的軟件包管理工具。紅旗Linux主要是針對(duì)用中國(guó)的用戶(hù),其主要分為桌面版本和服務(wù)器版本的,提供了良好的中文支持環(huán)境。
Linux的用戶(hù)接口分為圖形用戶(hù)接口(GUI)和命令行接口(GLI),目前GUI主要包括兩種環(huán)境分別是KDE和Gnome(Red Hat默認(rèn)的),另外一種不經(jīng)常用的是Xface.命令行接口(GLI)目前最常用的是bash,csh,bsh,ksh,zsh等。Shell是圖形用戶(hù)接口和命令行接口,其中支持命令行補(bǔ)齊和路徑補(bǔ)齊,命令行補(bǔ)齊是Shell查找系統(tǒng)文件/bin和/sbin等。其中使用命令:echo$PATH可以查看這些文件的路徑。路徑補(bǔ)齊中最主要是明白相對(duì)路徑和絕對(duì)路徑。其中的區(qū)別最主要是在查找開(kāi)始不一樣,一個(gè)是在當(dāng)前的路徑開(kāi)始,一個(gè)是在最上層開(kāi)始即根(/)。命令補(bǔ)全的快捷鍵是Tab和按兩次Esc。如果沒(méi)有在重復(fù)上述動(dòng)作*2就可以顯示滿(mǎn)足輸入字符條件的文件名或者目錄名。另外,在Linuxbash中注意!的應(yīng)用,!!執(zhí)行最近一次命令,!N執(zhí)行第N次命令,!***執(zhí)行距離最后一次最近以***開(kāi)頭字符的命令,!-N執(zhí)行倒數(shù)第N次命令,!?***執(zhí)行距離最后一次最近包含***字符的命令,esc . 分別按或者alt和.兩個(gè)一起按,是重復(fù)上次命令的最后的一個(gè)參數(shù)。(差命令執(zhí)行的歷史history,默認(rèn)最多查詢(xún)最近500條)。
Linux默認(rèn)啟動(dòng)一個(gè)圖形終端和6個(gè)虛擬終端,其中切換到虛擬終端的快捷鍵是Ctrl+Shift+F(1-6),切換到圖形終端的快捷鍵是Ctrl+Shift+F7,在切換到圖形終端的過(guò)程中必須是之前啟動(dòng)過(guò)圖形終端,否則需要輸入startx $才能啟動(dòng)。在圖形終端中也可以打開(kāi)模擬終端,其中快捷方式有Ctrl+Shift+t(新建選項(xiàng)卡),Ctrl+Shift+pgup/pgdn(在選項(xiàng)卡之間切換),Ctrl+Shift+c/v(復(fù)制和粘貼),hift+pgup/pgdn(終端中的翻屏)。
關(guān)機(jī)命令:shutdown –h now;halt;init 0;power off;重啟的命令:reboot;init 6;shutdown –r now.
在Linux中有這樣的法則一切皆文件,把配置信息存放在文本文件中,有大量的體積較小,功能單一的程序組成,并組合這些程序完成一項(xiàng)復(fù)雜的任務(wù)。盡可能的避免和用戶(hù)交互。因此一般文件類(lèi)型分為普通文件(f),目錄文件(d),符號(hào)鏈接文件(l),符號(hào)設(shè)備文件(c),塊設(shè)備文件(b),命名管道文件(p)socket(套接字)文件(s)等。一般文件的權(quán)限為三種讀(r)寫(xiě)(w)執(zhí)行(x),這三項(xiàng)權(quán)限用二進(jìn)制換算分別對(duì)應(yīng)的十進(jìn)制數(shù)字是4,2,1。
在Linux中不像windows中需要把磁盤(pán)分區(qū),里面的文件都是樹(shù)形結(jié)構(gòu)的,一般Linux中最主要的目錄結(jié)構(gòu)分別是:
1、/bin存放所有用戶(hù)和管理員的可執(zhí)行文件,即命令或者程序文件,
2、/sbin只有管理員才可以執(zhí)行的命令或者程序文件,
3、/boot系統(tǒng)啟動(dòng)時(shí)所需要的文件,單獨(dú)分區(qū)大小10M,
4、/dev設(shè)備文件包括字符設(shè)備和塊設(shè)備,設(shè)備文件。字符設(shè)備是限性讀寫(xiě),如鍵盤(pán),塊設(shè)備是以單位讀取數(shù)據(jù)的設(shè)備,如硬盤(pán),光盤(pán)等。
5、/etc配置文件的存放位置,
6、/home家目錄的集中位置,普通用戶(hù):/home/username不可以相互訪問(wèn)。
7、/lib即library庫(kù)文件的存放位置,都是可執(zhí)行的文件。
8、/media;/mnt是兩個(gè)掛載點(diǎn),掛在額外存儲(chǔ)設(shè)備的專(zhuān)用目錄。前者是掛載便攜式的設(shè)備,后者是掛載硬盤(pán)等。
9、/misc雜項(xiàng)名目錄,
10、/proc偽文件系統(tǒng),內(nèi)部文件目錄不再磁盤(pán)上是在內(nèi)存中,是用戶(hù)和內(nèi)核交互的借口和運(yùn)行程序相關(guān)。
11、/root管理員root用戶(hù)的主目錄。
12、/srv即service和服務(wù)相關(guān),但和用戶(hù)無(wú)關(guān)的數(shù)據(jù)文件的存放位置。
13、/sys偽文件系統(tǒng),內(nèi)核在2.6之后才有。其中包含硬件設(shè)備信息,內(nèi)核和文件系統(tǒng)等信息。
14、/tmp即temporary臨時(shí)文件,所有用戶(hù)產(chǎn)生的臨時(shí)文件的存放位置。
15、/usr與系統(tǒng)相關(guān)的額外文件信息的存放位置,但與系統(tǒng)啟動(dòng)相關(guān)性不大。其中/var/log存放的日志文件。/var/run存放的是進(jìn)程文件。文件名最長(zhǎng)255個(gè)字符,嚴(yán)格區(qū)分大小寫(xiě),除回車(chē)外其他都可以為文件名。
轉(zhuǎn)載于:https://blog.51cto.com/hhwong/569726
總結(jié)
以上是生活随笔為你收集整理的(一)Linux基本知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: extern的关键字用法(C# 参考)
- 下一篇: linux常用的makefile模版编写