linux的基本操作_第1頁(yè)
linux的基本操作_第2頁(yè)
linux的基本操作_第3頁(yè)
linux的基本操作_第4頁(yè)
linux的基本操作_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、linux的基本操作1、用戶的登錄、注銷與關(guān)機(jī)摁下電源開(kāi)關(guān),屏幕上刷刷閃過(guò)一串串啟動(dòng)內(nèi)容的文字提示,是不是感覺(jué)有點(diǎn)興奮?如果這是你的linux第一次啟動(dòng),那么在服務(wù)啟動(dòng)的一串綠色的OK,突然出現(xiàn)一個(gè)紅色的false,仔細(xì)一看好象是一個(gè)叫httpd的服務(wù)。不要害怕,這個(gè)問(wèn)題我們?cè)谝院蟮膶W(xué)習(xí)中會(huì)得到解決。最后,系統(tǒng)顯示:linux login:作為系統(tǒng)管理員,第一次進(jìn)入系統(tǒng)當(dāng)然要以超級(jí)用戶的身份進(jìn)入,和NT中Administrators身份對(duì)應(yīng)的linux帳號(hào)是root(這也是一般類UNIX系統(tǒng)中常見(jiàn)的系統(tǒng)管理員身份)。在login:后面輸入“root”,然后回車,系統(tǒng)提示:Password:輸入

2、當(dāng)初在安裝的時(shí)候選擇的系統(tǒng)管理員密碼。你也許會(huì)奇怪,系統(tǒng)為什么不顯示“*”號(hào)來(lái)提示你已經(jīng)輸入,好象什么也沒(méi)有輸入,光標(biāo)還在原處閃爍。其實(shí),你已經(jīng)輸入了你的密碼,之所以采用這種不回顯的技術(shù),也是出于安全考慮減少周圍的人知道您密碼位數(shù)的概率,而降低您密碼被很快破解的可能性。按照你心里想的輸入密碼,然后直接回車,OK,成功登錄,系統(tǒng)提示:rootlinux /root#符號(hào)“”前面的自然是你的帳號(hào)身份,之后的是主機(jī)名,可能根據(jù)你的主機(jī)的名稱不同而不同。/root是你的主目錄,它既是你的個(gè)人配置文件所在的地方,也是你每次登錄后所在的目錄,是你受到系統(tǒng)保護(hù)的私人領(lǐng)地當(dāng)然,前提是只有你自己擁有root權(quán)限

3、:)。和NT不同的是,作為多用戶多任務(wù)操作系統(tǒng),linux在同一臺(tái)主機(jī)的本地就提供了6個(gè)虛擬控制臺(tái),分別為tty1至tty6。虛擬控制提供了linux在字符模式下同時(shí)運(yùn)行幾個(gè)程序的方法,實(shí)現(xiàn)了多任務(wù)處理。這六個(gè)虛擬控制臺(tái)可以通過(guò)組合鍵Alt+F1,Alt+F2,Alt+F6來(lái)進(jìn)行切換。每一個(gè)控制臺(tái)都可以看作一個(gè)完全和獨(dú)立的工作站。系統(tǒng)啟動(dòng)的缺省控制臺(tái)為tty1。從一個(gè)控制臺(tái)切換到新的虛擬控制臺(tái)以后,linux也會(huì)先顯示登錄提示符,就象第一次登錄一樣。在裝入另一個(gè)命令解釋器之前,也會(huì)詢問(wèn)用戶名和口令。所以,我們可以在不同的控制臺(tái)以不同的用戶身份登錄,更方便了用特定的身份執(zhí)行特定的操作。當(dāng)用戶從一

4、個(gè)虛擬控制臺(tái)切換到一個(gè)新的虛擬控制臺(tái)以后,在原來(lái)那個(gè)控制臺(tái)運(yùn)行的程序?qū)⒗^續(xù)運(yùn)行。我們可以來(lái)做個(gè)小小的實(shí)驗(yàn),在第一個(gè)登錄的控制臺(tái)(tty1)輸入命令ping ,這時(shí)可以看見(jiàn)類似windows下ping本地的輸出,緊接著Alt+F2切換到第二個(gè)虛擬控制臺(tái),登錄以后,使用命令ps aux|grep ping(關(guān)于這個(gè)命令,將在第五個(gè)專題的進(jìn)程管理中詳細(xì)說(shuō)明,它的功能是顯示運(yùn)行中的程序中包含ping串的部分),我們可以看見(jiàn)兩行輸出,一行表示ping在運(yùn)行中,一行表示你的這個(gè)查詢?cè)诓樵兊臅r(shí)候也在運(yùn)行:)。然后我們?cè)儆肁lt+F1切換到第一個(gè)虛擬控制臺(tái),可以看見(jiàn)ping命令還在不停的輸出

5、在你離開(kāi)這一會(huì),它都已經(jīng)刷了好幾屏了,用Ctrl+D來(lái)結(jié)束它吧。非常清楚,ping命令在我們離開(kāi)控制臺(tái)一的時(shí)候也并沒(méi)有被掛起,而一直在執(zhí)行中。在同一個(gè)控制臺(tái)中,我們不用先注銷也是可以改變我們的系統(tǒng)身份的,這可以用命令su實(shí)現(xiàn)。使用方法是:rootlinux /root#su username命令行中的username是你給su的參數(shù),例如你想改變自己的身份為bluewind(前提是您已經(jīng)添加了這個(gè)系統(tǒng)用戶,操作方法可以參考搞清linux的用戶和組-基礎(chǔ)篇),那么你可以使用su bluewind命令。如果你是從root身份su的話,不用輸入password。而從其它身份則系統(tǒng)會(huì)提示輸入密碼的。簡(jiǎn)

6、單的敲入su不帶任何參數(shù)的話,缺省的認(rèn)為你想成為root用戶身份。用戶退出登錄有兩種方法,一種是exit命令這個(gè)命令一般的系統(tǒng)都會(huì)提供,一種是logout有些系統(tǒng)如果提供了exit就不再提供這個(gè)命令了,例如redhat 7.0。執(zhí)行的結(jié)果是回到上次轉(zhuǎn)換身份前的用戶狀態(tài)。例如,你先用root登錄,再su為bluewind,然后你執(zhí)行exit,就回到了root身份,再執(zhí)行exit,連root也退出了,回到登錄提示符的狀態(tài)。通過(guò)telnet登錄系統(tǒng)和通過(guò)本地虛擬控制臺(tái)登錄很相似,只是出于安全性考慮,系統(tǒng)不允許直接用root身份通過(guò)telnet登錄,你可以先用一個(gè)普通身份登錄以后再su成root如果有

