Linux文件管理_第1頁
Linux文件管理_第2頁
Linux文件管理_第3頁
Linux文件管理_第4頁
Linux文件管理_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Linux文件管理Linux文件管理2010-05-29 12:20說明:關(guān)于Linux系統(tǒng)中文件管理的概念我認為是很重要的所謂的命令操作都是很簡單的不值得一提摘要:本講介紹Linux系統(tǒng)中文件管理的概念,包括常用命令格式、文件類型、目錄結(jié)構(gòu)、文件系統(tǒng)及其安裝。眾所周知,我們上機時是通過用戶界面與計算機打交道。用戶界面定義了用戶與計算機交流的不同方式,常見的有圖形界面、命令界面及程序界面。每個人喜歡什么樣的用戶界面取決于教育背景及經(jīng)驗。Linux提供了幾種不同的用戶界面,其中,命令界面是Linux系統(tǒng)下最簡單、但也是功能最強的用戶界面。我們經(jīng)常要利用文件來存放信息和數(shù)據(jù)、創(chuàng)建/刪除文件、打開/

2、關(guān)閉文件、讀/寫文件等,用戶最常用的操作幾乎都與文件相關(guān)。常用命令格式Linux提供了幾百條命令,雖然這些命令的功能不同,但它們的使用方式和規(guī)則都是統(tǒng)一的。Linux命令的一般格式是:命令名選項參數(shù)1參數(shù)2命令名由小寫的英文字母構(gòu)成,往往是表示相應(yīng)功能的英文單詞或單詞的縮寫。例如,date表示日期;who表示誰在系統(tǒng)中;cp是copy的縮寫,表示拷貝文件等。方括號中的部分表明對命令行來講不是必須的,即可有可無。例如,可以直接在提示符后面輸入命令date,顯示當(dāng)前的日期和時間;也可以在date命令名后面帶有選項和參數(shù),如date-s 15:30:00,設(shè)置系統(tǒng)時間為下午3點30分。選項是對命令的

3、特別定義,以-開始,多個選項可用一個-連起來,如ls-l-a與ls-la相同。命令行的參數(shù)提供命令運行的信息,或者是命令執(zhí)行過程中所使用的文件名。通常參數(shù)是一些文件名,告訴命令從哪里可以得到輸入,以及把輸出送到什么地方。如果命令行中沒有提供參數(shù),命令將從標(biāo)準(zhǔn)輸入文件(即鍵盤)接受數(shù)據(jù),輸出結(jié)果顯示在標(biāo)準(zhǔn)輸出文件(即顯示器)上,而錯誤信息則顯示在標(biāo)準(zhǔn)錯誤輸出文件(即顯示器)上??墒褂弥囟ㄏ蚬δ軐@些文件進行重定向。命令在正常執(zhí)行后返回一個0值,表示執(zhí)行成功;如果命令執(zhí)行過程中出錯,沒有完成全部工作,則返回一個非零值(在Shell中可用變量$?查看)。在Shell腳本中,可用命令返回值作為控制邏輯

4、的一部分。Linux操作系統(tǒng)的聯(lián)機幫助對每個命令的準(zhǔn)確語法都做了說明,可以使用命令man來獲取相應(yīng)命令的聯(lián)機說明,如man ls。文件系統(tǒng)概念磁盤上的文件系統(tǒng)是層次結(jié)構(gòu)的,由若干目錄和其子目錄組成,最上層的目錄稱作根(root)目錄,用/表示。1.文件與目錄的定義文件系統(tǒng)是磁盤上有特定格式的一片區(qū)域,操作系統(tǒng)通過文件系統(tǒng)可以方便地查尋和訪問其中所包含的磁盤塊。文件文件系統(tǒng)中存儲數(shù)據(jù)的一個命名的對象。一個文件可以是空文件(即沒有包含用戶數(shù)據(jù)),但是它仍然為操作系統(tǒng)提供了其它信息。目錄目錄文件中包含許多文件的目錄項,每個目錄項包含相應(yīng)文件的名字和I節(jié)點號。在I節(jié)點中存放該文件的控制管理信息。目錄支