7、必要的話。linux提供了三種關(guān)掉系統(tǒng)的方式:shutdown、halt和reboot。這三個(gè)命令在一般情況下只有系統(tǒng)的超級(jí)用戶(一般都是指root,但不全是)才可以執(zhí)行。輸入沒(méi)有參數(shù)的shutdown命令,2分鐘之后即可關(guān)閉系統(tǒng)。在這段時(shí)間,linux將提示所有已經(jīng)登錄系統(tǒng)的用戶。如果需要設(shè)定等待的時(shí)間,可以使用如下的選項(xiàng):now:立即。+mins:在指定的分鐘之后hh:ss:在指定的時(shí)間。在關(guān)掉系統(tǒng)之前,系統(tǒng)會(huì)自動(dòng)產(chǎn)生一個(gè)/etc/nologin文件,用于說(shuō)明系統(tǒng)即將關(guān)閉,用戶不能登錄進(jìn)入。在這段時(shí)間中,只有系統(tǒng)管理員可以進(jìn)入。如果你需要獲得有關(guān)shutdown命令的更詳細(xì)的幫助,可以使用

8、man shutdown命令。halt命令相當(dāng)于shutdown -h now ,表示立刻關(guān)機(jī)。reboot命令相當(dāng)于shutown -r now ,表示立刻重起。2、Shell的使用如果你熟悉DOS的話,你可以用dos中的程序來(lái)幫助理解shell。它可以被認(rèn)為是一種簡(jiǎn)化的shell。shell是用戶和linux之間的接口,用戶輸入的每個(gè)命令都是由shell先解釋,然后再傳給linux內(nèi)核的。有些命令是shell內(nèi)建的,就好象dos的內(nèi)部命令,例如顯示當(dāng)前工作路徑命令pwd就是bash內(nèi)部的;其它命令如同dos的外部命令是自己?jiǎn)为?dú)的程序。shell的另外一個(gè)重要特性就是,

9、它自身就是一個(gè)解釋型程序設(shè)計(jì)語(yǔ)言。shell程序設(shè)計(jì)支持在高級(jí)語(yǔ)言里能夠見(jiàn)到的絕大多數(shù)程序控制結(jié)構(gòu),關(guān)于這個(gè),能夠單獨(dú)寫一本書(shū)_。我們還是回到正題,不過(guò)我們可以知道,shell命令完全可以完成在dos中象bat程序一樣的功能,而且更強(qiáng)、更方便、更隨和隨便寫一個(gè)命令列表的文本文件,指定一個(gè)shell執(zhí)行它或者把它的屬性改為可執(zhí)行后直接運(yùn)行就可以了。shell在用戶成功的登錄系統(tǒng)后啟動(dòng),并始終作為與系統(tǒng)內(nèi)核交互的手段,直至退出系統(tǒng)。常用的shell在linux系統(tǒng)里,可以使用多種不同類型的shell。一般來(lái)說(shuō),在/etc目錄下會(huì)有個(gè)shells文件,該文件是目前系統(tǒng)中可用的shell類型列表。一般

10、包括如下幾行:/bin/bash/bin/sh/bin/ash/bin/bsh/bin/tcsh/bin/csh而最常用的主要是Bourne shell(sh),C shell(csh)和Bourne Again Shell(bash)三種。sh是UNIX最初使用的shell,并且在每一種UNIX上都可以使用。它在編程方面非常優(yōu)秀,但和用戶的交互卻比較遜。csh更多的考慮了界面的友好性,但普遍的認(rèn)為C Shell的編程接口不如sh。由于它的編程語(yǔ)法和c比較相近,所以它還是被許多C程序員所使用。bash是sh的擴(kuò)展,并與sh完全兼容,并在吸取c和kon shell的優(yōu)點(diǎn)的基礎(chǔ)上對(duì)sh增加了和增強(qiáng)

11、了很多特性。它是大多數(shù)linux系統(tǒng)中默認(rèn)的shell。下面我們將主要介紹bash的簡(jiǎn)單使用。bash的環(huán)境變量的設(shè)置主要是在/etc/profile文件里,每個(gè)用戶還可以在自己的主目錄(剛登錄系統(tǒng)后的當(dāng)前路徑)中的.bash_profile文件中定義自己的個(gè)人環(huán)境變量。注意,以點(diǎn)“.”開(kāi)頭的文件在linux中是隱藏文件,使用ls的-a參數(shù)才能看見(jiàn)它們的存在。我們比較關(guān)心的可能是這樣的一行PATH=$PATH:/usr/X11R6/bin:/usr/sbin/:./通過(guò)下邊的export語(yǔ)句,這一句就象dos中設(shè)置path路徑一樣,所不同的主要有以下三點(diǎn):a、形式上用冒號(hào)分隔各個(gè)路徑單元,不象

12、dos是用分號(hào)分隔;b、內(nèi)容上可以使用$PATH代替這個(gè)賦值等式前的路徑設(shè)置(注意,linux是區(qū)分大小寫的);c、效果上這個(gè)路徑?jīng)Q定了bash查找的絕對(duì)范圍,不要認(rèn)為bash會(huì)象dos自動(dòng)先查找當(dāng)前路徑,除非你在PATH中進(jìn)行了設(shè)置。你可以使用echo $PATH來(lái)顯示自己的當(dāng)前PATH設(shè)置。關(guān)于bash更詳細(xì)的幫助可以通過(guò)man bash命令獲得。修改用戶缺省shell設(shè)置可以參考搞清linux的用戶和組-基礎(chǔ)篇的有關(guān)內(nèi)容。3、文件系統(tǒng)與目錄樹(shù)在dos-windows體系中,每個(gè)磁盤或硬盤分區(qū)有獨(dú)立的根目錄,并且用唯一的驅(qū)動(dòng)器標(biāo)識(shí)符表示,如A:,C:等。而linux的文件系統(tǒng)則不一樣,它采

13、用了一種虛擬文件系統(tǒng)技術(shù),使不同的磁盤和分區(qū)組合成一個(gè)整體。單個(gè)磁盤或硬盤分區(qū)構(gòu)成單獨(dú)的文件系統(tǒng)(可以是fat、NTFS等等格式的),有其各自的目錄樹(shù)結(jié)構(gòu)。但是,在操作系統(tǒng)能夠使用這些文件系統(tǒng)之前,必須通過(guò)稱為“掛裝”的操作將單獨(dú)的文件系統(tǒng)附加到虛擬文件系統(tǒng)的某一個(gè)子目錄上也就是說(shuō)這個(gè)子目錄就是實(shí)際文件系統(tǒng)的根,通過(guò)訪問(wèn)這個(gè)子目錄來(lái)訪問(wèn)該分區(qū)或磁盤。如此操作,最終可使所有的文件系統(tǒng)結(jié)合成一個(gè)無(wú)縫的統(tǒng)一整體,組織到一個(gè)大的樹(shù)型目錄結(jié)構(gòu)中。該目錄樹(shù)的頂部是一個(gè)單獨(dú)的根目錄,名為root,用/表示。根目錄下是一些標(biāo)準(zhǔn)的子目錄和文件。在文件系統(tǒng)模型中,仍然體現(xiàn)了linux的設(shè)計(jì)哲學(xué),即將不同的文件系統(tǒng)

14、組合成一個(gè)有機(jī)的整體,進(jìn)而為用戶提供一致的文件系統(tǒng)結(jié)構(gòu)。對(duì)大多數(shù)Linux發(fā)行版本而言,文件系統(tǒng)的目錄樹(shù)布局遵循FSSTND標(biāo)準(zhǔn),這有利于編寫或移植軟件,同時(shí)也有利于進(jìn)行系統(tǒng)管理和維護(hù)。完整的目錄樹(shù)可劃分為小的部分,這些小部分又可以單獨(dú)的存放在自己的磁盤或者分區(qū)上。這樣相對(duì)穩(wěn)定的部分和經(jīng)常變化的部分可以單獨(dú)放在不同的分區(qū)里,從而方便了備份和系統(tǒng)管理。目錄樹(shù)的主要部分有root(/)、/usr、/var、/home等等。下面是一個(gè)典型的linux目錄結(jié)構(gòu)如下:/ 根目錄/bin 存放必要的命令/boot 存放內(nèi)核以及啟動(dòng)所需的文件等/dev 存放設(shè)備文件/etc 存放系統(tǒng)的配置文件/home 用

15、戶文件的主目錄,用戶數(shù)據(jù)存放在其主目錄中/lib 存放必要的運(yùn)行庫(kù)/mnt 存放臨時(shí)的映射文件系統(tǒng),我們常把軟驅(qū)和光驅(qū)掛裝在這里的floppy和cdrom子目錄下。/proc 存放存儲(chǔ)進(jìn)程和系統(tǒng)信息/root 超級(jí)用戶的主目錄/sbin 存放系統(tǒng)管理程序/tmp 存放臨時(shí)文件的目錄/usr 包含了一般不需要修改的應(yīng)用程序,命令程序文件、程序庫(kù)、手冊(cè)和其它文檔。/var 包含系統(tǒng)產(chǎn)生的經(jīng)常變化的文件,例如打印機(jī)、郵件、新聞等假脫機(jī)目錄、日志文件、格式化后的手冊(cè)頁(yè)以及一些應(yīng)用程序的數(shù)據(jù)文件等等。建議單獨(dú)的放在一個(gè)分區(qū)。典型的/usr目錄如下:/X11R6 存放X window系統(tǒng)/bin 存放增加

16、的用戶程序/dict 存放字典/doc 存放追加的文檔/etc 存放設(shè)置文件/games 存放游戲和教學(xué)文件/include存放C開(kāi)發(fā)工具的頭文件/info 存放GNU信息文件/lib 存放庫(kù)文件/local 存放本地產(chǎn)生的增加的應(yīng)用程序/man 存放在線幫助文件/sbin 存放增加的管理程序/share 存放結(jié)構(gòu)獨(dú)立的數(shù)據(jù)/src 存放程序的源代碼由于/usr中的文件不和特定的計(jì)算機(jī)相關(guān),也不會(huì)在通常使用中修改,因此可以通過(guò)網(wǎng)絡(luò)共享這個(gè)目錄(文件系統(tǒng)),這樣,當(dāng)管理員安裝了新的軟件之后,所有共享這一文件系統(tǒng)的計(jì)算機(jī)均可以使用新的軟件。4、目錄操作和文件操作在介紹文件的操作之前,我們先了解一下

17、文件的類型。目錄樹(shù)包括以下文件類型:a、普通文件:包括文檔文件、數(shù)據(jù)文件、程序、shell腳本等我們常接觸到的文件。b、目錄文件:目錄文件包含著一個(gè)該目錄下的文件和本身以及上一級(jí)的鏈表。這是由操作系統(tǒng)維護(hù)的文件。它至少包括兩個(gè)記錄,一個(gè)是它自身(“.”),一個(gè)是它的上一級(jí)目錄(“.”)。注意,根目錄的上一級(jí)目錄還是它自身。c、設(shè)備文件:和所有UNIX一樣,linux把所有設(shè)備都作為一個(gè)文件來(lái)處理,包括IO設(shè)備。d、進(jìn)程通信文件:即所謂的先進(jìn)先出文件,主要是為進(jìn)程間通信用的。我們一般登入系統(tǒng)后,當(dāng)前的工作目錄都是自己的主目錄,想看看主目錄里有什么東東?你可以使用ls命令試試。輸出就如同dir /

18、w一樣_。要查看隱含文件使用命令行:ls -a可以看見(jiàn)多了不少以點(diǎn)(“.”)開(kāi)頭的隱藏文件。如果還想進(jìn)一步查看文件的詳細(xì)信息,那就查看長(zhǎng)格式的輸出吧,使用ls -l當(dāng)然,我們完全可以組合使用多參數(shù),有兩種方法:ls -a -l 或者 ls -al都可以得到該目錄下所有文件的詳細(xì)列表,比dos下dir的輸出還詳細(xì)只不過(guò)文件的名卻在右邊。如果文件太多,一屏顯示不下怎么辦呢?ls命令并沒(méi)有提供dir的/p開(kāi)關(guān)的功能,不過(guò)按照UNIX系統(tǒng)設(shè)計(jì)的積木原則,我們可以用命令的組合獲得我們需要的任何功能。象這次我們可以使用輸出重定向,使用通道,對(duì)于下面這個(gè)命令,你應(yīng)該不會(huì)覺(jué)得別扭吧?la -l | more