5、持文件系統(tǒng)的層次結(jié)構(gòu)。文件系統(tǒng)中的每個文件都登記在一個(或多個)目錄中。子目錄被包含在另一個目錄中的目錄。包含子目錄的目錄稱作父目錄。除了root目錄以外,所有的目錄都是子目錄,并且有它們的父目錄。root目錄就作為自己的父目錄。文件名用來標(biāo)識文件的字符串,它保存在一個文件目錄項中。路徑名通過斜線字符(/)結(jié)合在一起的一個或多個文件名的集合。路徑名指定一個文件在分層樹型結(jié)構(gòu)(即文件系統(tǒng))中的位置。當(dāng)前工作目錄查看文件系統(tǒng)要使用一個參考點目錄,它就稱作當(dāng)前工作目錄。用ls命令可以列出當(dāng)前工作目錄中所包含的文件和子目錄的名字,這是默認方式。文件名按照ASCII碼順序列出,以數(shù)字開頭的文件名列在前面

6、,然后是以大寫字母開頭的文件名,最后是以小寫字母開頭的文件名。2.文件結(jié)構(gòu)文件是Linux操作系統(tǒng)處理信息的基本單位。所有軟件都組織成文件。(1)文件的成分無論文件是一個程序、一個文檔、一個數(shù)據(jù)庫,或者是一個目錄,操作系統(tǒng)都會賦予它如下所示的同樣的結(jié)構(gòu):索引節(jié)點又稱I節(jié)點,在文件系統(tǒng)結(jié)構(gòu)中,包含有關(guān)相應(yīng)文件的信息的一個記錄,這些信息包括文件權(quán)限、文件主、文件大小、存放位置、建立日期等。數(shù)據(jù)文件的實際內(nèi)容,它可以是空的,也可以非常大,并且有自己的結(jié)構(gòu)。(2)命名文件文件名保存在目錄文件中。Linux的文件名幾乎可以由ASC字符的任意組合構(gòu)成,文件名最長可多達255個字符(某些較老的文件系統(tǒng)類型把

7、文件名長度限制為14個字符)。下面的慣例會使管理文件更加方便。文件名應(yīng)盡量簡單,并且應(yīng)反映出文件的內(nèi)容。文件名幾乎沒有必要超過14個字符。除斜線(/)和空字符(ASCII字符)以外,文件名可以包含任意的ASC字符,因為那兩個字符被操作系統(tǒng)當(dāng)作表示路徑名的特殊字符來解釋。習(xí)慣上允許使用下線符_和句點.來區(qū)別文件的類型,使文件名更易讀。但是應(yīng)避免使用以下字符,因為對系統(tǒng)的Shell來說,它們有特殊的含義。這些字符是:;、|、$、!、%、&、*、?、(、)、。文件名應(yīng)避免使用空格、制表符或其它控制字符。同類文件應(yīng)使用同樣的后綴或擴展名。Linux系統(tǒng)區(qū)分文件名的大小寫,例如,名為letter的文件與

8、名為Letter的文件不是同一個文件。以圓點.開頭的文件名是隱含文件,默認方式下使用ls命令并不能把它們在屏幕上顯示出來。同樣,在默認情況下,Shell通配符并不匹配這類文件名。(3)文件名通配符為了能一次處理多個文件,Shell提供了幾個特別字符,稱為文件名通配符(也稱作擴展字符)。通過使用通配符可以讓Shell查詢與特別格式相符的文件名;用作命令參數(shù)的文件或目錄的縮寫;以簡短的標(biāo)記訪問長文件名;可以用于任意的命令行。主要的文件名通配符有:星號(*)與0個或多個任意的字符相匹配,例如,le*可以代表letter、lease或le。星號匹配的是當(dāng)前目錄下的所有文件,但以點.開頭的隱含文件除外。

9、.*只與隱含文件匹配。問號(?)問號只與一個任意的字符匹配,可以使用多個問號。例如,file?與文件file1、file2匹配,但不與匹配;而name.?與文件name.abc、name.xyz匹配,但不與文件name.ab匹配。方括號()與問號相似,只與一個字符匹配。它們的區(qū)別在于,問號與任意一個字符匹配,而方括號只與括號中列出的字符之一匹配。例如letter123只與文件letter1、letter2或letter3匹配,但不與文件letter12匹配。可以用短橫線代表一個范圍內(nèi)的字符,而不用將它們一一列出。例如,letter1-3是letter123的簡寫形式。但是,要注意范圍內(nèi)的字符都