19、這和dos下的管道一模一樣嘛:),還不只這個(gè),連改變當(dāng)前目錄的cd命令,也是和dos中的用法一樣,看來(lái)dos還是沒(méi)有完全拋棄UNIX的影響。cd命令的用法和dos中相似,不同的是cd和后邊的目錄(包括代表上一級(jí)目錄的.)之間必須有空格隔開(kāi)。多出幾次錯(cuò)誤信息你就會(huì)記得這一點(diǎn)了,呵呵。記住:cd. -wrongcd . or cd / -right查看當(dāng)前的路徑的命令是pwd,如前所說(shuō)的,它是bash的內(nèi)部命令,cd也是。它存在價(jià)值在于你不用時(shí)刻面對(duì)著一個(gè)可能非常長(zhǎng)的路徑,當(dāng)然你覺(jué)得有必要,也可以通過(guò)對(duì)bash的適當(dāng)配置使得它的提示符類似于dos模式。建立和刪除的目錄命令也很容易從字面上理解,建立

20、目錄使用mkdir,刪除空目錄用rmdir。注意,你建立目錄、刪除目錄的操作,都需要相應(yīng)的權(quán)限。要想做到dos下的deltree的功能,需要使用文件的刪除命令rm的遞歸刪除參數(shù)-r或-R。這個(gè)命令的基本格式是rm -option filename例如要?jiǎng)h除/tmp/newtemp所有文件和子目錄,可以使用如下命令:rm -r /tmp/newtemp這樣的話,系統(tǒng)會(huì)一個(gè)一個(gè)文件問(wèn)你是否需要?jiǎng)h除,如果你可以確信這個(gè)目錄下的所有東西都沒(méi)有保留的價(jià)值的話,你可以加上一個(gè)-f的參數(shù),表示強(qiáng)制刪除,不再詢問(wèn),如:rm -rf /tmp/newtemp (還記得我們使用多個(gè)參數(shù)的兩種方法么?)注意,在li

21、nux中沒(méi)有類似undelete的命令,不要隨意使用帶-f、-r、-R參數(shù)的rm命令哦:)文件的拷貝使用cp命令,使用的格式如下:cp -option soursefile targetfile 注意,和dos中的copy不同的是: soursefile和targetfile不能相同; cp需要使用遞歸選項(xiàng)-r來(lái)完成帶文件的目錄的拷貝; cp可以使用-u開(kāi)關(guān)來(lái)保留文檔的最新版本。當(dāng)使用-u選項(xiàng)時(shí),如果目標(biāo)文件存在且最后修改時(shí)間比源文件晚,則不覆蓋。我們常用的還有重命名操作命令,或者說(shuō)移動(dòng)文件命令,mv,格式如下:mv -option source targetmv有個(gè)非常有用的選項(xiàng) -b,表示

22、給被覆蓋的文件產(chǎn)生一個(gè)備份。cat命令用于把所給的文件以所給順序在標(biāo)準(zhǔn)輸出上輸出。格式如下:cat -ption file如果沒(méi)有設(shè)置參數(shù)file,則把從標(biāo)準(zhǔn)輸入中讀入的文件從標(biāo)準(zhǔn)輸出上輸出。如果file以一個(gè)減號(hào)來(lái)代替,則cat仍然從標(biāo)準(zhǔn)輸入上讀入數(shù)據(jù)。例如:cat - file1 - file2這個(gè)命令表示先從標(biāo)準(zhǔn)輸入讀入數(shù)據(jù),直到輸入結(jié)束字符Ctrl+d,接下來(lái)從文件file1中輸入,接著又從鍵盤輸入直到輸入結(jié)束字符,把這些結(jié)構(gòu)都輸出到file2文件中。實(shí)際上做了個(gè)在file1前后均加了一段文字然后存成了file2文件的操作。用這個(gè)命令還可以把多個(gè)文件連接在一起。例如:cat *.txt

23、 outall.txt表示把所有的txt后綴的文件按照字母順序連接起來(lái),然后再寫到outall.txt文件里。如果file選項(xiàng)是二進(jìn)制文件,而又不是把它輸出到一個(gè)文件而是標(biāo)準(zhǔn)輸出的話,由于終端可能要對(duì)不可打印字符進(jìn)行處理,可能會(huì)出現(xiàn)亂碼??梢允褂?v選項(xiàng)來(lái)解決這個(gè)問(wèn)題。這個(gè)選項(xiàng)把不可打印字符(從ASCII碼的000到037的字符)用和ASCII碼從100到137的字符組合來(lái)表示。還有三個(gè)用來(lái)顯示文件的命令,它們分別是head、tail、more。head -option file 是用來(lái)顯示文件的前面一部分的。可以使用-num選項(xiàng)來(lái)顯示前num行,也可以使用選項(xiàng)-c num使head輸出前nu

24、m個(gè)字節(jié)。其它的使用和cat相似。tail -option file 是和head對(duì)應(yīng)的顯示文件后一部分的命令。選項(xiàng)和head命令一樣。more命令就是前面我們?cè)?jīng)借助它進(jìn)行分頁(yè)顯示的命令,它也可以直接用來(lái)分頁(yè)顯示文本文檔。命令格式和前面幾個(gè)命令一樣。在顯示完一頁(yè)后,more會(huì)提示用戶輸入:如果輸入空格鍵或是f,則顯示下一頁(yè);如果輸出n加空格鍵,則用來(lái)顯示后面的n 行;回車鍵用來(lái)顯示下一行。這幾個(gè)命令都是網(wǎng)絡(luò)管理比較常用的查看日志文件的工具,可以用man命令獲得它們更詳細(xì)的幫助。還有幾個(gè)顯示二進(jìn)制文件的命令,例如od、mn和strings,你也可以通過(guò)man獲得幫助。在linux中還可以為文件

25、增加鏈接。例如目錄的兩個(gè)鏈接“.”和“.”。在目錄中,每一對(duì)文件名與索引節(jié)點(diǎn)號(hào)稱為一個(gè)鏈接(link)。同一個(gè)索引節(jié)點(diǎn)可以和多個(gè)文件名創(chuàng)建鏈接。實(shí)際上這種硬鏈接是直接創(chuàng)建了與文件(在這是目錄文件)的索引節(jié)點(diǎn)(i-node)號(hào)相聯(lián)系的鏈接。我們也可以為文件創(chuàng)造多個(gè)鏈接,這使用命令:ln -option sourse target如果不使用target參數(shù)的話,則在當(dāng)前目錄中是創(chuàng)建一個(gè)同名的鏈接文件;如果用ln產(chǎn)生幾個(gè)文件的連接,則target必須為一個(gè)目錄。只有超級(jí)用戶才能產(chǎn)生目錄間的硬鏈接。這一個(gè)功能非常有用。除了我們可以在主目錄方便訪問(wèn)我們經(jīng)常訪問(wèn)的文件,而且我們可以為重要的文件或目錄建立多

26、個(gè)鏈接,提供“防刪除”的功能,避免以為刪除造成嚴(yán)重后果。這樣做的原理是,如果一個(gè)文件(或目錄)的索引節(jié)點(diǎn)有一個(gè)以上的鏈接,刪除操作只能破壞其一,索引節(jié)點(diǎn)本身的其他鏈接仍然不受影響。當(dāng)然,如果對(duì)只有一個(gè)鏈接的文件發(fā)出刪除命令,索引節(jié)點(diǎn)、文件數(shù)據(jù)塊與目錄的連接都會(huì)被釋放,文件也真正刪除。上面的鏈接說(shuō)的都是硬鏈接,和索引節(jié)點(diǎn)號(hào)直接相關(guān)的鏈接。我們知道,每一個(gè)文件系統(tǒng)(如一個(gè)硬盤分區(qū))都有自己的索引節(jié)點(diǎn)數(shù)組,因此索引節(jié)點(diǎn)號(hào)只有在同一個(gè)文件系統(tǒng)中才是唯一的,這意味著,固定鏈接只能用在一個(gè)文件系統(tǒng)的內(nèi)部。而符號(hào)鏈接(symbolic link,又常被稱為軟鏈接)則沒(méi)有這個(gè)限制,它和windows系統(tǒng)中的快

27、捷方式非常相似,它可以用在不同的文件系統(tǒng)之中。因此,在兩個(gè)文件之間建立鏈接,如果要求保證可移植性,應(yīng)盡量使用符號(hào)鏈接??梢允褂?ln -s 來(lái)產(chǎn)生符號(hào)鏈接。 文件、目錄的屬性涉及到文件的屬性,就不可避免的關(guān)聯(lián)到用戶管理,關(guān)于這個(gè)內(nèi)容,請(qǐng)先參考專題五中的用戶管理部分,再來(lái)閱讀這一部分。linux下,每一個(gè)文件、每一個(gè)目錄都必須有一個(gè)屬主,并針對(duì)擁有文件的用戶自己、用戶所在組、其它所有帳號(hào)(組)分別設(shè)定讀、寫、執(zhí)行三種權(quán)限。例如,我(假定是usergroup組的username帳戶的擁有者)使用如下命令建立一個(gè)新的文件touch mytestfile然后我們使用ls -l mytestfile這一

28、命令來(lái)查看這個(gè)文件的權(quán)限狀態(tài)(關(guān)于ls命令,可以前面已有錯(cuò)誤,可以查閱本站的命令查詢),可以得到如下的屏幕輸出顯示:-rw-rw-r- 1 username usergroup 0 Feb 6 21:37 mytestfile輸出分為7個(gè)部分,分別表示文件權(quán)限屬性、硬連接個(gè)數(shù)、文件所有者帳戶、文件所屬組、文件大小、文件創(chuàng)建時(shí)間、文件名稱。 使用chown命令修改文件的主人當(dāng)你新建立一個(gè)文件的時(shí)候,文件的所有者當(dāng)然就是你了。這一事實(shí)只有超級(jí)用戶(比如說(shuō)root)才可以通過(guò)chown命令改變(例如 chown otheruser mytestfile,把mytestfile文件的屬主改為other

29、user)。普通用戶不能把自己的文件“送”給別人,不然你把有特殊目的的程序給了root怎么辦?:)chown命令的用法比較簡(jiǎn)單。這里我先假設(shè)你現(xiàn)在擁有超級(jí)用戶權(quán)限,那么你就可以使用如下命令將一個(gè)文件“送給”username用戶了:chown username /home/username/thefileisrootcreate.txt (假定該文件是由root創(chuàng)建的)修改一個(gè)目錄的所有者也是類似的:chown username /home/newboat當(dāng)然,如果這個(gè)目錄還有子目錄及文件需要同時(shí)送給username,chown也是支持-R參數(shù)的:chown -R username /home/

30、newboat如果你同時(shí)想修改文件/目錄所屬的組的話,你可以使用以下命令方便的達(dá)到目的:chown -R username.othergroup /home/newboat這樣,不但文件主人得到了修改,文件所屬的組也變成了othergroup 修改文件的組屬性文件所屬組你倒是可以改變,前提是:1、你的超級(jí)用戶。2、你同時(shí)屬于兩個(gè)或兩個(gè)以上的組。兩個(gè)條件你至少具備一個(gè),你才能夠把文件所屬舊組變?yōu)樾陆M。使用如下的命令將當(dāng)前目錄下所有html文件所屬的組改為httpd:chgrp httpd *.html和chown命令一樣,chgrp也可以使用-R參數(shù)對(duì)一個(gè)目錄內(nèi)的所有文件和子目錄進(jìn)行遞歸的修改組

31、屬性。:你可以使用不帶參數(shù)的groups命令查看自己屬于哪個(gè)組。文件權(quán)限的設(shè)定是我們這一小節(jié)討論的核心,我們主要介紹chmod命令的兩種用法。 使用訪問(wèn)字符串設(shè)置文件目錄權(quán)限每一個(gè)文件、目錄都針對(duì)用戶自己、用戶所在組、其它所有帳號(hào)(組)分別有讀、寫、執(zhí)行三種權(quán)限及其組合。ls -l查看文件屬性的第一個(gè)字段所示??偣彩蛔址?rw-rw-r-”,第一位是目錄區(qū)分標(biāo)志,如果是d的話,表示這是一個(gè)目錄。第二到四位分別表示文件所有者的讀(r:read)、寫(w:write)、執(zhí)行(x:execute)屬性,第五到七位是文件所屬組的讀、寫、執(zhí)行權(quán)限,第八到第十位則是其它用戶的讀、寫、執(zhí)行權(quán)限。如果對(duì)應(yīng)

32、的位是相應(yīng)的字母,就是有這相應(yīng)權(quán)限,否則為“-”,表示沒(méi)有獲得這個(gè)許可。象剛才例子中的文件就是自己可讀寫,本組可讀寫,其它用戶可讀,所有的用戶(包括自己)都不能執(zhí)行它。我們的用u、g、o分別來(lái)指代用戶(user)、組(group)、其它帳戶(other),就可以方便的設(shè)置文件和目錄的權(quán)限了。當(dāng)然,我們也可以用a來(lái)表示所有的這三項(xiàng)。 例如,我們要對(duì)所有perl的腳本文件設(shè)定權(quán)限,對(duì)所有用戶都可以讀和執(zhí)行,文件所有者還允許寫許可,那么我們可以使用如下命令:chmod a+rx,u+w *.pl注意:如果要使用多個(gè)訪問(wèn)字符串,它們之間要用逗號(hào)隔開(kāi),各個(gè)許可字符串之間不允許有空格。正如上例所示。如果要