10、按升序排列,即A-Z是有效的,而Z-A是無效的。方括號中可以列出多個范圍,如A-Za-z可以和任意大寫或小寫的字符相匹配。方括號中如果以驚嘆號!開始,表示不與驚嘆號后的字符匹配。上面介紹的所有符號都可以混和使用,例如,!A-Z*.?代表所有不以大寫字母開頭,但倒數(shù)第二個位置是.的文件名。文件類型Linux操作系統(tǒng)支持普通文件、目錄文件、特別文件及符號鏈接文件等文件類型。1.普通文件普通文件也稱作常規(guī)文件,包含各種長度的字節(jié)串。核心對這些數(shù)據(jù)沒有進行結(jié)構(gòu)化,只是作為有序的字節(jié)序列把它提交給應(yīng)用程序。應(yīng)用程序自己組織和解釋這些數(shù)據(jù),通常把它們歸并為下述類型之一:文本文件,由ASCII字符構(gòu)成。例如

11、,信件、報告和稱作腳本(Script)的命令文本文件,后者由shell解釋執(zhí)行。數(shù)據(jù)文件,由來自應(yīng)用程序的數(shù)字型和文本型數(shù)據(jù)構(gòu)成。例如,電子表格、數(shù)據(jù)庫,以及字處理文檔??蓤?zhí)行的二進制程序,由機器指令和數(shù)據(jù)構(gòu)成。例如,上面所說的系統(tǒng)提供的命令。使用file命令可以確定指定文件的類型。該命令可以將任意多個文件名當(dāng)做參數(shù),其一般使用格式是:file文件名文件名.2.目錄目錄是一類特殊的文件,利用它可以構(gòu)成文件系統(tǒng)的分層樹型結(jié)構(gòu)。如同普通文件那樣,目錄文件也包含數(shù)據(jù);但目錄文件與普通文件的差別是,核心對這些數(shù)據(jù)加以結(jié)構(gòu)化,它是由成對的I節(jié)點號/文件名構(gòu)成的列表。I節(jié)點號是檢索I節(jié)點表的下標(biāo),I節(jié)點中

12、存放有文件的狀態(tài)信息。文件名是給一個文件分配的文本形式的字符串,用來標(biāo)識該文件。在一個指定的目錄中,任何兩項都不能有同樣的名字。每個目錄的第一項都表示目錄本身,并以.作為它的文件名。每個目錄的第二項的名字是.,表示該目錄的父目錄。應(yīng)注意:以.開頭的文件名表示隱含文件,使用帶-a選項的ls命令可以列出它們。當(dāng)把文件添加到一個目錄中的時候,該目錄的大小會增長,以便容納新文件名。當(dāng)刪除文件時,目錄的尺寸并不減少,而是核心對該目錄項做上特殊標(biāo)記,以便下次添加一個文件時重新使用它。ls命令不會列出這些未被使用的項。3.設(shè)備文件在Linux系統(tǒng)中,所有設(shè)備都作為一類特別文件對待,用戶像使用普通文件那樣對設(shè)

13、備進行操作,從而實現(xiàn)設(shè)備無關(guān)性。但是,設(shè)備文件除了存放在文件I節(jié)點中的信息外,它們不包含任何數(shù)據(jù)。系統(tǒng)利用它們來標(biāo)識各個設(shè)備驅(qū)動器,核心使用它們與硬件設(shè)備通信。有兩類特別設(shè)備文件,它們對應(yīng)不同類型的設(shè)備驅(qū)動器:字符設(shè)備最常用的設(shè)備類型,允許I/O傳送任意大小的數(shù)據(jù),取決于設(shè)備本身的容量。使用這種接口的設(shè)備包括終端、打印機及鼠標(biāo)。塊設(shè)備這類設(shè)備利用核心緩沖區(qū)的自動緩存機制,緩沖區(qū)進行I/O傳送總是以1KB為單位。使用這種接口的設(shè)備包括硬盤、軟盤和RAM盤。設(shè)備文件的一個示例是當(dāng)前正在使用的終端,tty命令可以顯示出這個文件名。例如:$tty/dev/tty01通常,設(shè)備文件在/dev目錄之下。目