33、修改目錄中所有文件和子目錄的權(quán)限屬性,可以使用chmod提供的-R參數(shù)來(lái)遞歸修改。例如,下列命令將/www/site1目錄及其下面的子目錄的權(quán)限屬性設(shè)定為所有者和組可讀、寫、執(zhí)行,其它用戶不可訪問(wèn):chmod -R a+rwx,o-rwd /www/site1注意,不要輕易使用-R選項(xiàng),這可能會(huì)帶來(lái)安全隱患。使用字符串方便了理解,單輸入那么多字母還是有點(diǎn)累,如果你對(duì)8進(jìn)制有些概念的話,可以使用下面介紹的方法來(lái)做權(quán)限設(shè)置。 使用八進(jìn)制數(shù)設(shè)置文件目錄權(quán)限我們知道,在ls -l的輸出中,文件權(quán)限表示為“-rw-rw-r-”,前一位只和是否為目錄或連接有關(guān),其它九位正好可以分成三段,每段三位,“rw-

34、”、“rw-”和“r-”,“-”代表無(wú)效“0”,其它字符代表有效“1”,那么這個(gè)文件的權(quán)限就是“110”、“110”、“100”,把這個(gè)2進(jìn)制串轉(zhuǎn)換成對(duì)應(yīng)的8進(jìn)制數(shù)就是6、6、4,也就是說(shuō)該文件的權(quán)限為664(三位八進(jìn)制數(shù))。我們也可以使用類似這種三位八進(jìn)制數(shù)來(lái)設(shè)定文件授權(quán),如上邊兩個(gè)例子,就也可以寫為:chmod 755 *.plchmod -R 770 /www/site1是不是很簡(jiǎn)潔?關(guān)鍵在于你能根據(jù)你需要設(shè)定的權(quán)限正確的選擇八進(jìn)制數(shù)(利用八進(jìn)制數(shù)的二進(jìn)制表示可以非常輕易的做到這一點(diǎn))。 讀、寫、執(zhí)行的權(quán)限說(shuō)明1、所謂寫的權(quán)限,也就是對(duì)文件修改和刪除的權(quán)限。如果目錄的寫權(quán)限也對(duì)你開(kāi)放了,

35、則可以創(chuàng)建、刪除或修改該目錄下的任何文件或自目錄即使該文件和子目錄并不屬于你。2、對(duì)目錄有只讀許可的用戶,不能用cd命令進(jìn)入該目錄;還必須同時(shí)有執(zhí)行許可才可以進(jìn)入該目錄。3、必須同時(shí)擁有讀和執(zhí)行權(quán)限才可以使用ls這樣的程序列出目錄內(nèi)容清單。4、只對(duì)目錄有執(zhí)行權(quán)限的用戶,想訪問(wèn)該目錄下的文件有讀權(quán)限的文件,必須知道該文件名才可以訪問(wèn)。剖析Linux系統(tǒng)啟動(dòng)過(guò)程內(nèi)容提要本文以RedHat9.0和i386平臺(tái)為例,剖析了從用戶打開(kāi)電源直到屏幕出現(xiàn)命令行提示符的整個(gè)Linux啟動(dòng)過(guò)程。并且介紹了啟動(dòng)中涉及到的各種文件。 閱讀Linux源代碼,無(wú)疑是深入學(xué)習(xí)Linux的最好方法。在本文對(duì)Linux啟動(dòng)過(guò)

36、程的介紹中,我們也嘗試從源代碼的視角來(lái)更深入的剖析Linux的啟動(dòng)過(guò)程,所以其中也簡(jiǎn)單涉及到部分相關(guān)的Linux源代碼,Linux啟動(dòng)這部分的源碼主要使用的是C語(yǔ)言,也涉及到了少量的匯編。而啟動(dòng)過(guò)程中也執(zhí)行了大量的shell(主要是bash shell)所寫腳本。為了方便讀者閱讀,筆者將整個(gè)Linux啟動(dòng)過(guò)程分成以下幾個(gè)部分逐一介紹,大家可以參考下圖:當(dāng)用戶打開(kāi)PC的電源,BIOS開(kāi)機(jī)自檢,按BIOS中設(shè)置的啟動(dòng)設(shè)備(通常是硬盤)啟動(dòng),接著啟動(dòng)設(shè)備上安裝的引導(dǎo)程序lilo或grub開(kāi)始引導(dǎo)Linux,Linux首先進(jìn)行內(nèi)核的引導(dǎo),接下來(lái)執(zhí)行init程序,init程序調(diào)用了rc.sysinit和

37、rc等程序,rc.sysinit和rc當(dāng)完成系統(tǒng)初始化和運(yùn)行服務(wù)的任務(wù)后,返回init;init啟動(dòng)了mingetty后,打開(kāi)了終端供用戶登錄系統(tǒng),用戶登錄成功后進(jìn)入了Shell,這樣就完成了從開(kāi)機(jī)到登錄的整個(gè)啟動(dòng)過(guò)程。 下面就將逐一介紹其中幾個(gè)關(guān)鍵的部分: 第一部分:內(nèi)核的引導(dǎo)(核內(nèi)引導(dǎo))Red Hat9.0可以使用lilo或grub等引導(dǎo)程序開(kāi)始引導(dǎo)Linux系統(tǒng),當(dāng)引導(dǎo)程序成功完成引導(dǎo)任務(wù)后,Linux從它們手中接管了CPU的控制權(quán),然后CPU就開(kāi)始執(zhí)行Linux的核心映象代碼,開(kāi)始了Linux啟動(dòng)過(guò)程。這里使用了幾個(gè)匯編程序來(lái)引導(dǎo)Linux,這一步泛及到Linux源代碼樹(shù)中的“arch