14、錄及其操作命令在Linux系統(tǒng)中,除根目錄(root)以外,所有文件和目錄都包含在相應(yīng)的目錄文件中。下面介紹Linux系統(tǒng)的目錄結(jié)構(gòu)及主要的操作命令。1.目錄結(jié)構(gòu)Linux文件系統(tǒng)采用帶鏈接的樹形目錄結(jié)構(gòu),即只有一個根目錄(通常用/表示),其中含有下級子目錄或文件的信息;子目錄中又可含有更下級的子目錄或者文件的信息。這樣一層一層地延伸下去,構(gòu)成一棵倒置的樹,如圖1所示。圖1 Linux樹型目錄結(jié)構(gòu)在目錄樹中,根節(jié)點和中間節(jié)點(用圓圈表示)都必須是目錄,而普通文件和特別文件只能作為葉子出現(xiàn)。當(dāng)然,目錄也可以作為葉子。(1)用戶主目錄當(dāng)注冊進入系統(tǒng)時,主目錄就是當(dāng)前工作目錄。主目錄往往位于/hom

15、e目錄之下,并且與注冊名相同,例如,/home/mengqc。通常主目錄包含子目錄、數(shù)據(jù)文件,以及用于注冊環(huán)境的配置文件。(2)路徑名迄今為止,所看到的文件僅是主目錄下的文件。其實,還可以利用路徑名訪問在層次結(jié)構(gòu)文件系統(tǒng)中任何地方的文件和目錄。為了訪問文件,必須告訴系統(tǒng)文件在什么地方,即保存在哪個目錄下。路徑名描述了文件系統(tǒng)中通向任意文件的路徑。有絕對路徑和相對路徑兩種路徑名。當(dāng)為命令指定文件路徑名時,需要指定兩種路徑形式的一種,不管它有多長或有多復(fù)雜。絕對路徑名在Linux操作系統(tǒng)中,每一個文件有惟一的絕對路徑名,它是沿著層次樹、從根目錄開始、到達相應(yīng)文件的所有目錄名連接而成,各目錄名之間以

16、斜線字符(/)隔開。例如,/home/mengqc/lib/func/file1。絕對路徑名總是以斜線字符(/)開頭,它表示根目錄。如果要訪問的文件在當(dāng)前工作目錄之上,那么,使用絕對路徑名往往是最簡便的方法。絕對路徑名也稱作全路徑名,使用pwd命令可以在屏幕上顯示出當(dāng)前工作目錄的絕對路徑名。例如:$pwd/home/mengqc圖2路徑名類型圖2示出路徑名的類型。絕對路徑名為/home/mengqc/lib/func/file1;相對路徑名(當(dāng)前目錄是/home/mengqc/lib)為func/file1。相對路徑名相對路徑名利用相對當(dāng)前工作目錄的路徑指定一個文件。為了訪問當(dāng)前工作目錄或其任

17、意子目錄中的文件,可以使用相對路徑名。例如,如果工作目錄是/home/mengqc/lib,為了列出目錄/home/mengqc/lib/func中的文件file1,可以使用下述命令:ls-l func/file1注意,相對路徑名不能以斜線字符(/)開頭。為了訪問在當(dāng)前工作目錄中和當(dāng)前工作目錄之上的文件,可以在相對路徑名中使用特殊目錄名.和.。.目錄表示本目錄自身,而.目錄代表該目錄的父目錄。例如,當(dāng)前工作目錄是/home/mengqc/lib,想列出/home/liu目錄的內(nèi)容,可使用命令:ls././liu提醒注意,在每個目錄中都有.目錄文件。在上面示例中,/home/mengqc/lib

18、的父目錄是/home/mengqc,后者的父目錄是/home。也可以連續(xù)使用./形式表示父目錄,直至根目錄。所以,系統(tǒng)中的每個文件都可以利用相對路徑名來命名。(3)正確使用路徑名什么情況下使用絕對路徑名,什么情況下使用相對路徑名,取決于哪種方式涉及到的目錄更少。路徑短,不僅鍵盤輸入少,而且節(jié)省系統(tǒng)搜索路徑的時間,提高執(zhí)行效率。例如,當(dāng)前的工作目錄是/etc/conf/cf.d,如果需要訪問系統(tǒng)口令文件/etc/passwd,那么使用絕對路徑名是/etc/passwd,使用相對路徑名是././passwd。絕對路徑名/etc/passwd涉及的目錄有2個,而相對路徑名././passwd涉及的目

19、錄卻是3個。此時,使用絕對路徑名更有效。但是,如果當(dāng)前工作目錄是/home/mengqc/lib,要訪問在func目錄之下的file1文件,那么使用絕對路徑名是/home/mengqc/lib/func/file1,使用相對路徑名是func/file1。絕對路徑名/home/mengqc/lib/func/file1涉及的目錄有5個,而相對路徑名涉及的目錄只有2個。此時,使用相對路徑名更有效。如果不清楚當(dāng)前工作目錄與其它目錄之間的關(guān)系,那么最好使用絕對路徑名。2.鏈接文件Linux具有為一個文件起多個名字的功能,稱為鏈接。被鏈接的文件可以存放在相同的或不同的目錄下。如果在同一目錄下,二者必須有

20、不同的文件名,而不用在硬盤上為同樣的數(shù)據(jù)重復(fù)備份;如果在不同的目錄下,那么被鏈接的文件可以與原文件同名,只要對一個目錄下的該文件進行修改,就可以完成對所有目錄下同名鏈接文件的修改。對于某文件的各個鏈接文件,我們可以給它們指定不同的存取權(quán)限,以控制對信息的共享和增強安全性。文件鏈接分為硬鏈接和符號鏈接兩種形式。(1)硬鏈接建立硬鏈接時,是在另外的目錄或本目錄中增加目標(biāo)文件的一個目錄項,這樣,一個文件就登記在多個目錄中。圖3中所示的m2.c文件就在目錄mub1和liu中都建立了目錄項。圖3文件鏈接創(chuàng)建硬鏈接后,已經(jīng)存在的文件的I節(jié)點號(inode)會被多個目錄文件項使用。一個文件的硬鏈接數(shù)可以在目

21、錄的長列表格式的第二列中看到,無額外鏈接的文件的鏈接數(shù)為1。ln命令用來創(chuàng)建鏈接。默認情況下,ln命令創(chuàng)建硬鏈接。ln命令會增加鏈接數(shù),rm命令會減少鏈接數(shù)。一個文件除非鏈接數(shù)為0,否則不會物理地從文件系統(tǒng)中被刪除。對硬鏈接有如下限制:不能對目錄文件做硬鏈接。不能在不同的文件系統(tǒng)之間做硬鏈接。也就是說,鏈接文件和被鏈接文件必須位于同一個文件系統(tǒng)中。(2)符號鏈接符號鏈接也稱軟鏈接,是將一個路徑名鏈接到一個文件。這些文件是一種特別類型的文件。事實上,它只是一個小文本文件(如圖3中的abc文件),其中包含它所鏈接的目標(biāo)文件的絕對路徑名,如圖3中虛線箭頭所示。被鏈接文件是實際上包含所有數(shù)據(jù)的文件。所

22、有讀寫文件的命令,當(dāng)它們涉及符號鏈接文件時,將沿著鏈接方向前進,找到實際的文件。和硬鏈接不同的是,符號鏈接確實是一個新文件,它具有與目標(biāo)文件不同的I節(jié)點號;而硬鏈接并沒有建立新文件。符號鏈接沒有硬鏈接的限制,可以對目錄文件做符號鏈接,也可以在不同文件系統(tǒng)之間做符號鏈接。用ln-s命令建立符號鏈接時,最好源文件用絕對路徑名,這樣可以在任何工作目錄下進行符號鏈接。當(dāng)源文件用相對路徑時,如果當(dāng)前的工作路徑和你要創(chuàng)建的符號鏈接文件所在路徑不同時,就不能進行鏈接。請注意,符號鏈接與源文件或目錄之間的區(qū)別:刪除源文件或目錄時,只刪除了數(shù)據(jù),不會刪除鏈接。一旦以同樣文件名創(chuàng)建了源文件,鏈接將繼續(xù)指向該文件的