38、/i386/boot”下的這幾個(gè)文件:bootsect.S、setup.S、video.S等。其中bootsect.S是生成引導(dǎo)扇區(qū)的匯編源碼,它完成加載動(dòng)作后直接跳轉(zhuǎn)到setup.S的程序入口。setup.S的主要功能就是將系統(tǒng)參數(shù)(包括內(nèi)存、磁盤等,由BIOS返回)拷貝到特別內(nèi)存中,以便以后這些參數(shù)被保護(hù)模式下的代碼來(lái)讀取。此外,setup.S還將video.S中的代碼包含進(jìn)來(lái),檢測(cè)和設(shè)置顯示器和顯示模式。最后,setup.S將系統(tǒng)轉(zhuǎn)換到保護(hù)模式,并跳轉(zhuǎn)到 0x。那么0x這個(gè)內(nèi)存地址中存放的是什么代碼?而這些代碼又是從何而來(lái)的呢?0x這個(gè)內(nèi)存地址存放的是解壓后的內(nèi)核,因?yàn)镽ed Hat提供

39、的內(nèi)核包含了眾多驅(qū)動(dòng)和功能而顯得比較大,所以在內(nèi)核編譯中使用了“makebzImage”方式,從而生成壓縮過(guò)的內(nèi)核,在RedHat中內(nèi)核常常被命名為vmlinuz,在Linux的最初引導(dǎo)過(guò)程中,是通過(guò)arch/i386/boot/compressed/中的head.S利用misc.c中定義的decompress_kernel()函數(shù),將內(nèi)核vmlinuz解壓到0x的。當(dāng)CPU跳到0x時(shí),將執(zhí)行arch/i386/kernel/head.S中的startup_32,它也是vmlinux的入口,然后就跳轉(zhuǎn)到start_kernel()中去了。start_kernel()是init/main.c中的

40、定義的函數(shù),start_kernel()中調(diào)用了一系列初始化函數(shù),以完成kernel本身的設(shè)置。start_kernel()函數(shù)中,做了大量的工作來(lái)建立基本的Linux核心環(huán)境。如果順利執(zhí)行完start_kernel(),則基本的Linux核心環(huán)境已經(jīng)建立起來(lái)了。在start_kernel()的最后,通過(guò)調(diào)用init()函數(shù),系統(tǒng)創(chuàng)建第一個(gè)核心線程,啟動(dòng)了init過(guò)程。而核心線程init()主要是來(lái)進(jìn)行一些外設(shè)初始化的工作的,包括調(diào)用do_basic_setup()完成外設(shè)及其驅(qū)動(dòng)程序的加載和初始化。并完成文件系統(tǒng)初始化和root文件系統(tǒng)的安裝。當(dāng)do_basic_setup()函數(shù)返回ini

41、t(),init()又打開(kāi)了/dev/console設(shè)備,重定向三個(gè)標(biāo)準(zhǔn)的輸入輸出文件stdin、stdout和stderr到控制臺(tái),最后,搜索文件系統(tǒng)中的init程序(或者由init=命令行參數(shù)指定的程序),并使用 execve()系統(tǒng)調(diào)用加載執(zhí)行init程序。到此init()函數(shù)結(jié)束,內(nèi)核的引導(dǎo)部分也到此結(jié)束了, 第二部分:運(yùn)行init init的進(jìn)程號(hào)是1,從這一點(diǎn)就能看出,init進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn),Linux在完成核內(nèi)引導(dǎo)以后,就開(kāi)始運(yùn)行init程序,。init程序需要讀取配置文件/etc/inittab。inittab是一個(gè)不可執(zhí)行的文本文件,它有若干行指令所組成。在Redh

42、at系統(tǒng)中,inittab的內(nèi)容如下所示(以“#開(kāi)始的中注釋為筆者增加的):# inittab This file describes how the INIT process should set up# the system in a certain run-level.# Author: Miquel van Smoorenburg,# Modified for RHS Linux by Marc Ewing and Donnie Barnes# Default runlevel. The runlevels used by RHS are:# 0 - halt (Do NOT set

43、initdefault to this)# 1 - Single user mode# 2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT set initdefault to this)#表示當(dāng)前缺省運(yùn)行級(jí)別為5(initdefault);id:5:initdefault:#啟動(dòng)時(shí)自動(dòng)執(zhí)行/etc/rc.d/rc.sysinit腳本(sysinit)# System i

44、nitialization.si:sysinit:/etc/rc.d/rc.sysinitl0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4#當(dāng)運(yùn)行級(jí)別為5時(shí),以5為參數(shù)運(yùn)行/etc/rc.d/rc腳本,init將等待其返回(wait)l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6#在啟動(dòng)過(guò)程中允許按CTRL-ALT-DELETE重啟系統(tǒng)# Trap CTR

45、L-ALT-DELETEca:ctrlaltdel:/sbin/shutdown -t3 -r now# When our UPS tells us power has failed, assume we have a few minutes# of power left. Schedule a shutdown for 2 minutes from now.# This does, of course, assume you have powerd installed and your# UPS connected and working correctly.pf:powerfail:/sb

46、in/shutdown -f -h +2 Power Failure; System Shutting Down# If power was restored before the shutdown kicked in, cancel it.pr:12345:powerokwait:/sbin/shutdown -c Power Restored; Shutdown Cancelled#在2、3、4、5級(jí)別上以ttyX為參數(shù)執(zhí)行/sbin/mingetty程序,打開(kāi)ttyX終端用于用戶登錄,#如果進(jìn)程退出則再次運(yùn)行mingetty程序(respawn)# Run gettys in stand

47、ard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6#在5級(jí)別上運(yùn)行xdm程序,提供xdm圖形方式登錄界面,并在退出時(shí)重新執(zhí)行(respawn)# Run xdm in runlevel 5x:5:respawn:/e

48、tc/X11/prefdm -nodaemon以上面的inittab文件為例,來(lái)說(shuō)明一下inittab的格式。其中以#開(kāi)始的行是注釋行,除了注釋行之外,每一行都有以下格式: id:runlevel:action:process對(duì)上面各項(xiàng)的詳細(xì)解釋如下:1. idid是指入口標(biāo)識(shí)符,它是一個(gè)字符串,對(duì)于getty或mingetty等其他login程序項(xiàng),要求id與tty的編號(hào)相同,否則getty程序?qū)⒉荒苷9ぷ鳌?. runlevelrunlevel是init所處于的運(yùn)行級(jí)別的標(biāo)識(shí),一般使用06以及S或s。0、1、6運(yùn)行級(jí)別被系統(tǒng)保留:其中0作為shutdown動(dòng)作,1作為重啟至單用戶模式,6