23、新數(shù)據(jù)。在目錄長列表中,符號鏈接作為一種特殊的文件類型顯示出來,其第一個字母是l。符號鏈接的大小是其鏈接文件的路徑名中的字節(jié)數(shù)。當(dāng)用ls-l命令列出文件時,可以看到符號鏈接名后有一個箭頭指向源文件或目錄,例如:lrwxrwxrwx.14 Jun 20 10:20/etc/motd-/original_file上面代碼中,表示文件大小的數(shù)字14恰好表示源文件名/original_個字符構(gòu)成。ln命令的一般格式:ln選項源文件目標(biāo)文件鏈接的對象可以是文件,也可以是目錄。如果鏈接指向目錄,用戶就可以利用該鏈接直接進入被鏈接的目錄,而不用給出到達該目錄的一長串路徑。這樣,即使刪除這個鏈接,也不會破壞原

24、來的目錄。選項-s表示建立符號鏈接,而不是硬鏈接。注意,符號鏈接文件不是一個獨立的文件,它的許多屬性依賴于原文件,所以給一個符號鏈接文件設(shè)置存取權(quán)限是沒有意義的。(3)示例將目錄/home/mengqc/mub1下的文件m2.c鏈接到目錄/home/liu下的文件a2.c:$cd/home/mengqc$ln mub1/m2.c/home/liu/a2.c在執(zhí)行l(wèi)n命令之前,目錄/home/liu中不存在a2.c文件。執(zhí)行l(wèi)n之后,在/home/liu目錄中才有a2.c這一項,表明m2.c和a2.c已經(jīng)鏈接起來。注意,二者在物理上是同一個文件。利用ls-l命令可以看到鏈接數(shù)的變化。在目錄/ho

25、me/liu下建立一個符號鏈接文件abc,使它指向目錄/home/mengqc/mub1:$ln-s/home/mengqc/mub1/home/liu/abc執(zhí)行該命令后,/home/mengqc/mub1代表的路徑將存放在名為/home/liu/abc的文件中。3.文件或目錄的存取權(quán)限使用文件命令對文件進行操作的前提是擁有相應(yīng)的權(quán)限。下面我們介紹如何控制這些權(quán)限。(1)用戶和權(quán)限Linux為每個文件都分配了一個文件所有者,稱為文件主,并賦予文件主惟一的注冊名。對文件的控制取決于文件主或超級用戶(root)。文件或目錄的創(chuàng)建者對創(chuàng)建的文件或目錄擁有特別使用權(quán)。文件的所有關(guān)系是可以改變的,可以

26、將文件或目錄的所有權(quán)轉(zhuǎn)讓給其它用戶,但只有文件主或root用戶才有權(quán)改變文件的所有關(guān)系。文件的所有權(quán)的標(biāo)志是用戶ID(UID)。利用chown命令可以更改某個文件或目錄的所有權(quán)。例如,超級用戶把自己的一個文件myfile拷貝給用戶xu。為了讓用戶xu能夠存取這個文件,超級用戶(root)應(yīng)該把這個文件的屬主設(shè)為xu,否則,用戶xu無法存取這個文件,命令如下:chown xu myfile如果改變了文件或目錄的所有權(quán),原文件主將不再擁有該文件或目錄的權(quán)限。系統(tǒng)管理員經(jīng)常使用chown命令,以便將文件拷貝到另一個用戶的目錄下以后,讓該用戶擁有使用該文件的權(quán)限。(2)用戶組在Linux下,每個文件又