49、為重啟;S和s意義相同,表示單用戶模式,且無(wú)需inittab文件,因此也不在inittab中出現(xiàn),實(shí)際上,進(jìn)入單用戶模式時(shí),init直接在控制臺(tái)(/dev/console)上運(yùn)行/sbin/sulogin。在一般的系統(tǒng)實(shí)現(xiàn)中,都使用了2、3、4、5幾個(gè)級(jí)別,在Redhat系統(tǒng)中,2表示無(wú)NFS支持的多用戶模式,3表示完全多用戶模式(也是最常用的級(jí)別),4保留給用戶自定義,5表示XDM圖形登錄方式。79級(jí)別也是可以使用的,傳統(tǒng)的Unix系統(tǒng)沒(méi)有定義這幾個(gè)級(jí)別。runlevel可以是并列的多個(gè)值,以匹配多個(gè)運(yùn)行級(jí)別,對(duì)大多數(shù)action來(lái)說(shuō),僅當(dāng)runlevel與當(dāng)前運(yùn)行級(jí)別匹配成功才會(huì)執(zhí)行。3.

50、 actionaction是描述其后的process的運(yùn)行方式的。action可取的值包括:initdefault、sysinit、boot、bootwait等:initdefault是一個(gè)特殊的action值,用于標(biāo)識(shí)缺省的啟動(dòng)級(jí)別;當(dāng)init由核心激活以后,它將讀取inittab中的initdefault項(xiàng),取得其中的runlevel,并作為當(dāng)前的運(yùn)行級(jí)別。如果沒(méi)有inittab文件,或者其中沒(méi)有initdefault項(xiàng),init將在控制臺(tái)上請(qǐng)求輸入runlevel。sysinit、boot、bootwait等action將在系統(tǒng)啟動(dòng)時(shí)無(wú)條件運(yùn)行,而忽略其中的runlevel。其余的act

51、ion(不含initdefault)都與某個(gè)runlevel相關(guān)。各個(gè)action的定義在inittab的man手冊(cè)中有詳細(xì)的描述。4. processprocess為具體的執(zhí)行程序。程序后面可以帶參數(shù)。第三部分:系統(tǒng)初始化在init的配置文件中有這么一行:si:sysinit:/etc/rc.d/rc.sysinit它調(diào)用執(zhí)行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個(gè)bash shell的腳本,它主要是完成一些系統(tǒng)初始化的工作,rc.sysinit是每一個(gè)運(yùn)行級(jí)別都要首先運(yùn)行的重要腳本。它主要完成的工作有:激活交換分區(qū),檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先

52、執(zhí)行任務(wù)。rc.sysinit約有850多行,但是每個(gè)單一的功能還是比較簡(jiǎn)單,而且?guī)в凶⑨專ㄗh有興趣的用戶可以自行閱讀自己機(jī)器上的該文件,以了解系統(tǒng)初始化所詳細(xì)情況。由于此文件較長(zhǎng),所以不在本文中列出來(lái),也不做具體的介紹。當(dāng)rc.sysinit程序執(zhí)行完畢后,將返回init繼續(xù)下一步。第四部分:?jiǎn)?dòng)對(duì)應(yīng)運(yùn)行級(jí)別的守護(hù)進(jìn)程 在rc.sysinit執(zhí)行后,將返回init繼續(xù)其它的動(dòng)作,通常接下來(lái)會(huì)執(zhí)行到/etc/rc.d/rc程序。以運(yùn)行級(jí)別3為例,init將執(zhí)行配置文件inittab中的以下這行:l5:5:wait:/etc/rc.d/rc 5這一行表示以5為參數(shù)運(yùn)行/etc/rc.d/rc,

53、/etc/rc.d/rc是一個(gè)Shell腳本,它接受5作為參數(shù),去執(zhí)行/etc/rc.d/rc5.d/目錄下的所有的rc啟動(dòng)腳本,/etc/rc.d/rc5.d/目錄中的這些啟動(dòng)腳本實(shí)際上都是一些鏈接文件,而不是真正的rc啟動(dòng)腳本,真正的rc啟動(dòng)腳本實(shí)際上都是放在/etc/rc.d/init.d/目錄下。而這些rc啟動(dòng)腳本有著類似的用法,它們一般能接受start、stop、restart、status等參數(shù)。/etc/rc.d/rc5.d/中的rc啟動(dòng)腳本通常是K或S開(kāi)頭的鏈接文件,對(duì)于以以S開(kāi)頭的啟動(dòng)腳本,將以start參數(shù)來(lái)運(yùn)行。而如果發(fā)現(xiàn)存在相應(yīng)的腳本也存在K打頭的鏈接,而且已經(jīng)處于運(yùn)行

54、態(tài)了(以/var/lock/subsys/下的文件作為標(biāo)志),則將首先以stop為參數(shù)停止這些已經(jīng)啟動(dòng)了的守護(hù)進(jìn)程,然后再重新運(yùn)行。這樣做是為了保證是當(dāng)init改變運(yùn)行級(jí)別時(shí),所有相關(guān)的守護(hù)進(jìn)程都將重啟。至于在每個(gè)運(yùn)行級(jí)中將運(yùn)行哪些守護(hù)進(jìn)程,用戶可以通過(guò)chkconfig或setup中的System Services來(lái)自行設(shè)定。常見(jiàn)的守護(hù)進(jìn)程有:amd:自動(dòng)安裝NFS守護(hù)進(jìn)程apmd:高級(jí)電源管理守護(hù)進(jìn)程arpwatch:記錄日志并構(gòu)建一個(gè)在LAN接口上看到的以太網(wǎng)地址和IP地址對(duì)數(shù)據(jù)庫(kù)autofs:自動(dòng)安裝管理進(jìn)程automount,與NFS相關(guān),依賴于NIScrond:Linux下的計(jì)劃任務(wù)的守護(hù)進(jìn)程named:DNS服務(wù)器netfs:安裝NFS、Samba和NetWare網(wǎng)絡(luò)文件系統(tǒng)network:激活已配置網(wǎng)絡(luò)接口的腳本程序nfs:打開(kāi)NFS服務(wù)portmap:RPC portmap管理器,它管理基于RPC服務(wù)的連接sendmail:郵件服務(wù)器sendmailsmb:Samba文件共享/打印服務(wù)syslog:一個(gè)讓系統(tǒng)引導(dǎo)時(shí)起動(dòng)syslog和klogd系統(tǒng)日志守候進(jìn)程的腳本xfs:X Window字型服務(wù)器,為本地和遠(yuǎn)程X服務(wù)器提供字型集Xinetd:支持多種網(wǎng)絡(luò)服務(wù)的核心守護(hù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論