27、同時屬于一個用戶組。當(dāng)創(chuàng)建一個文件或目錄時,系統(tǒng)會賦予它一個用戶組關(guān)系,用戶組的所有成員都可以使用此文件或目錄。文件用戶組關(guān)系的標(biāo)志是GID。文件的GID只能由文件主或超級用戶(root)來修改。chgrp命令可以改變文件的GID。(3)用戶和權(quán)限Linux系統(tǒng)中的每個文件和目錄都有存取許可權(quán)限,用它來確定誰可以通過何種方式對文件和目錄進行訪問和操作。Linux系統(tǒng)中規(guī)定了四種不同類型的用戶,即文件主(owner)、同組用戶(group)、可以訪問系統(tǒng)的其它用戶(others)、超級用戶(root),具有管理系統(tǒng)的特權(quán)。存取權(quán)限規(guī)定三種訪問文件或目錄的方式:讀(r)、寫(w)、可執(zhí)行或查找(x

28、)。當(dāng)用ls-l命令顯示文件或目錄的詳細信息時,最左邊的一列為文件的存取權(quán)限,其中各位的含義如圖4所示。圖4文件權(quán)限表示文件的存取權(quán)限讀權(quán)限(r)表示只允許指定用戶讀取相應(yīng)文件的內(nèi)容,而禁止對它做任何的更改操作。將所訪問的文件的內(nèi)容作為輸入的命令都需要有讀的權(quán)限。例如cat、more等。寫權(quán)限(w)表示允許指定用戶打開并修改文件。例如命令vi、cp等。執(zhí)行權(quán)限(x)表示允許指定用戶將該文件作為一個程序執(zhí)行。目錄的存取權(quán)限在ls命令后加上-d選項,可以了解目錄文件的使用權(quán)限。讀權(quán)限(r)表示可以列出存儲在該目錄下的文件,即讀目錄內(nèi)容列表。這一權(quán)限允許Shell使用文件擴展名列出相匹配的文件名。寫

29、權(quán)限(w)表示允許用戶從目錄中刪除或添加新的文件,通常只有文件主才有寫權(quán)限。執(zhí)行權(quán)限(x)表示允許用戶在目錄中查找,并能用cd命令將工作目錄改到該目錄。(4)chmod命令chmod命令用于改變或設(shè)置文件或目錄的存取權(quán)限。只有文件主或超級用戶root才有權(quán)用chmod改變文件或目錄的存取權(quán)限。根據(jù)表示權(quán)限的方式不同,該命令有以符號模式改變權(quán)限和以絕對方式改變權(quán)限兩種用法。以符號模式改變權(quán)限chmod命令的一般格式是:chmod key文件名其中,key由以下各項組成:who操作符號mode操作對象who可以是下述字母中的任一個或它們的組合:u表示用戶(user),即文件或目錄的所有者。g表示同

30、組(group)用戶,即與文件屬主有相同組ID的所有用戶。o表示其它(others)用戶。a表示所有(all)用戶,它是系統(tǒng)默認值。操作符號可以是下述符號:+添加某個權(quán)限。-取消某個權(quán)限。=賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)。mode所表示的權(quán)限可用下述字母的任意組合:r表示可讀。w表示可寫。x表示可執(zhí)行。X表示只有目標(biāo)文件對某些用戶是可執(zhí)行的,或者該目標(biāo)文件是目錄時才追加x(可執(zhí)行)屬性。s在文件執(zhí)行時把進程的屬主或組ID置為該文件的文件屬主。方式u+s設(shè)置文件的用戶ID位,g+s設(shè)置組ID位。t保存程序的文本到交換設(shè)備上。u與文件屬主擁有一樣的權(quán)限。g擁有與文件屬主同組用戶一樣的

31、權(quán)限。o與其它用戶擁有一樣的權(quán)限。上面這三部分必須按順序輸入,可以用多個key,但必須以逗號隔開。例如:$chmod a+x ex1上面代碼表示將文件ex1的權(quán)限改為所有用戶都有執(zhí)行權(quán)限。$chmod u=r,ug=x ex1上面這行代碼表示將文件ex1的權(quán)限重新設(shè)置為文件主可以讀和執(zhí)行,組用戶可以執(zhí)行,其它用戶無權(quán)訪問。以絕對方式改變權(quán)限以絕對方式改變權(quán)限一般格式是:chmod mode文件名用絕對方式設(shè)置或改變文件的存取權(quán)限就是用數(shù)字1和0表示圖4中所示的9個權(quán)限位,置為1表示有相應(yīng)權(quán)限,置為0表示沒有相應(yīng)權(quán)限。例如,某個文件的存取權(quán)限是文件主有讀、寫和執(zhí)行的權(quán)限,組用戶有讀和執(zhí)行的權(quán)限,

32、其它用戶僅有讀的權(quán)限。用符號模式表示就是rwxr-xr-,用二進制數(shù)字表示就是111101100。為了方便記憶和表示,通常將這9位二進制數(shù)用等價的3個從0到7的八進制數(shù)表示,即從右到左3個二進制數(shù)換成一個八進制數(shù)。這樣,上述二進制數(shù)就等價于八進制數(shù)754。也就是說,mode是以3位八進制數(shù)字出現(xiàn)的,最左位表示文件主權(quán)限,中間位表示組用戶權(quán)限,最右位表示其它用戶權(quán)限。例如,chmod 664 ex1使文件ex1的文件主和同組用戶具有讀寫權(quán)限,但其它用戶只可讀。umask命令umask命令用來設(shè)置限制新建文件權(quán)限的掩碼。其一般格式是:umask mode當(dāng)新文件被創(chuàng)建時,其最初的權(quán)限由文件創(chuàng)建掩碼

33、決定。用戶每次注冊進入系統(tǒng)時,umask命令都被執(zhí)行,并自動設(shè)置掩碼mode來限制新文件的權(quán)限。用戶可以通過再次執(zhí)行umask來改變默認值,新的權(quán)限將會把舊的覆蓋掉。利用umask命令可以指定哪些權(quán)限將在新文件的默認權(quán)限中被刪除。例如,可以使用下面的命令創(chuàng)建掩碼,取消組用戶的寫權(quán)限以及其他用戶的讀、寫和執(zhí)行權(quán)限:umask u=,g=w,o=rwx執(zhí)行該命令以后,下面所建新文件的文件主權(quán)限未作任何改變,而組用戶沒有寫權(quán)限,其它用戶的所有權(quán)限都被取消。應(yīng)注意,在umask命令和chmod命令中,操作符=的作用恰恰相反。在chmod中,利用它來設(shè)置指定的權(quán)限,而其余權(quán)限都被取消;但是在umask命

34、令中,它將在原有權(quán)限的基礎(chǔ)上把指定的權(quán)限刪除。不能直接利用umask創(chuàng)建一個可執(zhí)行的文件,用戶只能在其后利用chmod命令使它具有執(zhí)行權(quán)限。假設(shè)執(zhí)行了下面命令:umask u=,g=w,o=rwx雖然在命令行中,文件主和組用戶的執(zhí)行權(quán)限沒有被刪去,但默認的文件權(quán)限還是640(即rw-r-),而不是750(rwxr-x-)。但是,如果創(chuàng)建的是目錄,或者通過編譯程序創(chuàng)建一個可執(zhí)行文件,將不受此限制。在這種情況下,文件的執(zhí)行權(quán)限會被設(shè)置。此外,也可以使用八進制數(shù)值來設(shè)置mode。在umask中所指定的權(quán)限表示要刪除的權(quán)限,所以,如果一個文件原來的初始權(quán)限是777,那么執(zhí)行命令umask 022以后,

35、那么該文件的權(quán)限將變?yōu)?55;如果該文件原來的初始權(quán)限是666,那么該文件的權(quán)限將變?yōu)?44。使用下面的命令可以檢查新創(chuàng)建文件的默認權(quán)限:umask-s上面命令中,選項-s表示以字符形式顯示當(dāng)前的掩碼。如果直接輸入umask命令,不帶任何參數(shù),那么將以八進制形式顯示當(dāng)前的掩碼。系統(tǒng)默認的掩碼是0022。文件系統(tǒng)及其安裝一個硬盤上可以同時存在多個文件系統(tǒng),每個文件系統(tǒng)占據(jù)硬盤的一個獨立分區(qū)。Linux文件系統(tǒng)可以根據(jù)需要隨時裝卸,從而實現(xiàn)文件存儲空間的動態(tài)擴充和信息安全。在系統(tǒng)初啟時,往往只有一個文件系統(tǒng)被安裝上,即根文件系統(tǒng),其上的文件主要是保證系統(tǒng)正常運行的操作系統(tǒng)的代碼文件,以及若干語言編譯程序、命令解釋程序和相應(yīng)的命令處理程序等構(gòu)成的文件,此外,還有大量的用戶文件空間。根文件系統(tǒng)一旦安裝上,則在整個系統(tǒng)運行過程中是不能卸下的,它是系統(tǒng)的基本部分。其它的文件系統(tǒng)(例如,由軟盤構(gòu)成的文件系統(tǒng))可以根據(jù)需要(如從硬盤向軟盤復(fù)

溫馨提示

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

評論

0/150

提交評論